不完整收錄:過去一年字節(jié)開源的10個項目丨字節(jié)技術年貨(字節(jié)開發(fā)平臺)
不完整收錄:過去一年字節(jié)開源的10個項目丨字節(jié)技術年貨(字節(jié)開發(fā)平臺)
祝全天下的開發(fā)者朋友,新年職業(yè)發(fā)展虎嘯風生,新年工資增速如虎添翼,新年愛情運勢虎躍龍驤,新年代碼事故虎口逃生,虎!虎!虎!
開源“圣經(jīng)”《大教堂與集市》一書中曾言:任何行業(yè)的成功幾乎都直接和這個行業(yè)供應商及客戶所享有的自由度相關。而在軟件開發(fā)行業(yè),開源是讓技術走向普及、下沉落地的不二法門。開源軟件系統(tǒng)性地利用開放式開發(fā)和分布式同行評審,不僅降低了開發(fā)成本,還提高了軟件質(zhì)量。由此,"Open Source is eating the world"從臆想變?yōu)榱爽F(xiàn)實。
字節(jié)跳動技術團隊過去一年間,以審慎的態(tài)度在開源領域穩(wěn)扎穩(wěn)打,陸續(xù)向社區(qū)開放了多個經(jīng)過內(nèi)部業(yè)務驗證的開源項目,也向社區(qū)反哺了多個主流開源項目的新特性。
以下內(nèi)容為字節(jié)跳動技術團隊公眾號所發(fā)布的字節(jié)跳動開源技術集合,以饗讀者。
干貨太多,請先點贊、在看、轉(zhuǎn)發(fā)、收藏一鍵四連~
sonic :基于 JIT 技術的開源全場景高性能 JSON 庫
sonic 是字節(jié)跳動開源的一款 Golang JSON 庫,基于即時編譯(Just-In-Time Compilation)與向量化編程(Single Instruction Multiple Data)技術,大幅提升了 Go 程序的 JSON 編解碼性能。同時結(jié)合 lazy-load 設計思想,它也為不同業(yè)務場景打造了一套全面高效的 API。自 2021 年 7 月份發(fā)布以來, sonic 已被抖音、今日頭條等業(yè)務采用,累計為字節(jié)跳動節(jié)省了數(shù)十萬 CPU 核。
項目地址:https://github.com/bytedance/sonic
sonic:基于 JIT 技術的開源全場景高性能 JSON 庫
btrace:基于 Systrace 的高性能 Trace 工具
btrace(又名 RheaTrace) 是抖音基礎技術團隊自研的一款高性能 Android Trace 工具,它基于 Systrace 實現(xiàn),并針對 Systrace 不足之處加以改進。目前已有多款 App 接入,包括抖音、TikTok、今日頭條、幸福里等,并為其體驗優(yōu)化提供強有力支持。
項目地址:https://github.com/bytedance/btrace
btrace 開源!基于 Systrace 高性能 Trace 工具
Monoio:基于 io-uring 的高性能 Rust Runtime
Monoio 是字節(jié)跳動服務框架組開源的基于 io-uring 的 thread-per-core 模型高性能 Rust Runtime,旨在為高性能網(wǎng)絡中間件等場景提供必要的運行時。在與同類型工具的絕大部分測試中,Monoio 都具有更低的延遲和更高的吞吐。Monoio 提供了 thread-per-core 場景下最高性能的 Runtime 實現(xiàn),目前字節(jié)已經(jīng)開始基于 Rust 和 Monoio 構(gòu)建下一代 Service Mesh。
項目倉庫:https://github.com/bytedance/monoio
Monoio:基于 io-uring 的高性能 Rust Runtime
企業(yè)級設計系統(tǒng) ArcoDsign
ArcoDesign 是由字節(jié)跳動 GIP UED 團隊和架構(gòu)前端團隊聯(lián)合推出的企業(yè)級設計系統(tǒng)。ArcoDesign 擁有系統(tǒng)的設計規(guī)范和資源,同時依據(jù)規(guī)范提供了豐富的原子組件,覆蓋了 React、Vue、Mobile、Chart 等框架和方向。在原子組件基礎上也提供了豐富的定制化工具,包括風格配置平臺、物料平臺等,也提供了資源平臺包括 IconBox、品牌庫、Arco Pro 最佳實踐等。旨在幫助設計師與開發(fā)者解放雙手、提升工作效率,更高效、高質(zhì)量的打造符合業(yè)務規(guī)范的中后臺應用。
官網(wǎng):https://arco.design/
項目地址:https://github.com/arco-design/arco-design
現(xiàn)代 Web 開發(fā)框架 Modern.js
Modern.js 脫胎于字節(jié)跳動 Web Infra 團隊推動的前后端一體化的“現(xiàn)代 Web”開發(fā)理念,是以客戶端為中心,前后端一體的現(xiàn)代 Web 開發(fā)框架。該框架能降低軟件應用開發(fā)和服務器端門檻,實現(xiàn)在同一套程序里一體化開發(fā),在開發(fā)、調(diào)試、運行、部署等環(huán)節(jié)做到無服務器化,讓前端技術棧的開發(fā)者更容易成為真正的產(chǎn)品開發(fā)者。
官網(wǎng):https://modernjs.dev/
項目地址:https://github.com/modern-js-dev/modern.js
移動研發(fā)工具鏈 MBox
MBox 是字節(jié)跳動抖音基礎技術、Client Infra-DevOps 根據(jù)移動端研發(fā)出現(xiàn)的現(xiàn)狀與問題,結(jié)合移動端研發(fā)工具相關實踐經(jīng)驗,自研的一款面向移動端開發(fā)者的研發(fā)工具鏈產(chǎn)品。MBox CLI (Command Line Tool) 已經(jīng)開源啦!現(xiàn)已支持 CocoaPods (iOS) 與 Bundler 項目,后續(xù)將增加更多平臺支持。通過開源,我們希望更多的開發(fā)者能夠加入到 MBox 的生態(tài)建設中來,為廣大的移動端開發(fā)者帶來一款出色的研發(fā)工具。
項目地址:https://github.com/mboxplus/mbox
一文讀懂字節(jié)跳動自研移動研發(fā)工具鏈 MBox
微服務中間件 CloudWeGo
多年來,在億級流量背后,字節(jié)跳動基礎架構(gòu)團隊開發(fā)的技術底座支撐著龐大的微服務生態(tài)系統(tǒng),從 2018 年至今,團隊維護的在線微服務數(shù)量增長了近 600%,超過 5 萬。面對這樣的規(guī)模和增速,提高性能、可擴展性和穩(wěn)定性成了構(gòu)建 CloudWeGo 的核心。作為項目維護方,字節(jié)跳動基礎架構(gòu)團隊已推進項目以 CloudWeGo 開源庫為主進行迭代,未來,團隊將堅持內(nèi)外維護一套代碼,統(tǒng)一迭代演進,并逐步分享更多內(nèi)部微服務最佳實踐。
項目地址:https://github.com/cloudwego
字節(jié)跳動正式開源內(nèi)部微服務中間件 CloudWeGo
Flutter 應用內(nèi)調(diào)試工具 UME
字節(jié)跳動已有累計超過 70 款 App 使用了 Flutter 技術,公司內(nèi)有超過 600 位 Flutter 開發(fā)者。在這一數(shù)字背后,有一條完整的 Flutter 基礎設施鏈路作為支撐。UME 是由字節(jié)跳動 Flutter Infra 團隊出品的 Flutter 應用內(nèi)調(diào)試工具,目的是在脫離 Flutter IDE 與 DevTools 的情況下,提供應用內(nèi)的調(diào)試功能。在字節(jié)跳動,UME 內(nèi)部版已打磨了超一年時間,服務了近二十個 App,眾多插件功能廣受開發(fā)者好評。
項目地址:https://github.com/bytedance/flutter_ume
安全好用的 ORM 框架-GEN
GEN 是一個基于 GORM 的安全 ORM 框架,其主要通過代碼生成方式實現(xiàn) GORM 代碼封裝。旨在安全上避免業(yè)務代碼出現(xiàn) SQL 注入,同時給研發(fā)帶來最佳用戶體驗,由字節(jié)跳動無恒實驗室與 GORM 作者(https://github.com/jinzhu)聯(lián)合研發(fā)。具有自動同步庫表、代碼一鍵生成、字段類型安全、查詢優(yōu)雅返回等特性。
項目地址:https://github.com/go-gorm/gen
無恒實驗室聯(lián)合GORM推出安全好用的ORM框架-GEN
GAN 模型壓縮框架 OMGD
字節(jié)跳動技術團隊在計算機視覺頂會 ICCV 2021 上發(fā)表的在線多粒度蒸餾算法(Online Multi-Granularity Distillation,簡稱 OMGD),專治 GAN 模型體積過大、太費算力,目前已經(jīng)開源了代碼 以及 CycleGAN 與 Pix2Pix 的預訓練模型,并且已經(jīng)在抖音等產(chǎn)品上落地。實驗表明,這項技術可以把 GAN 模型的計算量最低減少到原來的 1/46、參數(shù)量最低減少到原來的 1/82。
項目地址:https://github.com/bytedance/OMGD
字節(jié)跳動開源GAN模型壓縮框架,算力最高節(jié)省97.8%丨ICCV 2021
下期字節(jié)技術年貨預告:自研篇
正月初三11:00,不見不散!