什么是Web开发的最佳框架?

时间:2009-08-13 14:12:43

标签: .net ruby-on-rails jsp

我想进入网络开发并试图选择一个框架到游乐场,以及开发复杂的网络应用程序。

我正在考虑以下事项:

  • 使用ASP.NET MVC的C#。
  • Ruby on rails
  • 的Tomcat / servlet的/ JSP

目前,我打算在Windows上运行它,但可能会将其迁移到Linux。我希望他的框架能够相当直观地开发,连接到db(可能是mysql),良好的文档。并且正如用户之一所提到的那样,

什么样的开发环境会迫使我培养良好的编程习惯和可靠的可维护代码?

您如何比较上述框架?

一如既往,欢迎提出建议。

由于

18 个答案:

答案 0 :(得分:5)

我会投票支持基于Python的Web框架。看看Django。它与Ruby on Rails非常相似,但Python是一种更好的语言(在我看来),并且Python民谣非常好用且乐于助人。 Django文档/教程非常好,但你也可以查看这个Book

答案 1 :(得分:3)

使用Ruby on Rails(RoR)。

  • 很容易(少即是多)
  • 便携式
  • 适用于mysql

答案 2 :(得分:2)

在Python方面,只需几行代码就可以启动并运行一个简单的CherryPy应用程序。简单是这里的关键词,仅作为一个例子:

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

为您提供一个独立的python脚本文件,该文件运行自己的HTTP服务器,内置于您的应用程序及其周围的所有管理员。

答案 3 :(得分:2)

.NET和JSP都不是框架本身。 Rails是一个框架(我个人很喜欢)。在.NET中,您可能最终将C#与ASP.NET MVC结合使用。

如果你知道任何一种语言,这可能不是一个糟糕的起点。否则,Rails是好的。如果你对生活中的Python方面感兴趣,我已经听过关于Django的事情了。另一个想法可能是从较少的抽象层开始,比如纯PHP,这样你就可以了解HTTP的工作原理。

答案 4 :(得分:1)

这是非常主观的,但是JSP和朋友们对新手来说很困惑。对RoR或.Net

一无所知

答案 5 :(得分:1)

我认为你问的是错误的问题,因为所有常见的网络语言都有很好的可靠框架。你应该问的问题是:

什么样的开发环境会迫使我培养良好的编程习惯和可靠的可维护代码?

考虑到这一点,我会选择Python,可能会Pylons。没问题。

理性? C#和Java太复杂了,如果你不打算学习,你会花费大量的时间来研究细节 - 太过于掌握良好的整体风格。 Ruby / ROR很好,但可能有点限制第一语言,并且Windows上的实现无论如何还不是最优的。 PHP也被提到 - 尽管偏见可以用来开发可靠的代码,但它并不鼓励它: - )

另一方面,Python会迫使你采用好的风格,语法简单,得到广泛支持并具有很高的杠杆作用 - 它可以快速完成任务。

答案 6 :(得分:1)

你现在知道的语言是否很好并且想继续使用?如果是这样,请查看该语言可用的框架。

我更喜欢ASP.NET MVC,但是发现它是如此松散耦合,你需要真正学习一些东西来使用适当的堆栈和最佳实践来构建一些东西。现在,如果您计划构建较小的“一次性”项目,可以从ASP.NET MVC开始,使用Linq to SQL,默认成员资格提供程序,不使用IoC来习惯框架,然后再添加IoC并切换ORM。 / p>

如果您在学习框架的同时学习语言,我建议您可以开箱即用整个堆栈。例如,我听说过关于Django的好消息。

答案 7 :(得分:1)

如果您正在学习一项新技术,那么您将投入一些时间,因此值得一看,您将来可能会对该技能有什么工作前景。

目前似乎asp.net和RoR中有相当多的工作。

如果您选择ASP.NET,则可以选择新的MVC framework,并了解.NET Framework和C#(除非您选择其他语言)。

所以我推荐使用ASP.NET MVC。

答案 8 :(得分:0)

我会推荐Ruby on Rails。观看Creating a Blog in 15 Minutes上的视频。这是一个很好的基础介绍,我认为它展示了Rails提供的强大功能和易用性。

答案 9 :(得分:0)

如果有可能迁移到Linux,那么我认为C#不是一个好主意。

JSP有点复杂。不建议。

Ruby on Rails很好,但需要你深入研究“神奇”才能完成复杂的任务。

我正在考虑启动Turbo Gears 2项目,这是一个基于Pylons和其他技术的Python堆栈。

答案 10 :(得分:0)

我不确定你的背景,但如果你是开始进行网页开发我会推荐PHP。就像manitoba98所说,它的抽象性较低,是Web开发的良好起点。无需编译,只需将文件上传到服务器即可直接运行。如果你想在本地运行它们,XAMPP会在两分钟后安装,就像魅力一样。它与mysql完美集成,具有良好的文档,并被广泛使用。

在我开始使用PHP时,我个人发现学习服务器/客户端的区别比较简单。

答案 11 :(得分:0)

好吧,之前没有人提到它,所以我愿意。

为什么不用PHP?使用像CodeIgniter这样的框架,很容易开始使用Web开发,并且有大量的PHP Web主机可用,甚至是廉价的。

答案 12 :(得分:0)

对于Java世界,请尝试: 1. Grails(在铁轨上很时髦......就像铁轨上的红宝石,但有java的味道) 2. Tapestry(MVC也是如此) 3. Struts(MVC)

对于php我会推荐YiiFramework,CakePhp或CodeIgniter ...怎么说PHP是为坏男孩:)我觉得php 5.3现在好多了

答案 13 :(得分:0)

我是“老派程序员/新学校爱好者”的同事,我正在寻找ramaze而不是rails,因为它似乎更好地平衡了灵活性和“魔力”。

http://ramaze.net/

答案 14 :(得分:0)

Struts 2是一个可靠的Java MVC框架。我刚开始在六月使用它,我必须说我对它印象深刻。我推荐的另一个Java是Java Server Faces。我过去曾经使用过它,但我必须说我认为我会在Java Server Faces之前使用Struts 2.

为了支持这些MVC框架,我建议使用hibernate之类的ORM。

答案 15 :(得分:0)

Ruby on Rails

我建议你选择 Ruby on Rails ,因为

  • 易于学习,意味着您可以快速开发非常强大的应用程序
  • 它是可移植的,因此您可以在Windows和Linux上运行它

另一个很好的理由是,它是开源的,所以你不必为.NET支付任何费用。

Ruby on Rails 也与 MySQL

进行了很好的集成

至于开发环境, NetBeans 有一些非常好的Ruby on Rails支持。

ASP.NET

ASP.NET MVC 也是一个不错的选择,但主要的缺点是当你想制作商业广告时,你必须购买许可证,这不便宜,所以开始工作很难商业自己。

Django的

最后一个选项,你没有提到的是 Django ,这大部分都像是Rails的Python版本(是的,我会因为这样说而在地狱中燃烧)。 Django和 Ruby on Rails 都遵循MVC,所以这是品味问题。

JSP

建议从 JSP 开始,因为它不会强制任何好的编程习惯。

答案 16 :(得分:0)

这个问题没有最终答案。大多数人会简单地引用他们之前的经验,并使他们的首选外观吸引人我正在使用带有Tomcat的Stripes和用于IDE的IntelliJ IDEA。不能更快乐。易于学习,快速开发和强大的语言(Java)。

答案 17 :(得分:0)

我的建议是将Adobe Flex用于与后端配对的客户端UI。 Flex的一些高级优势:

  • 浏览器兼容性:任何带有Flash播放器的浏览器都会运行该网站(目前我认为超过90%)。无需用html / css捏造。
  • 数据绑定:Flex框架最强大的套装是动态可扩展数据绑定。此外,他们的数据网格是我遇到的最强大的,没有排序,重新排列,调整大小,分页等......开箱即用。
  • 服务器端技术:Flex可以与任何服务器端技术结合使用,用于后端操作(Java,PHP,RESTful Web服务和Coldfusion等等)
  • 开源:flex是开源的(但是,购买基于eclipse的Flash Builder通常是个好主意)
  • 自定义:每个Flex组件都可以完全自定义和换肤。适用于不希望与其他人看起来一样的商业应用程序。
  • 桌面:使用Adobe AIR桌面环境,用户可以与操作系统进行交互。
  • Java后端:当前使用最广泛,功能最强大且支持的服务器端语言之一