决策者问题:在 Web UI 控件上比较 ASP.NET / Ruby / Python
Posted
技术标签:
【中文标题】决策者问题:在 Web UI 控件上比较 ASP.NET / Ruby / Python【英文标题】:Decision maker question: compare ASP.NET / Ruby / Python on web UI controls 【发布时间】:2010-07-30 08:59:45 【问题描述】:我需要学习一种语言来编写网络应用程序(不是网站!)。
在对 google 和 *** 进行了一些研究后,我最终认为选择应该属于:
1) Ruby + Rails
2) Python + Django
3) c# + ASP.NET
当然,即使随机选择一个也不会是一个糟糕的选择,但我的问题是针对 UI 控件的。我来自 win32 developermenet 世界,所以在我过去的经验中,我曾在 DevExpress 和 Telerik 等销售 ASP.NET(或 silverlight)控件的网站上工作,如高级网格、调度组件、树列表......
所以涵盖了 ASP.NET,因为我目前完全不知道 Ruby/Python,您能否请您对 UI 方面有所了解?我的意思是在这些世界中如何管理 UI 控件?在哪里可以找到它们?
一切都是使用 ExtJS 或 JQuery 之类的库完成的吗?它是如何工作的? (这是一个新手问题,所以请原谅过于简单的方法)。
【问题讨论】:
【参考方案1】:Ruby on Rails 是一个服务器端框架,用于处理 HTTP 请求并使用 html† 进行响应。它没有您所指的那种 UI 控件的任何概念。
但是,它可以与 ExtJS 或 jQuery 等 javascript 框架集成,并且有一些 Rails 插件或 RubyGems 可以使这种集成更容易。例如,this Railscast 显示了在 Rails 应用程序中使用日历的示例。
†通常是 HTML。它还可以用 XML、JSON、文本或任何你喜欢的东西来响应。
【讨论】:
【参考方案2】:HTML 仅提供一些“默认控件”。例如下拉菜单、按钮、超链接和复选框。
必须使用 javascript 和图像的组合在页面顶部构建更精细的控件,例如网格或树列表。有几个库可以这样做,我最喜欢的是jquery UI。
Ruby + Rails 不包含任何“开箱即用”的复杂 UI 元素(只是简单的控件),但包含 jquery UI(或任何其他 javascript 库)并不是很困难。
我对 Python 和 Django 没有太多经验,但它们的历史大致相同:默认情况下,它们没有“高级控件”;他们只是提供常规的 html 控件。
我对 ASP.NET 的经验甚至更少。它很可能附带一个 UI 库 - 您必须查看它。
我还有其他一些评论:您可能过于重视 UI 元素。 Web 应用程序与网站的区别不在于它使用这个或那个控件。这是发生在服务器端的事情。这可能是您将大部分时间花在开发东西上的地方。
考虑到这一点,我建议您重新考虑您的问题。与其问自己“什么让我更容易获得更多 UI 元素”,不如问问自己“什么让我更轻松地开发服务器端”。
我对第二个问题的回答是“可能是 Ruby on Rails”。一开始它附带的东西的数量可能并不明显,但它强制执行了许多良好的实践——从命名约定到测试,再到不显眼的 javascript(主要是在 rails 3.0 上的那个)。名单还在继续。最重要的是,它的社区非常棒。
无论如何,请注意这只是我的观点,我对其他 2 个系统的经验并不丰富 - 我只是给了他们一些探索性的看法。您应该使用其他来源进行检查。
【讨论】:
感谢您的回复,但我不会修改我的问题,因为“修改后的问题”已经被问过很多次了。所以不知何故你回答了我的问题,因为你告诉我 jquery 或 extjs 是非 ASP.NET 世界的“高级 UI”(当然在 ASP.NET 中它们也可以使用,但正如我提到的,还有其他选择)。 我不想暗示你应该修改你的问题;只是也许你应该重新考虑你的优先事项。你的问题很好。 我不是一名全职开发人员,我也花很多时间与客户和很多人接触,因为 UI = 应用程序,这就是为什么我对这些技术有 UI 偏见的看法。跨度> 【参考方案3】:如果您已经熟悉 C# 和 ASP.NET,为什么不使用它?
当然,如果您了解 Python,Django docs 是一个好的好起点。即使您不了解 Python,它们至少也会让您了解如何学习/使用 Python+Django。
HTH!
【讨论】:
以上是关于决策者问题:在 Web UI 控件上比较 ASP.NET / Ruby / Python的主要内容,如果未能解决你的问题,请参考以下文章