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