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