我从ColdFusion迁移到Java开发
盡管我在大學和研究生的整個職業生涯中都研究和嘗試了不同的開發技術和工具,但我的全職職業生涯始于Adobe ColdFusion的開發。
從學校畢業后,使用技術解決現實世界中的業務問題本身就是一個挑戰。 由于其相當簡單的性質,ColdFusion不會妨礙您完成工作。 它也使我能夠應用應用程序開發的主要原理。 但是,隨著時間的流逝,我開始注意到該語言提供的工具集并不像其他開發技術(如Java)那樣豐富。
最終,我渴望與更復雜但更有價值的語言緊密合作,那就是當我過渡到Java時。 因為我最初的有意義的應用程序開發經驗是使用Java,所以我常常把這種轉變追溯到我的根源。 該博客將討論我在進行過渡時的一些想法和經驗。
ColdFusion –簡化基本任務
在典型的Web應用程序堆棧中,ColdFusion是服務器端開發技術,可滿足從用戶的Web瀏覽器收到的請求并向后發送有意義的信息。 ColdFusion是一種基于標記的語言,可以很好地與HTML集成。 它也可以以面向對象的方式獨立運行,但這并沒有改變其目的。
當我仍在使用ColdFusion時,我的經驗為我提供了有關Java存儲的資源的零碎提示。 由于ColdFusion本身是在Java之上運行的高級解釋語言,因此可以創造性地使用其下的Java。 例如,以下代碼片段允許在單個語句中從ColdFusion數組中刪除重復項。
myArray = createObject("java", "java.util.ArrayList").init(createObject("java", "java.util.HashSet").init(myArray) );但是,這些技術基本上沒有記錄。 為了在ColdFusion中應用它們,您已經必須知道Java中的一些巧妙技巧。 如果是這樣,為什么不花時間在Java上做得更好呢? 我相信ColdFusion隨著時間的推移已經取得了長足的進步,但是只是發現并實現了Java已經掌握的知識。
雖然兩種技術的基礎非常相似,但ColdFusion在市場上有特定的用途。 它以簡化基本任務而自豪。 例如,ColdFusion中的數據庫訪問工具非常簡單,尤其是在首次引入它們時。 由于這種易用性,ColdFusion在快速應用程序開發平臺方面享有盛譽。 該語言不僅方便使用服務器端功能,而且還提供了一些現成的UI組件,可以節省開發時間,并且可以說在某種程度上減輕了開發人員的前端職責。
理論上聽起來不錯。 但是,實際上,UI小部件太簡陋,無法在任何現代現實應用程序中使用,特別是考慮到最近幾年出現的前端庫,更不用說HTML5的新興功能了。 進行AJAX調用的內置快捷鍵看起來確實很優雅,但是它們通常不足以適應所有情況,因此無論如何您最終都會訴諸于更強大的jQuery。
當您只使用好部件時,ColdFusion就是“另一種”服務器端技術,它也恰好同時帶來了組織文化,或者我認為長期而言,它并不理想。
快速性
快速應用程序開發的概念經常被誤解。 實際上,它的快速性最終并沒有給您帶來多少好處。 尤其是在首次設置應用程序時,應該對體系結構進行大量的思考和計劃。 如果適當的體系結構到位,則對應用程序進行增強將不是一件容易的事。
另一方面,如果“快速”地開發某些東西,不可避免的技術債務將永遠使您感到沮喪,因為花費時間重構應用程序比創建增強功能更難辯解。 通常,重構需要更長的時間,會引入系統范圍的錯誤,這需要額外的質量檢查資源。 我越是堅持這種想法,我就越意識到建立正確的基礎是多么重要,在這種情況下,“快速”一詞似乎并不有吸引力。
考慮到這一點,我在使用這兩種技術的工作場所中遇到了不同的性能期望。 您可能已經猜到了,在使用ColdFusion的情況下,完成功能的時間表一直要求更高。 我絕對是生產性工作環境的擁護者,但我也相信,在提供功能和維護代碼庫之間應該保持平衡,以便可以更輕松地完成將來的增強和修復。
當僅關注應用程序功能時,很難保持高質量的文化。 我發現,使用更明智的體系結構的環境允許一定的“緩沖時間”使代碼庫比您遇到時有更好的位置,就像Boy Scout規則一樣。
工裝
值得探討的另一點是開發工具的復雜程度和實用性。 在我的ColdFusion和Java開發工作中,我都使用Eclipse作為集成開發環境。 Eclipse傳統上稱為Java IDE。 但是,由于其可擴展性,可通過插件促進ColdFusion開發。 盡管該插件對社區的支持非常出色,但它與Java可用的代碼檢查和調試工具不匹配。 我傾向于認為差異是由于Java是一種編譯語言,而ColdFusion是在運行時解釋的。
無論如何,考慮到Eclipse是一種免費資源,它極大地提高了開發人員的生產力。 當我開始從事Java的職業生涯時,這是一種重新發現的奢侈品。 我深信,不一定可以節省您時間的開發技術本身,而是可以在整個開發過程中使用的工具。 可以免費獲得有用工具的訪問肯定使Java在這一比較中處于領先地位。
最后的想法
無論是否偶然,不同的技術似乎都在一定程度上促進了組織文化的發展,并各有優缺點。 最終,無論您喜歡發展什么,重要的是要繼續成長為專業人士,并挑戰自己以找到使用技術或開發語言的新穎方法。 我發現Java平臺在這方面非常有益。
每天學習新事物似乎不勝枚舉,但就像進行體育鍛煉一樣,隨著時間的流逝,大腦變得更加有效。
資源資源
- “使用ColdFusion嗎? 使用Java?!?由Barney Boisvert
翻譯自: https://www.javacodegeeks.com/2014/05/my-move-from-coldfusion-to-java-development.html
總結
以上是生活随笔為你收集整理的我从ColdFusion迁移到Java开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果电脑硬盘分(苹果电脑硬盘分区格式)
- 下一篇: 电脑版红警安装包下载(如何下载安装红警)