决策者问题:比较ASP.NET/Ruby/Python的网页UI控件
我需要学习一种编写网络应用程序的语言(不是网站!)。
经过在谷歌和StackOverflow上的一些研究,我发现可以选择的语言有:
1) Ruby + Rails
2) Python + Django
3) C# + ASP.NET
其实随便选一个都不会是个坏选择,但我这里的问题主要是关于用户界面控件的。我之前是在win32开发的环境中工作,所以我过去常常在像DevExpress和Telerik这样的网站上,购买ASP.NET(或者Silverlight)控件,比如高级表格、日程组件、树形列表等等。
所以ASP.NET这一块我已经了解了,但Ruby和Python对我来说完全是陌生的,能不能帮我讲讲这两种语言在用户界面方面是怎么处理的?也就是说,在这些环境中,用户界面控件是如何管理的?在哪里可以找到这些控件?
所有的控件都是通过像ExtJS或jQuery这样的库来实现的吗?它是怎么工作的?(这是个新手问题,所以请原谅我过于简单化的提问)。
3 个回答
如果你已经对C#和ASP.NET很熟悉,那为什么不继续用它呢?
当然,如果你会Python的话,Django的文档是个很不错的起点。即使你对Python不太了解,这些文档至少能让你大概明白学习和使用Python+Django需要什么。
希望对你有帮助!
Ruby on Rails 是一个服务器端的框架,它的主要工作是处理 HTTP 请求,并用 HTML 来回应这些请求。它并没有你提到的那种用户界面控件的概念。
不过,它可以和一些 JavaScript 框架,比如 ExtJS 或 jQuery 结合使用,还有一些 Rails 插件或 RubyGems 可以让这种结合变得更简单。例如,这个 Railscast 就展示了如何在 Rails 应用中使用日历的例子。
†通常是 HTML。它也可以用 XML、JSON、文本或者你想要的任何格式来回应。
HTML只提供了一些“默认控件”。比如下拉菜单、按钮、超链接和复选框。
更复杂的控件,比如表格或树形列表,需要通过结合使用JavaScript和图片来构建。这方面有很多现成的库,我最喜欢的是jquery UI。
Ruby和Rails默认不包含任何复杂的用户界面元素(只有一些基本控件),但加入jquery UI(或其他JavaScript库)其实并不难。
我对Python和Django的经验不多,但情况大致相同:它们默认也没有“高级控件”,只提供常规的HTML控件。
我对ASP.NET的了解更少。它可能自带一个用户界面库——你需要自己去查一下。
我还有几点想说:你可能对用户界面元素看得太重了。一个网页应用和一个普通网站的区别,不在于使用了什么控件,而在于服务器端发生的事情。其实,你大部分时间会花在开发这些服务器端的内容上。
考虑到这一点,我建议你重新思考你的问题。与其问“哪个能让我更容易获得更多的用户界面元素”,不如问“哪个能让我在开发服务器端时更轻松”。
我对第二个问题的回答是,“可能是Ruby on Rails”。它提供的功能一开始可能不太明显,但它强制执行很多好的开发习惯——从命名规范到测试,再到不干扰的JavaScript(主要是在Rails 3.0中)。这个列表还在继续。而且,它的社区也非常棒。
总之,请注意这只是我的个人看法,我对另外两个系统的经验不多——只是简单了解了一下。你应该查阅其他来源来获取更多信息。