騰訊最熱門30款開源項目

開源是個好東西,馬化騰除了王者榮耀還是幹了些好事情的。騰訊最近開源的一些比較熱門的項目,可以學習瞭解下哈

0、Android 熱修復框架 Tinker ★Star 8967

Tinker是Android的熱修復解決方案庫,它支持dex,庫和資源更新,無需重新安裝apk。有一些問題,Tinker不能動態更新:

無法更新AndroidManifest.xml,例如添加Android組件。;不支持一些三星型號與os版本的android-21;由於Google Play開發者分發協議,我們無法動態更新我們的apk(詳情:

https://github.com/Tencent/tinker

1、微信客戶端跨平臺組件 Mars ★Star 8874

Mars 是微信官方的終端基礎組件,目前已接入微信 Android、iOS、Mac、Windows、WP 等客戶端。主要包括以下幾個部分:

● comm:可以獨立使用的公共庫,包括socket,線程,消息隊列,協程等;

● Xlog軟件:日誌組件,可靠性高,高性能

● SDT:網絡診斷組件

● STN:信令分發網絡模塊,也是Mars最主要的部分。圖。(詳情:https://github.com/Tencent/mars

2、微信移動數據庫框架 WCDB(WeChat Database) ★Star 3123

WCDB(WeChat Database)是一個高效、完整、易用的移動數據庫框架,基於SQLCipher,支持iOS, macOS和Android,WCDB於6月9日正式對外開源。

開源地址:https://github.com/Tencent/wcdb

WCDB for iOS/macOS 基本功能

  • WINQ(WCDB語言集成查詢): 通過WINQ,開發者無須爲了拼接SQL的字符串而寫一大坨膠水代碼。
  • ORM(Object Relational Mapping): WCDB支持靈活、易用的ORM。開發者可以很便捷地定義表、索引、約束,並進行增刪改查操作。
  • 多線程高併發: WCDB支持多線程讀與讀、讀與寫併發執行,寫與寫串行執行。
  • 加密:WCDB提供基於SQLCipher的數據庫加密。
  • 損壞修復: WCDB內建了Repair Kit用於修復損壞的數據庫。
  • 反注入: WCDB內建了對SQL注入的保護。

WCDB for Android 基本功能

  • 基於SQLCipher的數據庫加密
  • 使用連接池實現併發讀寫
  • 內建 Repair Kit 可用於修復損壞數據庫
  • 針對佔用空間大小優化的數據庫備份/恢復功能
  • 日誌輸出重定向以及性能跟蹤接口
  • 內建用於全文搜索的 mmicu FTS3/4 分詞器

3、手機前端開發調試工具 vConsole ★Star 2393

vConsole 是一款由微信公衆平臺前端團隊打造的前端調試面板,專治手機端看 log 難題。 目前 vConsole 自帶有 2 個面板,默認爲“日誌”面板,負責展示 log。 第二個是“系統”面板,vConsole 會自動將一些基礎信息(如系統版本)打印出來,方便開發者定位問題。若頁面是在微信內置瀏覽器中打開的,vConsole 還會打印出微信版本號、當前網絡類型等額外信息。(詳情:https://github.com/WechatFE/vConsole

4、微信團隊前端開發工具 WeFlow ★Star 2233

這是一個高效、強大、跨平臺(macOS & Win)的前端工具,核心基於 tmt-workflow 工作流.(詳情:

https://github.com/weixin/WeFlow

5、分佈式後臺服務引擎 MSEC ★Star 2221

毫秒服務引擎(MSEC)由騰訊 QQ 團隊開源。它是一個後端 DEV&OPS 引擎,包括RPC,名稱查找,負載平衡,監控,發佈和容量管理。毫秒服務引擎特性:

● 模塊間訪問採用RPC的方式,開發者不用關注網絡與報文格式,像寫單機程序一樣開發分佈式服務。

● 負載自動均衡與容錯,對於單機故障、局部網絡波動等狀況自動應對,服務高可用性。

● 支持 C/C++/java/PHP 語言,如果選擇 C/C++ 語言,支持協程,兼具開發和運行效率。

● Web 化的管理界面

● 簡易部署,需要複雜部署的服務器都採用docker鏡像的方式安裝

● 相比使用其他開源組件拼湊起來的解決方案,毫秒服務引擎更加的體系化,對團隊的規範更加到位(詳情:http://haomiao.qq.com/

6、隨身調測平臺GT ★Star 2183

GT(隨身調)是 APP 的隨身調測平臺,它是直接運行在手機上的“集成調測環境”(IDTE, Integrated Debug Environment)。利用 GT,僅憑一部手機,無需連接電腦,您即可對APP進行快速的性能測試(CPU、內存、流量、電量、幀率/流暢度等等)、 開發日誌的查看、Crash日誌查看、網絡數據包的抓取、APP 內部參數的調試、真機代碼耗時統計等。如果您覺得GT提供的功能還不夠滿足您的需要,您還 可以利用 GT 提供的基礎 API 自行開發有特殊功能的 GT 插件,幫助您解決更加複雜的 APP 調試問題。(詳情:

https://github.com/Tencent/GT

7、Unity3D 下 Lua 編程解決方案 xLua ★Star 1816

xLua爲Unity3D增加Lua腳本編程的能力,xLua在功能、性能、易用性都有不少突破,這幾方面分別最具代表性的是:

① 可以運行時把C#實現(方法,操作符,屬性,事件等等)替換成lua實現;

② 出色的GC優化,自定義struct,枚舉在Lua和C#間傳遞無C# gc alloc;

③ 編輯器下無需生成代碼,開發更輕量;

(詳情:https://github.com/Tencent/xLua

8、RPC開發框架Tars ★Star 1800

它是基於名字服務使用 Tars 協議的高性能 RPC 開發框架,配套一體化的運營管理平臺。Tars 是騰訊從 2008 年到今天一直在使用的後臺邏輯層的統一應用框架 TAF(Total Application Framework),目前支持 C ++ 和 Java 兩種語言。目前該框架在騰訊內部,各大核心業務都在使用,頗受歡迎,基於該框架部署運行的服務節點規模達到上萬個。(詳情:

https://github.com/Tencent/Tars

9、MySQL集羣PhxSQL ★Star 1759

PhxSQL是一個基於Paxos和Percona的高可用性和強大的一體化MySQL集羣,PhxSQL以單Master多Slave方式部署,在集羣內超過一半機器存活的情況下,可自身實現自動Master切換,且保證數據一致性。(詳情:https://github.com/tencent-wechat/phxsql

10、超輕量級 Web 手勢庫AlloyFinger ★Star 1734

可以看到hammerjs體積遠遠大於AlloyFinger,對於手機QQ web加載速度性能追求極致的同學來說,使用hammerjs的大小是不可以接受的!那麼,爲什麼hammerjs這麼大?看下架構設計便知♂(詳情:https://github.com/AlloyTeam/AlloyFinger)架構設計:

11、多機狀態拷貝類庫PhxPaxos ★Star 1244

PhxPaxos 是騰訊公司微信後臺團隊自主研發的一套基於 Paxos 協議的多機狀態拷貝類庫。它以庫函數的方式嵌入到開發者的代碼當中, 使得一些單機狀態服務可以擴展到多機器,從而獲得強一致性的多副本以及自動容災的特性。 這個類庫在微信服務裏面經過一系列的工程驗證,並且我們對它進行過大量的惡劣環境下的測試,使其在一致性的保證上更爲健壯。(詳情:

https://github.com/tencent-wechat/phxpaxos

12、Web組件化框架Omi ★1057

Omi是一款開放現代的Web組件化框架,有以下特性:

① 局部CSS:HTML+ Scoped CSS + JS組成可複用的組件。不用擔心組件的CSS會污染組件外的,Omi會幫你處理好一切

② 超小的尺寸:7 kb (gzip),雖然文件尺寸小,但是兼容性很好!

③ 更新更自由:每個組件都有update方法,可自由更新。

④ 模板引擎可替換,開發者可以重寫Omi.template方法來使用任意模板引擎

⑤ 完全面向對象

⑥ Omi提供了ES6+和ES5的兩種開發方案

(詳情:https://github.com/AlloyTeam/omi

13、UI 前端框架 QMUI Web ★Star 888

QMUI Web 是一個專注 Web UI 開發,幫助開發者快速實現特定的一整套設計的框架。通過 QMUI Web,開發者可以很輕鬆地提高 Web UI 開發的效率,同時保持了項目的高可維護性與穩健。如果你的項目需要有一套完整的設計,並且可能有頻繁的變動,那麼 QMUI Web 框架將會是你最好的解決方案。(詳情:

https://github.com/QMUI/QMUI_Web

14、curvejs ★Star 749

是騰訊AlloyTeam打造的一款魔幻線條框架,讓線條成爲一名優秀的舞者,讓線條們成爲優秀的舞團,HTML5 Canvas就是舞臺。其原理就是使用 Perlin-Noise + Particle System + Bézier Curve + Color Transition 製作而成。使用curvejs實現類似變幻線功能只需要不到10行代碼。 https://github.com/AlloyTeam/curvejs

15、基於C ++的RPC框架 PhxRPC ★Star 645

PhxRPC是微信後臺團隊推出的一個非常簡潔小巧的RPC框架,編譯生成的庫只有450K(詳情:

https://github.com/tencent-wechat/phxrpc

16、Web 開發調試工具AlloyLever ★533

AlloyLever 是騰訊 AlloyTeam 團隊開源的一款 Web 開發調試工具。AlloyLever的功能:點擊 alloylever 按鈕之間切換顯示或隱藏工具面板; Console會輸出所有用戶打印的日誌如 console.[log/error/info/debug/debug] ;Console會輸出所有的錯誤信息(腳本錯誤和網絡請求錯誤) ;XHR 面板會輸出所有(XMLHttpRequest)AJAX 請求和服務器端返回的數據; Resouces 面板會輸出所有的 Cookie 信息和 LocalStorage ;TimeLime 面板會輸出頁面相關的生命週期裏的時間段耗時情況(詳情:

https://github.com/AlloyTeam/AlloyLever

17、bk-cmdb ★Star 452

藍鯨配置平臺是一款面向應用的 CMDB,在 ITIL 體系裏,CMDB 是構建其它流程的基石,而在藍鯨智雲體系裏,配置平臺就扮演着基石的角色,爲應用提供了各種運維場景的配置數據服務。現有功能如下:用戶管理、業務管理、拓撲(集羣、模塊)管理、資源池管理、主機管理、日誌查詢(詳情:

https://github.com/Tencent/bk-cmdb

18、分佈式開發框架Pebble-RPC ★Star 351

Pebble是一個分佈式開發框架。基於該框架,可以讓開發者只需專注於業務邏輯的實現,而不需要關注基礎功能的開發,如網絡通信,數據存儲,集羣管理等。使用pebble配套的運營系統,可方便的進行遊戲開區開服,版本升級,擴容縮容等操作。當前發佈的Pebble版本,是一個Linux平臺C++版本的後臺開發框架。整個分佈式開發框架包括:服務管理、集羣管理、RPC通信、協程、廣播、進程框架。(詳情:https://github.com/TencentOpen/Pebble

19、UI自動化測試框架 GAutomator ★Star 337

GAutomator 是一 Unity 手遊的UI 自動化測試框架。

Windows Os 和軟件要求: Windows 7(32/64位),Windows 8或更高版本;python 2.7;Android SDK(或adb),在設備上啓用ADB設置,並使用usb與您的PC連接您的Android設備。Linux和軟件要求:Ubuntu 14.04 LTS;python 2.7;Android SDK(或adb),在設備上啓用ADB設置,並使用usb與您的PC連接您的Android設備。

Android:Android 4.3(API級別18)或更高版本。(詳情:https://github.com/Tencent/GAutomator

20、WeDemo ★Star 297

WeDemo 爲微信團隊開源項目,用於幫助微信開發者完成微信登錄、微信分享等功能的接入和開發。開發者可參考源代碼完成開發,也可以直接將代碼應用到自己的App開發中,安全、便捷地在App中實現微信分享、微信登錄功能。(詳情:https://github.com/Tencent/WeDemo

21、AI開發框架組件 Behaviac ★Star 297

Behaviac 是遊戲 AI 的開發框架組件,也是遊戲原型的快速設計工具。支持行爲樹BT,狀態機 FSM,HTN 等多種範式,方便的編輯和調試。支持全平臺,適用於客戶端和服務器,助力遊戲快速迭代開發。 編輯器可以運行在 PC 上,操作方便直觀可靠,支持實時和離線調試;編輯器可以導出 xml,bson 等多種格式,更可以導出 C++,C# 源碼,提供最高效率。 運行時支持全平臺,有 C++ 和 C# 兩個版本,原生支持 Unity。 (詳情:

https://github.com/Tencent/behaviac)

22、Fanvas ★Star 214

Fanvas是一個把swf轉爲html5 canvas動畫的系統,由兩部分組成:Actionscript實現的解析器、js運行庫。(詳情:https://github.com/Tencent/Fanvas

23、HaboMalHunter ★Star 161

HaboMalHunter 是 Habo Malware 分析系統(https://habo.qq.com)的子項目,可用於Linux系統上的自動惡意軟件分析和安全評估。該工具可用於 Linux x86 / x64 平臺上 ELF 文件的靜態和動態分析。(詳情:

https://github.com/Tencent/HaboMalHunter

24、基於ACE的服務框架 TEAF ★157

TEAF(Tencent Easy ACE Framework),基於 ACE 的高性能服務框架,單進程多線程模型,支持 select/epoll 等多種網絡 IO 模型,同時支持 tcp 和 udp 協議,支持二進制(pb等)和文本格式(json等,易於理解),相對多進程模型的框架來說更易維護,更輕量。業務側只需要開發自己的邏輯處理即可實現高性能的業務後臺服務器。已經在騰訊互娛(IEG)大部分平臺類產品中成熟應用,比如 idip,遊戲人生,心悅,幫幫,新終端遊戲中心 aj,cross 等,公司其他 BG 也有很多產品在使用。(詳情:

https://github.com/Tencent/Teaf

25、QT4A ★Star 67

QT4A(Android的快速測試)是適用於 Android 應用程序的 QTA 測試自動化驅動程序。支持Android 2.3 - 6.0 版本,需要設備根。支持多設備同時測試;支持跨進程,跨應用測試;支持進行過控件混淆的安裝包(需要映射文件);支持自定義控件(如果有代碼混淆需要映射文件)(詳情:

https://github.com/Tencent/QT4A

26、輔助測試工具 WeTest-Assistant ★Star 49

WeTest 助手包括性能測試和遠程調試兩大功能。手遊客戶端性能測試常用性能維度,CPU,內存,FPS,流量一次性全部收集, 圖表化展示,數據可按場景化分類,並且支持離線和在線兩種模式,地鐵上都可以做測試,Web上看報告。 支持ROOT和非ROOT安卓手機,支持越獄iOS系統。(詳情:https://github.com/Tencent/WeTest-Assistant

27、QT4i ★Star 44

QT4i是iOS應用程序的QTA測試自動化驅動程序。主要特性:輕鬆易用、支持iOS Native控件,webview控件和自定義控件;平臺支持,高效維護。(詳情:https://github.com/Tencent/QT4i

28、KNVProtoEngine ★Star 44

KNV是一個模式自由的高性能樹型協議處理引擎,是對Key-Value的一個通用結構化擴展。(詳情:

https://github.com/Tencent/KNVProtoEngine

29、優圖人臉識別 Python_sdk ★Star 32

優圖人臉識別(Face Recognition), 是由騰訊優圖團隊研發的,基於人的臉部特徵信息進行身份識別的一種生物識別技術。它提供了"人臉檢測與分析"、"人臉比對"、"人臉驗證"、"人臉識別"等一整套技術方案。(詳情:

https://github.com/TencentYouTu/python_sdk

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章