2012-03-12 91 views
3

我們將Asp Classic與VBScript和SQL Server 2005結合使用。網站託管在Windows Server上。將端口ASP設置爲Django或ASP.NET

我設法與Python來代替VBScript和這一直是一個很大的進步。

我想知道下一步可能是什麼。最初的開發人員是微軟產品的粉絲,但是他對Python印象深刻。另一方面,我更偏向開源。

如果我們希望向.NET或Django的移動以增量方式,你會推薦哪個平臺?在這方面,這些增量步驟可能會是什麼?例如,我現在有我的模型在我的asp文件的開始處,我創建了一組python對象。然後我在整個文件的其餘部分,即視圖中使用這些對象。如果這與asp兼容,也許下一步是使用HTML模板來表示視圖。

這將是很好能夠完全添加新頁面的新平臺。但是,客戶端會話需要在asp和新平臺之間共享。也許我可以包裝asp-classic的Session對象。

其他建議?

感謝,

巴里

回答

8

哇,這正是我們(作爲一家公司)已通過。

實際上,我們仍然有一個很大的傳統的ASP Web應用程序的運行。我們已經通過使用WSC(Windows腳本組件或腳本)來分離關注點,從而避免了普通的ASP代碼可以通過spaghetti代碼這一事實,這在傳統的ASP中非常有用。我們現在擁有調試組件,國際化,3層架構和性能問題。

但是;作爲我們想要「繼續前進」的開發者,可以這麼說。我們嘗試的第一件事是將我們的vbscript代碼的一部分實現到Python,至少用現代語言工作,但是在WSC中實現Python的許多麻煩之後,顯然WSC和Python並沒有相處得很好。
My findings regarding Python and WSCs

下一個邏輯步驟來嘗試我們被轉移到ASP.NET,因爲這是由微軟提出的路線圖。我們參加了C#/ ASP.NET MVC課程,聘請了一位經驗豐富的.NET開發人員,並開始實施新項目並將現有代碼移植到.NET中。 MVC是從傳統ASP開始的方式,在ASP.NET MVC面向應用程序開發人員之前,Microsoft使用的「webforms」抽象是對無狀態Web的可怕抽象。

我們發現,流行的看法相反,有沒有簡單的方法從傳統的ASP遷移到ASP.NET(至少不是如果你想要做的事情「正確」)。語言是不同的(VB.NET vs VBScript),它是完全面向對象的事實,它需要很多的理解,你從來沒有做過OO的東西,框架是不同的(MVC),你會有要撿起像lambda表達式之類的東西,即使與數據庫交談也是不同的(LINQ)。有太多的東西你必須拿起才能在一年內完成一個成功的項目。另外,我們聘請的開發人員是應用程序開發人員,並且指導我們進入ASP.NET的不匹配。他知道C#的語法,但不知道如何開發一個大型的web項目。

談起同行中成爲appearant有很多自稱是.NET開發人員,但在現實中,他們都非常缺乏經驗的行業。 。NET是在學校教授的,但是在校外的人只知道基本的東西,需要經驗豐富的開發人員進行培訓,並且至少要做幾個項目才能變得有用。也有很多人選擇.NET自己,因爲它是一個流行的框架,並通過一兩本書後,可以創建一個簡單的網站或應用程序。每個工作場所也有大量的人員。事實上,事實證明,很少有非常好的(甚至是中等優秀的).NET開發人員可用。我們尋找了一年以上的有經驗的人。

大約在同一時間,我們發現該項目沒有在.NET中去任何地方,我們也發現事故Python開發(同時尋找更多的.NET開發人員)。我們決定放棄我們正在做的並再次研究Python。

我們目前正在實施在Django不同的項目,我們已經在過去4個月,比我們一年編程.NET的那樣取得較大進展。主要區別在於,在.NET/Visual Studio中,有許多「你只需要知道」的東西,某些文件的位置,做某些事情的工具,在代碼中使用lambda表達式的地方,我不能給你確切的例子,因爲我幸運地已經忘記了它的大部分。

在Python會有很多新的東西爲好,但你一定會喜歡:

  • 事實上,它的動態類型,這是很多喜歡的VBScript。
  • 我發現編程的Python我可以經常編碼半小時 而不運行我的代碼,當我運行它時,它會立即運行 。它非常直觀。
  • 它是跨平臺的;你可以嘗試使用Linux作爲服務器,如果需要的話,但IIS也可以工作(使用Helicon Zoo)。
  • Python開發者似乎對自己行業的更嚴重 。 .NET通常在學校教授,學習 Python是一個有意識的選擇。
  • 您可以挑選webframeworks 和技術,如奧姆斯,會話層或其他層。在這方面Django是 挺僵化的,但像金字塔這樣的框架很靈活。
  • Python是OO,但不一定是。 中的語言一般是(可能不是語法上的,但在概念上)是更好地匹配vbscript的 。
  • 如果或者當微軟決定放棄asp.net ,就像他們對經典ASP和(例如) Silverlight所做的一樣,那麼使用Python就不會有問題。

不要誤會我的意思,你仍然要學習很多從傳統的ASP即將到來的新的東西,但在我們的經驗中學習曲線不太陡遷移到Python比ASP.NET和編程是更有趣的。

編輯:我有一個小竅門給你;我們目前可以使用memcached COM component在ASP和DJANGO網站之間交換信息。使用這個你可以從傳統的ASP訪問一個memcached服務器。
Django中可以使用的memcached作爲後端,這樣交換的信息是可能的,快如閃電傳統的ASP和Django的之間。

埃裏克

編輯:
之後,我們在Django最初的項目,我們目前在瓶發展。對於經典的ASP開發人員來說,Flask比Django更適合。 Django強加了很多約定,我們發現它限制了我們想要開發的用戶界面類型。
如果你想要一些東西並且運行的很快,Django是很好的,但是我們已經習慣用經典的asp構建我們自己的窗體/數據網格/嚮導,並且Flask在這方面給你提供了更多的自由。
從vbscript/IIS過渡到Python/Flask是恕我直言,最容易掌握。

+1

此外,不要讓人們告訴你.NET編譯速度更快。它可能是,但當然在Web環境中,開銷幾乎不是服務器端代碼,而是數據庫,HTTP調用和/或UI。優化這些和一個體面的服務器,你將不會注意到.net和python之間的速度差異。 – 2012-03-12 21:20:21

相關問題