開發大型web應用,你(nǐ)會選擇什麼作為後端語言? - 新聞資(zī)訊 - 雲南小程序開發|雲南軟件開發|雲南網站(zhàn)建設-西山區知普網絡科技工作室

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不管是網站(zhàn),軟件還是小程序,都要直接或間接能為您産生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站(zhàn)成為營銷工具,讓軟件能切實提升企業(yè)内部管理水平和(hé)效率。優秀的程序為後期升級提供便捷的支持!

您當前位置>首頁 » 新聞資(zī)訊 » 網站(zhàn)建設 >

開發大型web應用,你(nǐ)會選擇什麼作為後端語言?

發表時間:2013-12-31

發布人:葵宇科技

浏覽次數:28

本文(wén)是轉載,原文(wén)地址:http://www.iteye.com/news/25729

近日,Hacker News中(zhōng)有一個(gè)問(wèn)題引起了廣泛的讨論:如(rú)果要開發一個(gè)大型的web應用程序,你(nǐ)會選擇什麼編程語言來進行後端開發,要考慮到開發時間、成本和(hé)可(kě)維護性。

以下(xià)是部分回複:

1. Java

hendzen 寫道 對于一個(gè)“大型”的web應用,我會老老實實地使用Java,并會選擇Jetty作為HTTP服務器(qì),Jersey/JAX-RS作為web框架。JVM是無與倫比的,并且新員工入職培訓也相對輕松得多,因為大部分人都了解Java。

盡管不像Rails/Django那麼時髦,但是你(nǐ)将得益于衆多高性能、可(kě)靠的Java庫,更不用說那些偉大的分析工具。
meddlepal 寫道 我同意,我會選擇Java來開發核心功能,對于一些非核心功能,我可(kě)能會選擇Groovy或JRuby。

Jersey/JAX-RS非常不錯,但我感覺有些風險,我更傾向于Play2。

Java/JVM生态系統中(zhōng)有很多非常積極的東西,如(rú)偉大的虛拟機、庫、龐大的社區以及大量的開發者。這是開發一個(gè)大型web應用真正要考慮的。
2. .NET

Avalaxy 寫道 比起Java平台,我更傾向于ASP.NET MVC(比如(rú)C#)。.NET棧是非常強大的,我個(gè)人認為比Java強得多,并且ASP.NET MVC框架包含了大量RoR中(zhōng)的優秀特性。
ralphael 寫道 我投.NET、MVC和(hé)SQL Server一票。

這個(gè)平台上擁有大量的示例程序,況且stackoverflow.com就是基于.NET的。
spobo 寫道 .NET絕對不是一個(gè)壞的選擇。

過去幾年,微軟已經真正到達了頂峰,它們最新的框架非常易于開發者掌握和(hé)使用,微軟同時也開始基于.NET來推動(dòng)其開源項目,比如(rú)codeplex和(hé)NuGet,微軟同時還是jQuery的核心貢獻者。微軟最近還發布了WebAPI,為開發者創建REST-ful JSON/XML應用提供了一個(gè)相當平緩的方式。
3. PHP

interwho 寫道 對我個(gè)人而言,我會選擇PHP:

  • 更快地解決事情;
  • 網上有大量的類可(kě)以使用,這讓事情變得簡單;
  • 個(gè)人認為,比其他一些語言更容易維護;
  • 可(kě)在幾乎所有的網站(zhàn)托管服務器(qì)中(zhōng)運行,價格便宜;
  • 可(kě)擴展。
如(rú)果你(nǐ)需要其他更強大的功能,你(nǐ)可(kě)以無縫過渡到另一種語言。
4. Ruby或Python

olalonde 寫道 Ruby/Rails和(hé)Python/Django似乎是YC初創企業(yè)最常見的選擇,它們在開發時間、成本、可(kě)維護性方面具備一定的優勢。
spdy 寫道 Python/Django或Ruby /> netgineer 寫道 在面向服務架構中(zhōng),我會選擇Ruby。在不同系統之間使用HTTP/JSON用于内部API。如(rú)果性能是瓶頸,你(nǐ)可(kě)以考慮在部分系統中(zhōng)使用一個(gè)稍低級别的語言(Java、Haskell、Go、Erlang等)。

Rails使SOA開發更加容易和(hé)快速,除了API客戶端,我沒有其他好的解決方案。
3pt14159 寫道 Python(Tornado或Twisted)+ Riak。為什麼呢(ne)?你(nǐ)可(kě)以輕松擴展,并且有大量的庫,開箱即用,并且你(nǐ)也無須擔心你(nǐ)的數據庫受影響。
5. Clojure

Zak 寫道 我傾向于Clojure,因為:

  • 屬性清單和(hé)類似于繼承的行為對于映射和(hé)記錄是非常自然和(hé)方便的。我認為,這些特性将有益于大型應用程序。
  • Clojure可(kě)以抽象數據庫,保存和(hé)執行關(guān)系模型比ORM更加直接。
  • Clojure可(kě)以利用Java庫,這意味着你(nǐ)在實現一些常用功能時會非常輕松。

6. 選擇喜歡(擅長)的語言

spobo 寫道 使用一個(gè)更高級的編程語言,同時使用标準接口與前端進行通(tōng)信。如(rú)果你(nǐ)為後端構建了一個(gè)REST API,使用什麼語言是不重要的。你(nǐ)可(kě)以随時更換更高性能的部件,也可(kě)以使用不同的語言來開發不同的功能。

如(rú)果你(nǐ)想降低開發成本,就使用大多數開發者已選擇的生态系統,Python、PHP、Ruby、Java、.NET都可(kě)以,這些語言都有一些偉大的框架,幫助你(nǐ)進行快速開發。

但是,不管你(nǐ)做什麼,不要強制讓你(nǐ)的開發人員去使用不喜歡的語言。聽從你(nǐ)的開發團隊,要相信每種語言都有很大的潛力。

相關(guān)案例查看更多