2009-07-01 28 views
4

我对asp.net有合理的经验,并希望学习一门专注于web开发的新语言。为Web开发选择非微软语言?

许可和托管成本是为什么我想使用不依赖于微软的东西,所以基于开源技术的东西是一个优点。我对PHP有一点点经验,并不喜欢它,但我想我可以说服其他方面。

基本上我想知道对未来网络的发展与问候longivity的最好的语言人民的意见,资源,框架,托管等

+0

它的方式,这个问题只会导致意见 - 如果你会问这样一个特定的问题,这将导致更好的答案 – 2009-07-01 00:59:47

+2

ASP.NET虚拟主机价格相当于基于Linux的托管并且您可以使用Microsoft的免费工具开发Microsoft解决方案。唯一合理的投诉不依赖于微软。但是ASP.NET MVC框架是开源的。 使用Java,PHP,C(CGI)和Ruby我很满意ASP.NET MVC。 – Talljoe 2009-07-01 01:05:58

+0

我打算在将来使用asp.net mvc,但仍然会喜欢一些微软域外的经验。 – 2009-07-01 01:11:29

回答

9

就像其他行业一样,没有“最好”的选择 - 所有的框架都有自己的优势和弱点。 基本上,当它涉及到网络开发,有4层稳定的技术堆栈:

  • ASP.NET - 你已经知道了
  • PHP:强度:Web开发标准,并缩放它非常高的水平时不仅可能,而且容易。有据可查,并且大量的库已经可用。缺点:由于易于获得基础知识,周围社区比较不喜欢,这导致了几个代码基地,比最佳的代码基地更少。但是,这可以得到改善。
  • Java/J2EE:优势:稳定的可扩展性,一个非常大且多样化的工具集。弱点:为你的情况选择最优化的堆栈可能很难;托管成本可能会高于PHP
  • Python以及Django
  • 并且+1是Ruby;陪审团仍然与这一个。

随着所有网站的发展,这个问题归结为你想达到什么,以及你/你的团队有什么经验。从统计的角度来看,PHP往往是最流行的选择,因为任何随机开发人员都可以轻松地拿起它(与其他选项相比),潜入代码库并立即修复/破解事物。再次,YMMV,做研究,而不是征求意见。

6

在我看来(这意见),没有什么比企业Web开发的Java/J2EE更胜一筹。

这些工具非常好(Eclipse及其同类软件都是开源的),并且该架构非常了解。尽管甲骨文收购Sun,但Java不会很快消失,因此可以延长使用寿命。资源和框架,你只需要谷歌,看看J2EE有多少实际 - 这是一个令人印象深刻的数额(所以这一定是一些掘金之间的所有糟粕)。至于托管,您有广泛的Web /应用程序服务器可供选择。另外,我们使用Eclipse来使用jQuery在我们的J2EE应用程序中抽取客户端上的UI pizazz。

8

Python,其框架如Django,是一个日益流行的Web开发解决方案。它也与Google App Engine兼容,这使得部署比运行自己的硬件更简单。

0

如果你想免费去Java/J2EE。然而这不值得费心。掏出钱更容易。在托管之前,我使用aspspider进行测试。

0

如果执行得当,JavaScript可能是一个很好的主干。

Perl可以提供未包含在其他语言中的高级功能。

Java虽然不错,但有时速度很慢,如果您决定编写大部分代码,请小心。

1

Ruby on Rails可能是最让人大开眼界的体验。其乐无穷。唯一的缺点是你可能不会“得到它”(尤其是“为什么x这样做”),而至少没有购买实用程序员使用Rails进行敏捷Web开发的书。

0

这是我的两毛钱,我“成为了网络设计师/前端工程师”。我精通客户端技术。然后面对一个项目,我必须为整个堆栈编写代码,我选择了PHP。很长一段时间,我希望我选择Python,因为我从其他人那里得知 PHP是如何根本性地劣势,但是一旦我坐下来思考它,我意识到我的PHP应用程序写得很好。

PHP是你做它。它永远不会有编译语言的速度,但对于99%的解释型语言来说,情况也是如此。此外,当您考虑它时,对于大多数Web应用程序来说,加载页面时最大的浪费时间不是解析脚本语言的服务器,而是通过网络和浏览器传输数据以绘制屏幕(通过渲染您的井或写得不好的CSS/JS)。

所以我的判决,对于大多数web应用程序,我推荐使用一个好的PHP框架,如Symfony framework与Doctrine ORM。这种方法会强制你写出“好的代码”。如果您正在为高盛撰写应用程序flash-trading,那么您可能需要一种编译语言。我在想帕斯卡或阿达。

注意:我将学习许多其他语言,python,perl等。如果我在两年内仍然同意这个答案,这将会很有趣。

0

从一个平台到下一个平台(至少在比较.NET,Java EE,php等)时,专业托管可能不会在价格上看到显着差异。 数据库,合格技术人员,硬件基础架构等的成本远远超过操作系统和可能的应用程序服务器许可证的成本。

也就是说,php和rails可能看起来比.NET和Java EE更便宜(我还没有看到许多托管提供商提供像Python这样的其他服务),因为该市场中有更多的提供低成本,低服务,包。 与Java EE相比,较低的正常运行时间保证,较低的带宽等,通常针对高端客户。 当Home Depot选择Java EE时,想到PHP被提供给邻居DIY商店,因为他们想要24/7可用性并期望有更多的访问者。 当然,这个软件包的成本会更高,但是你得到的是你所支付的。

使用php开发相同的包也是可能的(从未尝试过,我是一个从事大型企业和(半)政府应用程序的全职Java EE开发人员),托管它的最终成本几乎相同(特别是如果您选择使用相同的RDBMS作为后端,而不是使用phps默认的mySQL,而Java EE项目倾向于向Oracle和其他高端产品倾斜,但即使存在差异,这也不是决定运行成本的主要因素主要是由主机提供商的硬件架构,网络使用情况等(如果我们假设由于应用程序错误/功能请求等原因支持的呼叫数目相似))。