天天看點

2015 年,哪些開源項目榮登 GitHub 十強榜單?

2015年可謂是開源項目風光無限的一年。大企業和初創公司都一直在向公衆釋出代碼,以此壯大自身的實力。重要的不光光是代碼,而是廣大程式員和代碼貢獻者可以通路代碼、更改代碼、修複代碼,并且改進代碼。《軟體開發時代》雜志(sd times)回顧了github上的一些流行項目,這些項目已給開放和自由軟體世界帶來了影響。

2015 年,哪些開源項目榮登 GitHub 十強榜單?

對一些公司而言,開源項目的目的是開發更優秀的技術和建立更出色的社群。微軟就是這樣的公司之一,其開發者體驗是有意開放(open by design)的,旨在幫助廣大開發人員“在移動優先、雲優先的世界更容易地建構優秀的應用程式”,據微軟的進階産品營銷主管david carmona聲稱。

他說:“我們認為,開發人員應該能夠使用他們最需要的工具,同時又讓社群能夠帶來積極影響,幫助那些工具日臻完善,進而滿足不斷變化的要求。微軟正 在努力提供一種更開放的開發者體驗,像visual studio code和.net core這些新的開源技術就是這方面的兩個例子。”

github的開源負責人brandon keepers表示,這個代碼庫将2015年視作開源技術的“引爆點”。2016年,預計“github上強大、多樣化的社群會幫助讓開源更唾手可得。”

“由于去年像蘋果和微軟這些重量級公司在github上釋出了重要技術,很顯然,現代軟體開發的未來立足于開源。”

swift

蘋果在去年12月早些時候宣布,其程式設計語言swift開源。swift開源讓廣大開發人員可以将其添加到windows和安卓等其他平台上。蘋果會 繼續上司swift開發工作,不過會與社群合作,共同修複代碼錯誤,添加改進之處。該公司還宣布了新的移植版,讓這門程式設計語言可以與linux操作系 統協同運作。swift linux port的特點是擁有swift,卻沒有objective-c運作時環境、核心語言和标準庫、核心代碼庫以及swift軟體包管理器。

swift讓人們可以通路現有的c和objective-c代碼及架構,預設情況下具有記憶體安全的特性。swift擁有流量控制、資料結構和函數等 特性,都帶有進階構件,比如對象、協定、閉包和泛型。在github頁面上,swift擁有30201次代碼送出和233個代碼貢獻者。

apache spark

apache spark以速度快和易于使用著稱,因而讓開發人員可以使用java、python或scala迅速編寫應用程式,它使用了80多個内置的進階運算符。這 是面向大資料的普通叢集計算系統,它提供了一種經過優化的引擎,支援通用計算圖形以便分析資料。spark是使用apache maven開發的,這是一種軟體項目管理和了解工具。

此外,spark使用hadoop核心代碼庫,與hadoop分布式檔案系統(hdfs)及支援hadoop的其他存儲系統進行對話。在 apache github頁面上,建議拿叢集運作的同一個版本來建構spark。目前,apache spark在github上的頁面上有14136次代碼送出(或追蹤修訂)以及767個代碼貢獻者。

free code camp

it技術問答網站stack overflow開展的一項調查發現,這年頭幾乎一半的開發人員是自學成才。free code camp是另一個開源項目,旨在為那些開發人員提供由可以一起學習編寫代碼的程式員組成的社群,進而為他們提供實戰經驗。與此同時,它還為非營利性組織開 發項目。

free code camp社群的一些好處包括如下:

◆學習程式設計技能,比如html5、css3、javascript、資料庫、git、node.js、angular.js和靈活開發。

◆有機會結識成千上萬的軟體開發專業人員。

◆從事自由和開源項目。

◆可以舒服地待在家裡,按自己的節奏學習編寫代碼。

◆獲得實時幫助。

另一個好處是,如果完成了400個小時的挑戰(包括建構10個單頁應用程式),你可以獲得該社群頒發的前端開發認證(front end development certification)。目前,該社群有6559次代碼送出和221個代碼貢獻者。

vs code

微軟的visual studio code在去年開放了源代碼。據該項目在gighub上的頁面介紹,這個新工具旨在提供一款簡潔的代碼編輯器,同時又為開發人員提供核心編輯、建構和調試 周期所需要的必要工具。其特性包括:支援編輯和調試、可擴充性模型,以及與現有工具實作輕量級內建。該項目還可以在linux、mac os x和windows上運作。

開發人員可以直接通過github送出代碼錯誤、請求功能,同時稽核源代碼變更和說明文檔,提出合并請求(pull request)。

對于有興趣修複問題、直接為代碼庫貢獻代碼的開發人員,微軟提供了這麼做的操作說明。内容包括如下:

◆如何利用源代碼來建構和運作。

◆開發工作流程,包括調試和運作測試。

◆編碼指南。

◆送出合并請求。

foreign linux

早在2015年3月的一周,一個打破linux和windows障礙的github項目成了github的知名項目,它就是foreign linux。foreign linux是一個動态二進制代碼翻譯器以及面向windows的linux系統調用接口仿真器,能夠在windows上運作未經修改的linux二進制代 碼,不需要任何驅動程式,也不需要對系統作任何修改。

foreign linux還讓開發人員可以在純粹的使用者模式應用程式中運作未經修改的linux應用程式,不需要特權代碼或虛拟機;除了支援本地硬連結和用戶端網絡外, 它還支援動态編譯的可執行檔案和靜态編譯的可執行檔案。據其在github上的頁面介紹,該項目仍然缺少許多linux應用程式所需的功能。也許今年會為 foreign linux帶來一些新的貢獻者。該項目目前有829次代碼送出和8個代碼貢獻者。

react native

facebook希望廣大安卓開發人員可以充分利用其javascript架構,用于開發原生的應用程式,是以該公司在2015年9月份宣布了面向 安卓的react native。據其在github上的頁面介紹,react native着眼于確定開發人員在所有平台上的高效率。facebook在多個生産應用程式中使用了react native,會在未來繼續将時間和精力投入到react native。

react native具有諸多特性:原生元件、異步執行、觸摸處理、彈性盒(flexbox)及樣式以及polyfill函數。它有4384次代碼送出和446個代碼貢獻者。

angularjs

angularjs讓代碼貢獻者可以編寫用戶端web應用程式,就好像是在智能浏覽器上編寫。其在gighub上的頁面聲稱:“它可以擴充html的文法,清楚地表達應用程式的元件;它還會通過雙向資料綁定,将來自使用者界面的資料與javascript對象自動同步。”

此外,據其在github上的頁面介紹,為了幫助“建構更合理的應用程式結構,并易于測試,angularjs教浏覽器如何做好依賴注入和控制反轉。”它有7340次代碼送出和1371個代碼貢獻者。

.net core

2015年2月,微軟開放了其在github中的.net core通用語言運作庫(clr)的源代碼。代碼庫包括全部的coreclr,這是.net core的執行引擎。

coreclr實作包括ryujit編譯器、.net垃圾回收機制、.net本地互操作性及其他.net運作庫元件。鼓勵新加入clr團隊的開發人員在開始入手之前閱讀coreclr“運作庫手冊”。目前,代碼庫有2937次代碼送出和187個代碼貢獻者。

rancheros

該項目在github上的頁面聲稱:“rancheros中的一切是由docker管理的容器。這包括udev和rsyslog之類的系統服務。 rancheros僅僅包含運作docker所需的最少數量的軟體。這使得rancheros的二進制代碼下載下傳件的大小保持在大約25mb。其他一切可以 通過docker動态并入進來。”

使用了docker的兩個執行個體:一個是系統docker,它作為pid 1來運作。随後,系統docker啟動運作docker使用者的容器,之後使用者docker成了主要用來建立容器的執行個體。這有助于避免删除整個作業系統。

rancheros有811次代碼送出和21個代碼貢獻者。

let’s encrypt

作為let’s encrypt ca的可擴充用戶端,它能夠使獲得證書、配置web伺服器以便使用證書這一任務實作自動化。let’s encrypt用戶端現處于測試階段,其在github上的頁面顯示,測試人員在拿來用到生産系統上之前,先在試運作階段進行了全面測試。

let’s encrypt是非營利性機構:網際網路安全研究小組(internet security research group)開發的一個免費項目;在今年某個時候,它會面向每個人推出。

====================================分割線================================