c++/c#/android/ios/web里各有哪些輕量級開源項目適合入門者?
請注意「輕量級」和「入門者」兩個關鍵詞。
首先,代碼量不要大大,不能一個項目編譯後幾十兆。其次,代碼可讀性要高,適合入門者。再次,代碼要規範,不要類似xx青鳥、xx播客的學生作業。
推薦幾款不同類型的輕量級開源項目給題主,供大家一起交流學習。
C++類:
1. 項目名稱:輕量級嵌入式腳本語言 fakescript
項目介紹:fakescript 是一款輕量級的嵌入式腳本語言,使用 c++ 語言編寫,語法吸取自 lua、golang、erlang,基於 flex、bison 生成語法樹,編譯成位元組碼解釋執行。與 lua 相比,運行速度不相上下,更易使用,源代碼可讀性更強。
腳本特性:
- 語法類似 lua。
- 全部為函數。
- 支持 array,map,可以無限嵌套。
- 支持 fake testfunc(param1) 產生 routine,實現假多線程效果。
- 支持 C 函數和類成員函數的綁定。
- 自帶解釋器,JIT 部分支持。
- 支持多返回值。
- 自帶 profile,可獲取腳本各個函數運行時間。
- 支持熱更新。
- 支持 Int64。
- 支持 const 定義。
- 支持包。
- 支持 struct。
- 支持打包 bin 文件或可執行文件。
- 自帶 gdb 風格的命令行調試器,以及 vs 風格的可視化編輯調試ide。
- 可在 C 里直接通過介面調用,開始命令行調試。
項目地址:esrrhs/fakescript - 碼雲 - 開源中國
2. 項目名稱:基於 C++11 的輕量級網路框架
項目簡介:本項目是一個基於 C++11 的輕量級網路框架,基於線程池技術可以實現大並發網路 IO。
網路庫
- tcp/udp 客戶端,介面簡單易用並且是線程安全的,用戶不必關心具體的 socket api 操作。
- tcp 伺服器,使用非常簡單,只要實現具體的 tcp 會話(TcpSession 類)邏輯,使用模板的方式可以快速的構建高性能的伺服器。
- 對套接字多種操作的封裝。
線程庫:
- 使用線程實現的簡單易用的定時器(AsyncTaskThread)。
- 讀寫鎖。
- 信號量的封裝(ios下用條件變數實現)。
- 自旋鎖。
- 線程組。
- 簡單易用的線程池,可以非同步或同步執行任務,支持 functional 和 lambad 表達式。
項目地址:xiahcu/ZLToolKit - 碼雲 - 開源中國
3. 項目名稱:輕量級開源詞典軟體 AlphaDict
項目簡介:它是一個輕量級的開放詞典格式的開源詞典軟體,你可以製作自己的詞典, 也是一個跨平台的軟體支持 linux, unix and windows。
功能特性:
- 支持大量第三方詞典格式:cedict,startdict,dicts,info,IDP,etc。
- 屏幕取詞功能。
- 生詞本。
- 容易製作自己的詞典。
項目地址:kartorz/AlphaDict - 碼雲 - 開源中國
C#:
1. 項目名稱:輕量級的代碼生成工具 CodeBuilder
項目簡介:CodeBuilder 是一款簡單易用且輕量級的基於資料庫物理模型的代碼( C# / java / ruby / php / xml 等)生成工具。
項目地址:xianrendzw/CodeBuilder - 碼雲 - 開源中國
PHP:
1. 項目名稱:輕量級通用後台 lyadmin
項目簡介:lyadmin 是一套輕量級通用後台,採用 Bootstrap3 製作,自帶許可權管理,模塊化開發。
項目地址:jry/lyadmin - 碼雲 - 開源中國
2. 項目名稱:輕量論壇社區系統 StartBBS
項目簡介:StartBBS(起點開源社區系統)是一個基於 CodeIgniter 框架開發的 PHP 新型社區系統,她輕量小巧、簡單易用、強大高效,又簡稱 」STB(燒餅BBS)」
項目地址:startbbs/startbbs - 碼雲 - 開源中國
Android:
1. 項目名稱:基於環信的輕量級 IM
項目簡介:Android 輕量級 IM 開源項目,基於環信 Sdk3.x 版本。項目中基礎架構類似 MVP,但不是按照安卓官方標準來的,而是在自己的理解上精簡了部分,且沒有做整體的 MVP 封裝,但是應該不會影響代碼理解。
主要功能:
- 聊天模塊,包含文字聊天、語音聊天、發送圖片、短視頻、實時音頻通話、實時視頻通話。
- 通訊錄:可獲取系統通訊錄,和環信好友關係整合。
- 撥號器:自定義的簡單撥號盤,方便老人直接撥打電話。
項目地址:vanish136/FamilyChat - 碼雲 - 開源中國
IOS:
1. 項目名稱:輕量級日誌列印工具類 xxlogger
項目簡介:xxlogger 是日誌列印工具類,提供對 java,object-c,c 的支持。xxlogger 中的 xx 指某種語言。
項目地址:itfriday/xxlogger - 碼雲 - 開源中國
歡迎關注碼雲,一個專為開發者提供穩定、高效、安全的雲端軟體開發協作平台,無論是個人、團隊、或是企業,都能夠用碼雲實現代碼託管、項目管理、協作開發,更有代碼質量分析、項目演示等豐富功能,歡迎放碼過來。
碼雲知乎機構賬號的「放碼雲間」文章專題為你推薦優質的開源項目資訊,展現最新的行業動態。
碼雲 - 開源中國代碼託管平台
如果只是學習的話C#方面推薦:
Microsoft All-In-One Code Framework - a centralized code sample library
MSDN Examples in C#, VB.NET, C++, JavaScript, F#
這裡面有大量代碼示例
如果不單純學習的話:
Microsoft/dotnet
quozd/awesome-dotnet
http://codeplex.com上還有很多
ZThread源碼就比較短,開源的,很快就可以看完,可以學習到設計模式,POSIX和Native WIN32 Thread編程,可以輔助理解操作系統概念,智能指針封裝,API設計等等
還可以研究uCOSII嵌入式操作系統代碼,也比較短,C語言的代碼。
php可以嘗試閱讀WordPress源碼不用管項目大小,開源項目,找自己感興趣的,直接看patch或者commit,可以從小的開始
這裡我值給你分享幾個PHP的開源輕量級項目吧。
這也是我們公司一直在維護的幾個開源項目。
首先是一個簡單的PHP框架——zentaoPHP,絕對輕量級,不像其他框架那麼臃腫。
zentaoPHP - 易軟天創開發者中心
再就是我們基於該框架而開發的開源項目產品:禪道項目管理,蟬知企業門戶,然之辦公協同
鑒於LZ的情況和目的,這裡不推薦禪道,建議LZ看下蟬知企業門戶系統和然之協同辦公系統,項目不大,代碼規範,研讀幾遍,LZ定有收穫。
蟬知企業門戶系統 - 開源免費 CMS系統
然之協同辦公系統
iOS的話, 可以看看beeframework
C++的話,用leveldb就挺好的。
C#的話 官方那幾個就不錯
一個musicstore 一個eshop 都是.net core的
具體可以在github上找找c++:cocos2dx / libevent / libev
推薦閱讀:
※遠程系統更新升級是什麼原理?
※android UI設計MVVM設計模式討論?
※Android 的 Rom 如何有效的推廣,小米的 Rom 推廣有何特點和值得學習的地方?
※當前旗艦智能手機的綜合性能已經達到了哪個時期的PC水平?