僅含一個源文件:這5個開源項目值得一看
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。
程序員常常會根據(jù)自己的喜好和項目類型用不同的方式寫代碼。如果一個軟件項目規(guī)模很大且發(fā)展迅速,他們通常會把整個任務(wù)分解成好幾個文件,從而實現(xiàn)可維護(hù)性。然而,一些程序員經(jīng)常將一些很好的想法轉(zhuǎn)變?yōu)閱蝹€文件的開源項目。
我從Github中發(fā)現(xiàn)了下面的項目,并且將其中一些用到了我的項目中。這些項目僅有一個包含了主要源代碼的文件。
Webview
Electronjs是使用網(wǎng)絡(luò)技術(shù)進(jìn)行跨平臺應(yīng)用開發(fā)的一個很受歡迎的選擇。但是,使用Electronjs構(gòu)建的應(yīng)用體積會變大,因為應(yīng)用包含Node運行時和Chromium瀏覽器。
另一方面,Webview項目再利用各操作系統(tǒng)現(xiàn)有的網(wǎng)絡(luò)瀏覽器庫,并且創(chuàng)建連接前端和終端的雙向溝通渠道來構(gòu)建零依賴的輕量級跨平臺應(yīng)用程序。Webview在單個C++頭文件中很好地組織了平臺特定的代碼。
Commander.js
有時我們需要運用Nodejs來實現(xiàn)命令行工具。如果解決方案中有幾個命令和選項,就可以輕松實現(xiàn)所有功能。但是如果命令行工具中有很多命令和選項,就需要查找?guī)靵硖幚砻詈瓦x項。Commander.js是用Nodejs實行命令行工具的極佳庫,該庫在單個JavaScript文件中運作。
JSONParser C++
JavaScript為JSON數(shù)據(jù)提供一流的支持。但是根據(jù)JSON規(guī)范,JSON的概念與語言無關(guān)。因此,幾乎所有語言都有JSON解析和序列的外部或內(nèi)部庫。同樣,這個只包括頭文件的項目是C++中用于JSON數(shù)據(jù)操作的庫。重要的是,它的語法對開發(fā)者非常友好,方便創(chuàng)建和更新JSON對象。
Docker
眾所周知,Docker是個功能齊全的應(yīng)用程序散裝化平臺,通過創(chuàng)建叫做“容器”的分立元件提供操作系統(tǒng)層級的虛擬化。有人運用大約一百行Bash來實現(xiàn)Docker的基本功能,這一過程主要使用btrfs命令和一組管理員實用命令。
O
React是個非常流行且高效的庫,通過遵循基于組件的結(jié)構(gòu)來構(gòu)筑高度動態(tài)的用戶界面。o是個由React庫最低限度的功能組成的實驗項目,它具備許多React的基本功能,例如類似JSX的模板支持和掛鉤。
希望本文能為你的項目提供幫助。