2009-07-01 46 views
4

我對asp.net有合理的經驗,並希望學習一門專注於web開發的新語言。爲Web開發選擇非微軟語言?

許可和託管成本是爲什麼我想使用不依賴於微軟的東西,所以基於開源技術的東西是一個優點。我對PHP有一點點經驗,並不喜歡它,但我想我可以說服其他方面。

基本上我想知道對未來網絡的發展與問候longivity的最好的語言人民的意見,資源,框架,託管等

+0

它的方式,這個問題只會導致意見 - 如果你會問這樣一個特定的問題,這將導致更好的答案 – 2009-07-01 00:59:47

+2

ASP.NET虛擬主機價格相當於基於Linux的託管並且您可以使用Microsoft的免費工具開發Microsoft解決方案。唯一合理的投訴不依賴於微軟。但是ASP.NET MVC框架是開源的。 使用Java,PHP,C(CGI)和Ruby我很滿意ASP.NET MVC。 – Talljoe 2009-07-01 01:05:58

+0

我打算在將來使用asp.net mvc,但仍然會喜歡一些微軟域外的經驗。 – 2009-07-01 01:11:29

回答

9

就像其他行業一樣,沒有「最好」的選擇 - 所有的框架都有自己的優勢和弱點。 基本上,當它涉及到網絡開發,有4層穩定的技術堆棧:

  • ASP.NET - 你已經知道了
  • PHP:強度:Web開發標準,並縮放它非常高的水平時不僅可能,而且容易。有據可查,並且大量的庫已經可用。缺點:由於易於獲得基礎知識,周圍社區比較不喜歡,這導致了幾個代碼基地,比最佳的代碼基地更少。但是,這可以得到改善。
  • Java/J2EE:優勢:穩定的可擴展性,一個非常大且多樣化的工具集。弱點:爲你的情況選擇最優化的堆棧可能很難;託管成本可能會高於PHP
  • Python以及Django
  • 並且+1是Ruby;陪審團仍然與這一個。

隨着所有網站的發展,這個問題歸結爲你想達到什麼,以及你/你的團隊有什麼經驗。從統計的角度來看,PHP往往是最流行的選擇,因爲任何隨機開發人員都可以輕鬆地拿起它(與其他選項相比),潛入代碼庫並立即修復/破解事物。再次,YMMV,做研究,而不是徵求意見。

6

在我看來(這意見),沒有什麼比企業Web開發的Java/J2EE更勝一籌。

這些工具非常好(Eclipse及其同類軟件都是開源的),並且該架構非常瞭解。儘管甲骨文收購Sun,但Java不會很快消失,因此可以延長使用壽命。資源和框架,你只需要谷歌,看看J2EE有多少實際 - 這是一個令人印象深刻的數額(所以這一定是一些掘金之間的所有糟粕)。至於託管,您有廣泛的Web /應用程序服務器可供選擇。另外,我們使用Eclipse來使用jQuery在我們的J2EE應用程序中抽取客戶端上的UI pizazz。

8

Python,其框架如Django,是一個日益流行的Web開發解決方案。它也與Google App Engine兼容,這使得部署比運行自己的硬件更簡單。

0

如果你想免費去Java/J2EE。然而這不值得費心。掏出錢更容易。在託管之前,我使用aspspider進行測試。

0

如果執行得當,JavaScript可能是一個很好的主幹。

Perl可以提供未包含在其他語言中的高級功能。

Java雖然不錯,但有時速度很慢,如果您決定編寫大部分代碼,請小心。

1

Ruby on Rails可能是最讓人大開眼界的體驗。其樂無窮。唯一的缺點是你可能不會「得到它」(尤其是「爲什麼x這樣做」),而至少沒有購買實用程序員使用Rails進行敏捷Web開發的書。

0

這是我的兩毛錢,我「成爲了網絡設計師/前端工程師」。我精通客戶端技術。然後面對一個項目,我必須爲整個堆棧編寫代碼,我選擇了PHP。很長一段時間,我希望我選擇Python,因爲我從其他人那裏得知 PHP是如何根本性地劣勢,但是一旦我坐下來思考它,我意識到我的PHP應用程序寫得很好。

PHP是你做它。它永遠不會有編譯語言的速度,但對於99%的解釋型語言來說,情況也是如此。此外,當您考慮它時,對於大多數Web應用程序來說,加載頁面時最大的浪費時間不是解析腳本語言的服務器,而是通過網絡和瀏覽器傳輸數據以繪製屏幕(通過渲染您的井或寫得不好的CSS/JS)。

所以我的判決,對於大多數web應用程序,我推薦使用一個好的PHP框架,如Symfony framework與Doctrine ORM。這種方法會強制你寫出「好的代碼」。如果您正在爲高盛撰寫應用程序flash-trading,那麼您可能需要一種編譯語言。我在想帕斯卡或阿達。

注意:我將學習許多其他語言,python,perl等。如果我在兩年內仍然同意這個答案,這將會很有趣。

0

從一個平臺到下一個平臺(至少在比較.NET,Java EE,php等)時,專業託管可能不會在價格上看到顯着差異。 數據庫,合格技術人員,硬件基礎架構等的成本遠遠超過操作系統和可能的應用程序服務器許可證的成本。

也就是說,php和rails可能看起來比.NET和Java EE更便宜(我還沒有看到許多託管提供商提供像Python這樣的其他服務),因爲該市場中有更多的提供低成本,低服務,包。 與Java EE相比,較低的正常運行時間保證,較低的帶寬等,通常針對高端客戶。 當Home Depot選擇Java EE時,想到PHP被提供給鄰居DIY商店,因爲他們想要24/7可用性並期望有更多的訪問者。 當然,這個軟件包的成本會更高,但是你得到的是你所支付的。

使用php開發相同的包也是可能的(從未嘗試過,我是一個從事大型企業和(半)政府應用程序的全職Java EE開發人員),託管它的最終成本幾乎相同(特別是如果您選擇使用相同的RDBMS作爲後端,而不是使用phps默認的mySQL,而Java EE項目傾向於向Oracle和其他高端產品傾斜,但即使存在差異,這也不是決定運行成本的主要因素主要是由主機提供商的硬件架構,網絡使用情況等(如果我們假設由於應用程序錯誤/功能請求等原因支持的呼叫數目相似))。