轉帖|行業資訊|編輯:蔣永|2016-12-13 10:46:24.000|閱讀 265 次
概述:開源軟件現在越來越多的在我們身邊涌現,那么我們究竟應該怎么選擇開源軟件呢?本文將為你一一解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
當我們說起開源軟件的時候,想必大家都有豐富的使用經歷,小到Node.js的一個組件庫,大到一套辦公軟件如LibreOffice,再如Linux操作系統,可以說無奇不有,浩如煙海。就拿我們常用的Github來說,官方的數據顯示已經有超過三千八百萬個項目托管在上面。
在我們日常的項目中,開源軟件或者框架也被廣泛的應用,從前端到后臺,從WEB服務器到數據庫,每一種類型都有很多可以使用的開源軟件。
假設現在需要開始一個項目或者準備引入一樣新的技術,面臨這么多的選擇,就算是老司機,可能會覺得難以取舍。
還是該嘗試一下最新的技術?技術的最新趨勢是什么?
舉一個實際的列子,有一個遺留的在線電商系統,前端使用了jQuery和JSP以及一些老舊的模板技術,每當改動一個小的功能,往往需要非常的小心和充分的測試。前端代碼已經非常難以維護和擴展,沒有模塊化管理,沒有層次結構。同時,伴隨著業務的快速發展,業務方也希望對頁面進行不定期改版和試點,使之能夠適應快速的市場變化,要求統一界面風格,開發成本低。
IT團隊領導考慮引入一項新的技術,希望實現模塊化代碼管理,前后端分離,提升開發效率,未來更好的向微服務轉換。你作為團隊TechLeader,來負責實施,該如何評估和選擇呢?
首先要考慮的是實際需求和應用場景,弄清楚要解決的問題是什么,再來看每種軟件的優缺點是什么,是否能夠幫助解決實際的問題。一個原則就是KISS(保持簡單),能夠用一個包庫解決的不要用一個框架,能夠用一個框架解決的不要用一個應用,誰能滿足需求而且更加簡單,就用誰。
業務的快速變化,轉化成技術的語言可能就是快速迭代,如果有模塊化管理,實現業務的耦合,顯然有助于提升交付速度;試點和改版可能就是更多的偏向前端,顯然實現前后端分離,可以更好的滿足這一點。再來看看現在比較流行的技術,現代的前端框架幾乎都能夠滿足這兩點需求,比如AngularJs、ReactJs、VueJs等。
沒有比較就沒有差異。你最先想到的可能是軟件的特性。這個文檔中一般會有描述,也會找到文章的總結,比如VueJs的。結合實際的情況,我認為可以從以下幾個方面來入手。這時我們不妨做一個表格,從多個維度來進行考察,并給每一項進行評分。
這個時候,我們的評估表看起來可能是這樣的。
對于統一界面風格,提升開發效率,我們則可以選擇定制化一套StyleGuide,來進行重復利用。可以參考一位同事的這篇文章“”。
舉個例子,假設現在有5個開發,如果大家對三個框架都不熟悉,可以選擇VueJs。如果有兩個人對AngularJs有一些使用經驗,可以優先考慮AngularJs。按照上面的維度記錄之后,可能的結果是這樣的:
結合應用再寫個小Demo,功能不用那么完善,給團隊秀一秀代碼,讓大家有個客觀的認識,對工作量的估算也會比較有幫助。
對于上面的案例,如果現在來選擇,Vue會是首選,相對簡單。
React makes it painless to create interactive UIs.
如果碰到評估完之后,兩種可選方案區別不太明顯,不相上下,那就丟硬幣了(不如讓團隊投票吧)。最后就是進行技術評審了,給專家團隊或者領導演示你的方案,展示Demo,讓他們更加有信心,并獲得支持。
本文轉自()
活動時間:12月1日-12月31日
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn