我想學習一個促進良好編程實踐並受編程社區尊重的框架。哪個Web框架適合想要工作的人?
但是,我也想要一個我可以用來做日常工作的框架。
你會推薦哪一個?
這個問題來自我學習Django基礎的經驗,因爲它得到了Stack Overflow和Hacker News的開發人員的高度讚揚。但是,我的地區(紐約市)幾乎沒有任何工作要求Django開發人員。
我想學習一個促進良好編程實踐並受編程社區尊重的框架。哪個Web框架適合想要工作的人?
但是,我也想要一個我可以用來做日常工作的框架。
你會推薦哪一個?
這個問題來自我學習Django基礎的經驗,因爲它得到了Stack Overflow和Hacker News的開發人員的高度讚揚。但是,我的地區(紐約市)幾乎沒有任何工作要求Django開發人員。
作爲一個長期ASP.NET的傢伙,我最近經歷了一個類似的決策過程,以找出我應該嘗試的其他Web框架。這是我學會爲止可能適用於你的情況太:
就個人而言,我決定在這個辦法:
你試過Spring MVC嗎?許多公司都將Java用於Web應用程序(或.NET)和基於Web服務的應用程序。
我可能會說ASP.NET MVC。我總是看到很多.NET作業,這似乎是一個堅實的框架,我認爲它實際上爲所有的stackoverflow系列提供動力。作爲一名PHP開發人員,我還必須提及許多大型網站使用的Zend Framework,其中包括bbc.co.uk,現在經常在PHP作業的廣告中提及。
有很多.NET作業,但他們沒有使用MVC框架。開發人員傾向於遠離舊的.NET,至少從我曾經談論的那些.NET開始。他們已經跳槽到Django或Rails,舊的東西似乎有些可怕。 – 2009-10-23 19:32:00
我在使用Django,Ruby on Rails和(eiuw!)甚至Zope的酷小公司中遇到過真正的項目。 .NET是用於天線寶寶的 - 我只聽說它被不知道更好的大公司所使用。
我同意在我住的地方附近的小創業公司使用.NET的情況相對不尋常(儘管它因行業而異)。也就是說,例外情況很常見。例如,我最近聽說一家本地初創公司在.NET上運行一個受歡迎的網站,開發人員可以提出編碼問題並獲得快速答案。現在,如果我只記得哪個網站是....任何人都知道? :-) – 2009-10-16 00:31:40
我會說知道兩三個比知道被廣泛使用的要好,因爲你會更好地理解它作爲一個概念是如何工作的。例如,如果你只使用了Java,那麼在你理解OOP時可能會缺少一些東西,因爲你會用一種方式來思考它。如果你已經知道Django,儘管你可能會對此表示讚賞。
.NET和Java是迄今爲止僱主使用的最大的兩個平臺,因此在尋找工作時最受歡迎。 Java有一些流行的框架,JSF,Spring MVC和Struts看起來都是平等的需求。我不使用.NET,但從我看到的,ASP.NET和ASP.NET MVC是主要的。
我想學習一個促進良好編程實踐並受編程社區尊重的框架。不過,我也想要一個我可以用來做日常工作的框架。
對不起,這裏是壞消息的持有者,但這兩個願望往往會衝突。恕我直言,大多數業務經理傾向於在CRM或其他更高級別的第三方代碼庫上進行(醜陋)快速開發。從頭開始建立優雅的網站主要發生在初創公司或真正的網站公司,網站是唯一的產品。這些公司並不是那麼多;許多似乎適合的內容實際上是內部的混亂,即由於時間壓力,凌亂的遺留代碼以及許多其他原因,無論如何,根據「良好的編程實踐」,您通常無法撰寫它們。
我同意Kaleb Brasee的觀點,即Java和.NET是工作可用性優先的兩個主要平臺。
每一個就業市場是獨一無二的,所以看職位空缺您所在地區,或致電招聘了一把,問他們看到什麼需要/可以很容易地把你在一個初級的位置。我所看到的是微軟Sharepoint需求旺盛,還有一些其他區域CMS需求(丹麥,我經常看到Sitecore)。
我認爲ASP.NET MVC 2.0與MVC Areas和ASP.NET Dynamic Data一起,對許多想要快速開發的老闆們來說,將會有一個好故事,一個很好的解決方案。而且我認爲,由此產生的代碼可能相當好,或者至少與許多存在的「CMS毆打成別的東西」站點相比,這並不壞。但是這對於.NET平臺來說是一個全新的東西,它需要首先賣給決策者......
底線:如果你首先想要工作安全,那麼看看大型CMS像Sharepoint一樣,並在業餘時間處理其他技術。或者,您可以稍後在創業公司/網絡公司找工作;但看看你跳躍之前。
既然你提到了Ruby on Rails,你可能想學習Ruby on Rails。它有一些很好的編程實踐和一個非常好的思想架構。 Ruby社區本身也(在我個人看來)創建了非常新穎的框架,並且非常青睞測試和質量。您可以通過創新的測試框架(如Cucumber,webrat,shoulda,cana,rspec,test/spec)來查看。許多初創公司也使用Rails作爲他們的平臺,所以你應該更容易找到工作。您可以開始查看Working With Rails和37signals job board。所以在Rails和Ruby社區裏有一個很好的生態系統。
但Rails與Django相比的缺點主要是魔術太多(不太明確),而且文檔不如Django。如果你想得到一個Django的工作,試着看看幾個新聞網站,因爲Django是從一個報紙網站成長起來的,所以它在很多新聞網站都被採用。
我會推薦ASP.NET MVC,Ruby on Rails或者Python/Django,它們看起來都很流行和成功,並且基於MVC範例,這對於工作來說絕對是正確的工具。網頁。
我會說在這裏提到的大多數框架都會促進良好的實踐。但這並不意味着使用這些框架的公司實際上正在遵循這些良好實踐!實際上很可能不是。所以不要期望太多。
你看,像堆棧溢出,黑客新聞等地方是一個很好的方式來與真正關心他們的手藝的人聯繫。可悲的是,這是少數。世界上有數百萬程序員。他們中的大多數吸吮。他們寫的代碼很爛。他們不在乎。他們對提高技能不感興趣。他們只想學習收集薪水,回家,喂狗,與家人共度時光,看電視,睡覺,第二天再次完成所需的最低限度所需的最低限度。
好吧,這有點苛刻:)我得到的是,你可能最好向想要工作的公司的一些經理問這個問題。我的猜測是,他們中的大多數人會回答.NET或Java。如果你喜歡笑,問問他們爲什麼選擇那種特定的技術而不是其他的東西,並看看他們扔給你多少流行語;)
可悲的是,「良好的編程習慣」和「日常工作」不會在任何地方重疊儘可能多的我們想要的。 – 2009-10-16 00:18:29