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