開發(fā)大型web應(yīng)用,你會選擇什么作為后端語言?
74 2017-05-04
1.Java
hendzen寫道
對于一個“大型”的web應(yīng)用,我會老老實實地使用Java,并會選擇Jetty作為HTTP服務(wù)器,Jersey/JAX-RS作為web框架。JVM是無與倫比的,并且新員工入職培訓(xùn)也相對輕松得多,因為大部分人都了解Java。
盡管不像Rails/Django那么時髦,但是你將得益于眾多高性能、可靠的Java庫,更不用說那些偉大的分析工具。
meddlepal寫道
我同意,我會選擇Java來開發(fā)核心功能,對于一些非核心功能,我可能會選擇Groovy或JRuby。
Jersey/JAX-RS非常不錯,但我感覺有些風(fēng)險,我更傾向于Play2。
Java/JVM生態(tài)系統(tǒng)中有很多非常積極的東西,如偉大的虛擬機、庫、龐大的社區(qū)以及大量的開發(fā)者。這是開發(fā)一個大型web應(yīng)用真正要考慮的。
2..NET
Avalaxy寫道
比起Java平臺,我更傾向于ASP.NETMVC(比如C#)。.NET棧是非常強大的,我個人認為比Java強得多,并且ASP.NETMVC框架包含了大量RoR中的優(yōu)秀特性。
ralphael寫道
我投.NET、MVC和SQLServer一票。
這個平臺上擁有大量的示例程序,況且stackoverflow就是基于.NET的。
spobo寫道
.NET絕對不是一個壞的選擇。
過去幾年,微軟已經(jīng)真正到達了頂峰,它們最新的框架非常易于開發(fā)者掌握和使用,微軟同時也開始基于.NET來推動其開源項目,比如codeplex和NuGet,微軟同時還是jQuery的核心貢獻者。微軟最近還發(fā)布了WebAPI,為開發(fā)者創(chuàng)建REST-fulJSON/XML應(yīng)用提供了一個相當(dāng)平緩的方式。
3.PHP
interwho寫道
對我個人而言,我會選擇PHP:
更快地解決事情;
網(wǎng)上有大量的類可以使用,這讓事情變得簡單;
個人認為,比其他一些語言更容易維護;
可在幾乎所有的網(wǎng)站托管服務(wù)器中運行,價格便宜;
可擴展。
如果你需要其他更強大的功能,你可以無縫過渡到另一種語言。
4.Ruby或Python
olalonde寫道
Ruby/Rails和Python/Django似乎是YC初創(chuàng)企業(yè)最常見的選擇,它們在開發(fā)時間、成本、可維護性方面具備一定的優(yōu)勢。
spdy寫道
Python/Django或RubyonRails。如果你行動快速、經(jīng)常改變主意,就選它們。
在面向服務(wù)架構(gòu)中,我會選擇Ruby。在不同系統(tǒng)之間使用HTTP/JSON用于內(nèi)部API。如果性能是瓶頸,你可以考慮在部分系統(tǒng)中使用一個稍低級別的語言(Java、Haskell、Go、Erlang等)。
Rails使SOA開發(fā)更加容易和快速,除了API客戶端,我沒有其他好的解決方案。
3pt14159寫道
Python(Tornado或Twisted)+Riak。為什么呢?你可以輕松擴展,并且有大量的庫,開箱即用,并且你也無須擔(dān)心你的數(shù)據(jù)庫受影響。
5.Clojure
Zak寫道
我傾向于Clojure,因為:
屬性清單和類似于繼承的行為對于映射和記錄是非常自然和方便的。我認為,這些特性將有益于大型應(yīng)用程序。
Clojure可以抽象數(shù)據(jù)庫,保存和執(zhí)行關(guān)系模型比ORM更加直接。
Clojure可以利用Java庫,這意味著你在實現(xiàn)一些常用功能時會非常輕松。
6.選擇喜歡(擅長)的語言
spobo寫道
使用一個更高級的編程語言,同時使用標(biāo)準(zhǔn)接口與前端進行通信。如果你為后端構(gòu)建了一個RESTAPI,使用什么語言是不重要的。你可以隨時更換更高性能的部件,也可以使用不同的語言來開發(fā)不同的功能。
如果你想降低開發(fā)成本,就使用大多數(shù)開發(fā)者已選擇的生態(tài)系統(tǒng),Python、PHP、Ruby、Java、.NET都可以,這些語言都有一些偉大的框架,幫助你進行快速開發(fā)。
但是,不管你做什么,不要強制讓你的開發(fā)人員去使用不喜歡的語言。聽從你的開發(fā)團隊,要相信每種語言都有很大的潛力。
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號
獵學(xué)網(wǎng)服務(wù)號