我对asp.net很有经验,并希望学习一门专注于Web开发的新语言。
许可和托管成本是我想使用不依赖于微软的东西的原因,所以基于开源技术的东西是一个优点。我对PHP有一点经验并且不喜欢它,但我想我可以说服其他。
基本上,我想了解人们对未来网络开发的最佳语言的看法,包括长期性,资源,框架,托管等。
答案 0 :(得分:9)
就像其他行业一样,没有“最佳”选择 - 所有框架都有自己的优势和劣势。 基本上,在Web开发方面,有4个稳定的技术堆栈:
随着所有网络的发展,问题归结为您想要实现的目标,以及您/您的团队的经验。从统计数据来看,PHP往往是最受欢迎的选择,因为任何随机开发人员都可以相当容易地选择它(与其他选项相比),深入代码库,并立即修复/破解。再次,YMMV,做研究,而不是征求意见。
答案 1 :(得分:8)
Django是一种越来越流行的Web开发解决方案。它还与Google App Engine兼容,这使得部署比运行自己的硬件更简单。
答案 2 :(得分:6)
在我看来(并且是意见),没有什么能比公司网站开发的Java / J2EE更胜一筹。
这些工具非常好(Eclipse及其同类产品是开源的),并且对架构有很好的理解。
尽管甲骨文收购了Sun,但Java不会很快消失,因此可以延长使用寿命。资源和框架,你只需谷歌看看J2EE实际上有多少 - 这是一个令人印象深刻的数量(所以在所有渣滓中必然会有一些块)。至于托管,您可以选择各种Web /应用程序服务器。
顺便说一句,我们使用Eclipse来创建我们的J2EE应用程序,在客户端使用jQuery为UI pizazz提供。
答案 3 :(得分:1)
Ruby on Rails可能是最令人大开眼界的体验。其乐无穷。唯一的缺点是你可能没有“得到它”(特别是“为什么x这样做”)至少没有购买实用程序员预订带有Rails的敏捷Web开发。
答案 4 :(得分:0)
如果你想自由选择Java / J2EE。然而,这不值得打扰。把钱拿出去更容易。我在托管之前使用aspspider进行测试。
答案 5 :(得分:0)
如果实施得当,JavaScript可以成为一个很好的支柱。
Perl可以提供未包含在其他语言中的高级功能。
Java很好但有时候很慢,如果您决定在其中编写大部分代码,请小心。
答案 6 :(得分:0)
这是我的两分钱,作为一名网页设计师/前端工程师,我“升职”。我熟练掌握了客户端技术。然后面对一个我必须为完整堆栈编写代码的项目,我选择了PHP。很长一段时间我都希望我选择Python,因为我从其他人那里听到从根本上说是低劣的PHP,但是一旦我坐下来思考它,我意识到我的PHP应用程序写得很好。
PHP就是你创造的。它永远不会有编译语言的速度,但99%的解释语言都是如此。此外,当您考虑它时,对于大多数Web应用程序来说,加载页面时浪费的最大时间不是解析脚本语言的服务器,而是通过线路和浏览器绘制屏幕的数据传输(通过渲染您的井或写得不好的CSS / JS)。
所以我的判断,对于大多数Web应用程序,我建议使用一个好的PHP框架,如Symfony framework和Doctrine ORM。这种方法强制您编写“好的代码”。如果您正在为高盛(Goldman Sachs)编写一份申请flash-trading,那么您可能需要一种编译语言。我在想Pascal或Ada。
注意:我将学习许多其他语言,python,perl等。如果我在两年内仍然同意这个答案,那将会很有趣。
答案 7 :(得分:0)
专业托管可能不会发现从一个平台到另一个平台的价格存在显着差异(至少在比较.NET,Java EE,php等时)。 数据库,合格技术人员,硬件基础设施等的成本远远超过操作系统和您必须承担的可能的应用程序服务器许可证。
也就是说,php和rails可能看起来比.NET和Java EE便宜(我没有看到很多托管服务提供商提供其他服务,比如Python),因为在这个细分市场中有更多提供低成本,低服务,包。 与Java EE相比,尤其是通常针对高端客户的Java EE,可以降低正常运行时间,降低带宽等。 当Home Depot选择Java EE时,可以想到将php提供给邻近的DIY商店,因为他们希望获得全天候可用性并期望更多的访问者。 当然,这个套餐会花费更多,但是你可以得到你付出的代价。
使用php开发相同的软件包可能是可能的(从未尝试过,我是一个从事大型企业和(半)政府应用程序的全职Java EE开发人员),托管它的最终成本几乎相同(特别是如果你选择使用相同的RDBMS作为后端,而不是phps默认的mySQL而Java EE项目倾向于转向Oracle和其他高端产品,但即使有这种差异,这也不是运行成本的主要因素通过托管服务提供商的硬件架构,网络使用等(如果我们假设由于应用程序错误/功能请求等而支持调用次数相同)。)