2009-08-05 61 views
2

我是一個當前主要使用JavaScript和HTML的Web開發人員,並且在需要時使用各種後端PHP或servlet位。我印象中很多人都在使用ASP.NET,它似乎有一個很大的社區和許多可重用的組件和小部件。我應該切換到ASP.NET嗎?我應該考慮哪些其他因素,例如軟件成本,培訓,學習曲線......?我能否在ASP.NET中使用我現有的JavaScript資源 - ASP.NET AJAX究竟是什麼?我應該切換到ASP.NET嗎?

+0

Asp.Net是一種服務器端語言,因此您可能會選擇使用Asp.Net來支持php,但您的Asp.Net代碼仍然需要Html和JavaScript。 – Justin 2009-08-05 12:51:53

回答

5

這裏的答案非常依賴於您的環境和需求。如果您不熟悉Microsoft編程,我認爲學習曲線非常高。對於簡單的MVC應用程序,Ruby on Rails和Django非常棒,但是ASP.NET MVC也非常棒,就像本站演示的那樣。

如果你已經瞭解了一些PHP,只是需要一些較重的服務器端的工作框架,看看CodeIgniter

很多大公司有ASP.NET由於其長微軟編程的遺產。我沒有看到許多學校教它。很多初創公司都採用Rails的方式。我用一點努力就找到了Rails和Django,並且一直非常沮喪於ASP.NET,但還沒有嘗試ASP.NET MVC。我還在Tomcat中完成了很多java服務器的工作。

除非您有特定的需求,否則只需在您的託管環境中進行簡單的部署和維護,因爲與僅學習新語言或框架相比,這些令人頭疼的問題更難處理。

+1

是的,學校似乎對微軟相關的東西感到厭倦。可以這麼說。 – Colin 2009-08-05 13:32:47

+2

@科林我會說這一般是因爲使用MS的技術人員對完成工作,商業和財務上的成功比理論純度更感興趣,所以他們自然傾向於留在私人行業並遠離學術界。這給大多數大學留下了unix文化的自我延續的泡沫。 – 2009-08-06 14:04:48

0

在我看來,ASP.NET是相當醜陋的。有更好的解決方案 - 使用像Castle Monorail或ASP.NET MVC這樣的MVC模式。

你也可以考慮使用Python Django和Ruby on Rails。 RoR可能有最平滑的學習曲線(Django也非常接近RoR)。

-1

這些是我的意見。有購買Visual Studio和在Windows上部署的其他選擇...但我不會推薦它們。

1.操作系統。你運行windows嗎?如果你不這樣做,你將無法在ASP.NET中開發。

2.定價。如果您運行Windows,那麼您至少需要爲ASP.NET Visual Studio付費,該費用爲$549 on amazon.com。然後,如果您想將其部署到您自己的服務器上,則必須爲Windows Server 2003支付許可費用,並且如果您想使用Microsoft SQL數據庫,則可以支付數千美元。編輯:評論者在評論中注意到了一些定價選項。 Visual Studio & MSSQL有快速版本。您可以使用開源數據庫,如MySQL或PostgreSQL。您可以使用Mono免費部署到Linux服務器。您甚至不必使用Visual Studio編寫應用程序 - 但我不建議這樣做。如果由於價格問題,你將使用一堆開源解決方案來支持大多數Microsoft Stack,我建議你只需要將ASP.NET從一開始轉移到一個完全開源的選擇。

我是否能夠使用現有的JavaScript 資產ASP.NET - 什麼 究竟是ASP.NET AJAX?

Javascript在任何其他框架的工作方式與其他框架相同,幾乎相同。 ASP.NET WebForms(除ASP之外的其他選項。NET MVC)把任何HTML動態標識(標籤,網格和什麼都不動)中的所有HTML實體的id混爲一談,所以你將不得不使用類選擇器而不是ID選擇器(這發生在很多其他框架中)。

ASP.NET AJAX是一堆Javascript代碼,使您可以輕鬆地在ASP.NET應用程序中使用AJAX - 您不必使用它,但它使調用c#函數變得更容易在你的JavaScript和whatnot。它大多隻是增強了ASP.NET中的現有功能。

理由使用ASP.NET

  1. 您已經運行Windows。
  2. 您擔心縮放。
  3. 易於使用。 (我花了很多時間在開放源碼的Java項目上感到困惑,因爲你正在使用一堆不同的開源項目來獲得Microsoft Stack中包含的相同功能 - 完全可行,但是你可能會花更多時間集成和了解所有不同的開源項目。)
  4. 微軟支持的可用性,以幫助任何部分的堆棧。
  5. Commmunity支持 - 大家都運行相同的堆棧,所以很容易找出常見問題的解決方案。

職業原因,學習ASP.NET

很多大公司都使用ASP.NET - 我想大多隻是因爲他們更喜歡微軟的解決方案一般,所以有大量的就業機會。如果你想爲自己工作,或者爲小公司工作,那麼使用免費框架是有意義的。

它並沒有像你有任何這些需求,真的,我建議與PHP保持一致,並通過啓動一個使用類似CakePHP(一個開源PHP框架)的副項目來獲得更多的認真。

+3

並非完全如此。您可以在Linux上使用Mono來放棄需要的窗口,並且您不需要Visual Studio來開發ASP.Net,但它確實使它更容易。根據您的需要,還有免費版本的SQL服務器。 – kemiller2002 2009-08-05 12:44:36

+0

我在編輯:) – 2009-08-05 12:47:52

+0

成本不是那麼高,因爲實際上每個人都有權購買視覺工作室的升級版本。對於web開發也標準版本是綽綽有餘.. http://www.amazon.com/Microsoft-Visual-Studio-Standard-Upgrade/dp/B000WLY9XG/ref=sr_1_2?ie=UTF8&qid=1249476509&sr=8- 2,他也可以只是抓住免費版本的視覺工作室和sql express – nWorx 2009-08-05 12:48:53

0

Yourr後臺是php

你爲什麼不嘗試笨,或者CakePHP的? 所以,你不應該切換到ASP.net

Python的Django和Ruby on Rails的更好

0

可重用性,你應該看看海邊。 DRY做對了。

2

這些問題的答案是非常主觀的。這取決於幾個因素,尤其是您目前的技能和經驗等。如果您的OO背景爲零,那麼在開始時可能會有點困難。

問:我應該切換到ASP.NET嗎?

答:谷歌周圍的概述,看一些例子,並閱讀一些評論。你應該能夠自己判斷。

問:還有什麼我應該考慮的,例如,軟件成本,培訓,學習曲線......?

答:成本是零(幾乎)如果你使用的是IDE的免費版本。你甚至可以嘗試MONO/SharpDevelop等。你不需要去培​​訓課程才能勝任,他們認爲他們可能會有幫助。部署到生產服務器是另一回事。

問:我能否在ASP.NET中使用我現有的JavaScript資產 - ASP.NET AJAX究竟是什麼?

答:是的,您應該可以使用大部分(如果不是全部)當前的JavaScript資產。一些調整可能是必需的。至於ASP.NET AJAX,請參閱我的第一個答案。

0

很大程度上取決於您的經驗,我只能從我的角度來談談 - 我是一位經驗豐富的PHP程序員,但最近一個月左右一直在ASP.NET項目中工作。我曾經有過使用VBA和類似編碼的經驗,但仍然發現ASP.NET是一個巨大的學習曲線,而且我認爲文檔或社區支持不會像使用PHP獲得的那樣好。我也不認爲你可以用ASP.NET做任何事情,PHP不能爲你做,所以我的建議是堅持使用PHP。

職業方面似乎有更多的ASP.NET作業可用,但從開發人員的角度來看,純粹哪個更好,我會去PHP。

1

這似乎更像是一個比一個技術問題,一個宗教辯論,但我需要的東西假裝我很忙,直到咖啡踢。

我已經花了數年編寫的Windows應用程序,然後幾個更多開發使用各種基於Linux的後端(包括PHP,這可能是我最不喜歡的)的Web應用程序,然後再使用asp.net。我每天都花費大量時間,每天都與一羣聊天客戶端聯繫起來,觀看碰巧是諮詢顧問的朋友,並且互相幫助解決基於微軟網頁開發工具的問題。

我不會假裝自己是個「專家」,但我確實有足夠的經驗來發表看法(除了意見外,這絕對沒有什麼意義)。儘管它是非常不連貫的。就像我說的......咖啡。

許多大公司使用asp.net,其中有些人正在轉向sharepoint(這對於它的功能很好,但MS推動它作爲所有問題的答案,但事實並非如此)。似乎更多的是使用Java [現在]。如果你想找一份工作在一個大團隊中的工作,對於一個大公司來說,學習一個或另一個(或者更好的是兩者)。個人而言,我從來不會將PHP用於任何大型項目,因爲它不符合我的想法。還有很多其他人以與我不同的方式思考,並且他們能夠在PHP中處理大型項目。

asp.net的MVC版本非常明確(當然,如你所知,你永遠不會知道)Windows平臺上web開發的未來。有各種其他選項(如Java),但不是真的

在Linux(或BSD)主機上,當然,所有其他選項確實變得非常實際。對於任何給定的項目,我可能會選擇幾乎所有其他PHP中提到的項目,但這只是我的偏見(嗯,我已經瞭解了其他大多數涉及的語言,除了smalltalk,我希望)。其他人寫回答似乎已經涵蓋了大部分明顯的問題,所以我不打擾他們已經寫過的內容。

這是我的印象(可能是錯誤的),傳統的ASP是PHP的答案。或者反之亦然。或者也許他們只是並行進化而已。這兩種語言非常相似。它們適用於小而簡單的網站。

然後就是Java,它似乎在處理巨大的公司站點時(現在)佔據統治地位。

在我看來,MS意識到他們正在失去與Java和PHP的競賽,所以他們帶出了asp.net作爲兩者的答案。它比傳統的ASP要大得多,涉及更多,並且需要更多努力才能爲小型網站爭取好處。但是,對於大型網站來說,維護起來更容易[對於「大」的某些定義當然是這樣)。並且(從我的角度來看),它看起來不像java那麼可怕[我在那裏幾乎沒有任何經驗,順便說一句,我曾經讀過一本書]。

它還增加了幾層來隱藏所有討厭的http細節,並讓開發人員假裝他們正在開發windows。這可以使經驗豐富的Windows開發人員的生活更輕鬆,但是一些在PHP中很簡單的事情可能令人難以置信(在asp.net中)。

Asp.net ajax在抵達時已經差不多了。它不是太可怕的破碎,但它留下了很多想要的。微軟似乎已經把馬切換到jQuery。有其他JavaScript框架值得關注(又一宗教辯論),但是,我個人認爲,asp.net ajax並不是其中之一。 (而且,我通常都會關注「檢查所有選項,比較成本/收益,並針對每種特定情況做出明智的決定」)。

您可能會也可能無法使用您現有的javascript與asp.net。我會猜測「有些調整」,但實際上只有一種方法可以找出答案。

只是我2美分的價值。而且,實際上,沒有其他人還沒有更好的回答。

+0

我只是在你貼的時候輸入了這個效果,但是你說的更好,所以我停了! – Stimul8d 2009-08-05 14:18:15

+0

我認爲你已經說明了Java的情況。鑑於流行替代品的增長,我不知道有很多人轉向Java。它仍然是一個強大的社區,但我認爲它正在努力維持它在市場上的地位。 – CJM 2009-08-05 14:48:11

+1

雖然不是完全特定於這個問題,但我喜歡閱讀本文。 – 2009-08-05 14:56:29

0

如果您的職業目標是進入大型企業環境,那麼學習ASP.NET並不是一個不錯的選擇。我不想進入更好的,只會關注ASP.NET的好處。

ASP.NET AJAX的好處是Ajax-無需掌握Ajax技術。 ASP.NET AJAX可以像ASP.NET管理HTTP功能一樣管理Ajax功能,例如回發,狀態管理和使ASP.NET全部「正常工作所需的客戶端腳本」。

On在服務器端,ASP.NET AJAX作爲ASP.NET的一部分,充分利用了它的所有固有特性,ASP.NET AJAX控件可以與其他ASP.NET控件和組件交互,並參與頁面生命週期。連接到會話,身份驗證和配置文件,使您能夠利用客戶端上的這些類型的功能。最後,通過ASP.NET AJAX和ASP.NET,您可以直接與Web服務進行連接。 .NET框架本身是

  1. .NET Framework允許開發人員 構建用戶所需的應用程序類型 。使用系統工具的通用集合 ,他們將能夠 編寫一次代碼,並將它交付給各種各樣的設備。

  2. .NET Framework將接口換成 易於使用的面向對象的 結構。這爲新開發人員 加快了學習曲線,同時允許高級開發人員 在之前可能在 之前創建的Web應用程序的 分數中。

  3. 安裝容易得多 對於新開發的應用程序,上市時間將會減少 。

另外,看看新的ASP.NET MVC。這是另外一個討論。

+0

很多觀點都只與.NET(Windows應用程序)而非ASP.net相關 – 2010-06-04 20:32:11

相關問題