2010-08-28 68 views
2

有人可以給我從Coldfusion遷移到asp.net框架的增值方面。我很欣賞這種洞察力,因爲坦率地說,我找不到任何理由這樣做。瞭解,我不是一個cf或一個.net愛好者。我根本不是那種僅僅因爲我們能夠購買公司業務的人。我也不相信花大價錢去重新設計並強迫一個12人的商店去學習新的東西,只是因爲我們可以。最重要的是,我的心態 - 如果沒有破裂,不要修復它。Coldfusion to asp.net

最後,我試圖挽救我的客戶,讓他從一個擁有很多權力,對技術一無所知的人中拯救我的客戶,並讓其他人告訴他最新的流行語,從而不進行研究並跳入某種可能成爲一場災難。喜歡聽你的意見。謝謝。

+2

我認爲可以對任何兩種語言進行相同的論證。從表面上看,這似乎是對於仇敵的火焰誘餌,但在它下面,似乎你真的在尋找什麼對你的商店最好。 (對你很好!)但我通常會同意你的觀點。大量的付費人員時間將進入培訓和改寫過程,並獲得什麼收益?如果不清楚收益是什麼,那麼這可能是不值得的。 – 2010-09-01 16:53:30

回答

0

ColdFusion是非常棒的全功能技術堆棧。問你的人究竟你需要在.NET中做什麼,並解釋說你可以更快更好地做到與ColdFusion相同。

+0

這很主觀,.NET確實有實力。 – jfrobishow 2010-08-30 00:58:49

+1

@jfrobishow這是解決特定問題的方法,而不是嘗試開始聖戰。 – Sergii 2010-08-30 17:28:48

5

完全披露:我是一位長期專業的CF開發人員,我對ASP.NET毫無興趣。

這就是說,有一些優點。如果您已經在運行Windows服務器,則可以節省一些許可證(儘管這隻適用於擴展或升級服務器場的情況)。那裏有更多的.NET開發人員。

但是有減輕影響的因素。如果您不得不重寫所有內容,或者使用會降低開發速度的語言編寫代碼,那麼節省的成本必須與工資和時間而不是花費在新功能上進行權衡。

此外,更多的開發者並不意味着更好的開發者。如果有更多的.NET商店,那麼對於才華橫溢的開發者來說,競爭會更激烈。

不幸的是,你的問題是非常主觀的,並沒有一個正確的答案。每種語言都有其優點。你需要看看你的具體情況,以確定哪個更合適。

5

正如有人誰一直圍繞塊CF和.NET這裏是我親的和移植的(客戶端)代碼的反對的到.NET

  • 的Visual Studio。與其他微軟工具緊密集成的專業級IDE非常好。您可以使用cfeclipse來抵消這一點,但visual studio是一個開箱即用的解決方案,它是爲使用.net語言而量身定製的。在vs中也有一些工具,它們在cfeclipse中不存在。
  • 嚴格打字。 YMMV,但如果它是開發者習慣並希望的東西,它將有助於消除代碼中的許多不明確之處。如果你的開發者不習慣它,它可能看起來像是一個障礙。
  • 更新遺產。同樣,這是非常情景化的,但如果您正在處理遺留代碼(我見過的很多cf),那麼移植到.net可能會讓您有機會更新/更新您的代碼。但是,如果你使用cfcs的現代cf,那麼這是一個親。 (我相信你可以在cf中編寫完全可以接受的現代oo代碼)。
  • 許可證費用。如果您的預算有限,這可能會發揮作用。在大多數環境中,CF許可證的成本可以忽略不計。
  • 更低的內存使用量。這是非常依賴於應用程序,但.net似乎使用較少的內存。
  • 調試器。能夠在.net中瀏覽代碼是很好的。

精讀

  • Rewrites are expensive and can go horribly wrong。在這個問題上已經傳播了很多墨水。
  • 你失去了管理員。 .net通過配置文件和IIS設置處理其大部分配置。如果你習慣了管理員,這可能是一個挫折。這是非常好的處理所有的數據源,重定向等
  • .NET需要更多的代碼。我不是最有經驗的.net開發者,但我有限的經驗是,當在cf和.net(c#)中執行兩個等同的任務時,.net幾乎總是會出現更長的時間。 ColdFusion只是一種更高級的語言。

洗滌

  • 成本開發者的。 .net開發人員池似乎要大得多,但(至少在我的領域)CF開發人員要便宜一些。作爲一種老一代的語言,CF開發人員可能在「現實世界」中擁有更多的經驗,而.net開發人員可能會接受更多的學校培訓。 (再次YMMV)。
  • 代碼風格。有些人喜歡討厭CF的語法。 (我對#運營商長期的抨擊有罪)。在一天結束時它完成了工作,IMO不是重寫的理由。
  • Buzz Factor。 CF越來越在牙齒有點長,人們問:「你這傢伙仍然使用的ColdFusion!?」。它仍然受到支持,並被廣泛使用,所以我們在這裏不是在說COBOL。儘管如此,你還是不太可能看到MS能夠爲.net帶來的酷炫新特性。在這裏你只需要看看附加值。我不會根據「本月風味」做出這個決定,但是.net可以爲您的開發帶來什麼樣的確切功能。
  • 學習一個新的框架/語言。這完全是主觀的。如果你想學習一個新的框架,這可能是一個很好的機會來獲得報酬。另一方面,如果學習有阻力,這對你不利。此外,如果您正在處理嚴格的截止日期類型的工作場所,新的環境和語言將會給估計時間帶來很多混亂。
+0

嗯,那裏有幾件事... CF不僅僅是「仍然支持」 - 它還是*積極開發* - 一個重要的區別。另外FusionDebug爲CF提供了步驟調試...不知道它如何與VS進行比較,但它確實存在。 – 2010-08-31 12:20:41

+0

此外,CFBuilder是一個較新的Adobe構建的工具,基於Eclipse,如CFEclipse,但與服務器等更緊密集成。不像VS那麼廣泛,但你可以通過插件來實現。它包含與服務器交互的調試工具。對於你的框架評論,你可以考慮將CF的「現代」框架輕鬆地(如果不是更重要的話)用另一種語言重新寫入新的框架。否則,非常好的一點。 – 2010-08-31 17:17:05

+1

更不用說adobe cf是基於java的,因此你可以用任何java庫擴展cf。這增加了很多價值,恕我直言。 – Mark 2010-09-01 14:29:00

1

尼克做一些偉大的點。我目前使用.NET和ColdFusion和我可以說,使用CF時,讓我長了.NET的主要因素有:

的Visual Studio - 有沒有其他的IDE,有可以比較這一點。 (智能感知是驚人的)。相比之下,Eclipse就顯得蒼白無力,Builder也毫無意義。

強類型語言 - 類型安全,編譯時檢查等

對象創建和垃圾收集的性能 - 以我的經驗,如果你試着去與CF的面向對象方法,你需要調整你的JVM的地獄,以獲得任何類型的表現。當談到這一點時,CF是一隻真正的狗。 CF 9顯然更加高效,但是.net具有出色的性能。

語法 - 標籤是可怕海事組織。

CF的最大賣點,雖然是它的易用性,以及令人難以置信的快速原型速度。

我試圖在asp.net中做一些簡單的http獲取請求,我希望自己能夠像cfhttp一樣簡單快捷。

當人們問我比較這兩種語言時,我把它歸結爲這個。如果你想要一個簡單的站點,或者需要快速建立一個站點的原型,或者你正在開發一個像CMS那樣性能不重要的內部應用程序,那就去CF.儘管如此,不要出示許可證。一路滑行。但是,如果您正在開發一個大型的性能關鍵網站,或者您是一位希望學習平臺的新開發人員,那麼我會使用.net。

作爲最後的腳註,這是非常主觀的。唯一真正有用的建議是嘗試兩種方法,並且做出自己的想法。

+0

在CF9中,他們已經在腳本語法中增加了支持(粗略的,我承認在幾個地方),所以如果你願意,你可以寫任何標籤。 – 2010-08-31 17:19:49

+0

是的,組件都在腳本中,我終於可以實例化一個新的對象! – 2010-08-31 18:57:15

1

我只是想一對夫婦的小評論添加到尼克的帖子:

IDE:還有現在CFBuilder從Adobe。從我聽說的VS中仍然沒有Visual Studio,但確實包括了線路調試器,如果這是你想要的。我個人的偏好是CFEclipse中的兩個,但就是說,正如我所說的個人偏好。 編輯:正如彼得指出,有可爲「齒龍CF」步調試ColdFusion的

融合調試:是不是一件壞事。它是一種穩定的技術,可以獲得常規版本和新版本,並且比大多數開發語言都要長,因此具有成熟的優勢。 CF9.0.1最近發佈。 CF X正在開發中。 Railo和Open BlueDragon也定期更新,可能比Adobe ColdFusion更經常更新,但這是OSS的優勢。

「許可證成本」:在此問題的上下文中,如果CFML已在使用中,許可證成本並不真正計算在內。另外可以這樣說,如果你要讓ColdFusion說一個CentOS服務器,那麼在你計算支付Windows Server許可證的費用後,運行ColdFusion比.Net更便宜。還有Railo和OpenBlueDragon CFML服務器都可以免費使用。鞦韆和環島。

評論Bigfellahull提到的東西。

「性能」:您可以非常高興地在.net和CFML中構建一些性能非常差的應用程序。在這兩種情況下,性能都歸功於知道如何編寫好的代碼以及如何配置服務器。作爲一名CF開發人員,我可以說基於Java Server的服務器引擎對於性能和可擴展性有很多好處。還有一些產品,例如FusionReactor和SeeFusion,使開發人員/服務器管理員能夠監控ColdFusion服務器以查找和解決應用程序和問題。 僅僅涉及.net開發的幾個不同點我不確定是否存在.net框架和IIS的等價物。

我想從Nick的回答中重申的是,真正歸因於重新開發和重新開發開發人員以及用不同語言重新設計項目的成本和風險。正如Nick所說:

Rewrites are expensive and can go horribly wrong。在這個問題上已經傳播了很多墨水。