开发大型web应用,你会选择什么作为后端语言?
发表时间:2013-12-31
发布人:葵宇科技
浏览次数:34
本文是转载,原文地址:http://www.iteye.com/news/25729
近日,Hacker News中有一个问题引起了广泛的讨论:如果要开发一个大型的web应用程序,你会选择什么编程语言来进行后端开发,要考虑到开发时间、成本和可维护性。
以下是部分回复:
1. Java
尽管不像Rails/Django那么时髦,但是你将得益于众多高性能、可靠的Java库,更不用说那些伟大的分析工具。
meddlepal 写道 我同意,我会选择Java来开发核心功能,对于一些非核心功能,我可能会选择Groovy或JRuby。
Jersey/JAX-RS非常不错,但我感觉有些风险,我更倾向于Play2。
Java/JVM生态系统中有很多非常积极的东西,如伟大的虚拟机、库、庞大的社区以及大量的开发者。这是开发一个大型web应用真正要考虑的。
2. .NET
Avalaxy 写道 比起Java平台,我更倾向于ASP.NET MVC(比如C#)。.NET栈是非常强大的,我个人认为比Java强得多,并且ASP.NET MVC框架包含了大量RoR中的优秀特性。
ralphael 写道 我投.NET、MVC和SQL Server一票。
这个平台上拥有大量的示例程序,况且stackoverflow.com就是基于.NET的。
spobo 写道 .NET绝对不是一个坏的选择。
过去几年,微软已经真正到达了顶峰,它们最新的框架非常易于开发者掌握和使用,微软同时也开始基于.NET来推动其开源项目,比如codeplex和NuGet,微软同时还是jQuery的核心贡献者。微软最近还发布了WebAPI,为开发者创建REST-ful JSON/XML应用提供了一个相当平缓的方式。
3. PHP
interwho 写道 对我个人而言,我会选择PHP:
- 更快地解决事情;
- 网上有大量的类可以使用,这让事情变得简单;
- 个人认为,比其他一些语言更容易维护;
- 可在几乎所有的网站托管服务器中运行,价格便宜;
- 可扩展。
4. Ruby或Python
olalonde 写道 Ruby/Rails和Python/Django似乎是YC初创企业最常见的选择,它们在开发时间、成本、可维护性方面具备一定的优势。
spdy 写道 Python/Django或Ruby /> netgineer 写道 在面向服务架构中,我会选择Ruby。在不同系统之间使用HTTP/JSON用于内部API。如果性能是瓶颈,你可以考虑在部分系统中使用一个稍低级别的语言(Java、Haskell、Go、Erlang等)。
Rails使SOA开发更加容易和快速,除了API客户端,我没有其他好的解决方案。
3pt14159 写道 Python(Tornado或Twisted)+ Riak。为什么呢?你可以轻松扩展,并且有大量的库,开箱即用,并且你也无须担心你的数据库受影响。
5. Clojure
Zak 写道 我倾向于Clojure,因为:
- 属性清单和类似于继承的行为对于映射和记录是非常自然和方便的。我认为,这些特性将有益于大型应用程序。
- Clojure可以抽象数据库,保存和执行关系模型比ORM更加直接。
- Clojure可以利用Java库,这意味着你在实现一些常用功能时会非常轻松。
6. 选择喜欢(擅长)的语言
spobo 写道 使用一个更高级的编程语言,同时使用标准接口与前端进行通信。如果你为后端构建了一个REST API,使用什么语言是不重要的。你可以随时更换更高性能的部件,也可以使用不同的语言来开发不同的功能。
如果你想降低开发成本,就使用大多数开发者已选择的生态系统,Python、PHP、Ruby、Java、.NET都可以,这些语言都有一些伟大的框架,帮助你进行快速开发。
但是,不管你做什么,不要强制让你的开发人员去使用不喜欢的语言。听从你的开发团队,要相信每种语言都有很大的潜力。