2021,字節最值得關注的10個開源項目

語言: CN / TW / HK

在軟件開發行業,【開源是讓技術走向普及、下沉落地的不二法門】。開源軟件系統性地利用開放式開發和分佈式同行評審,不僅降低了開發成本,還提高了軟件質量。 以下是字節跳動技術團隊2021年開源的項目,有哪些值得關注呢,下面一一揭曉。

1,sonic

sonic 是字節跳動開源的一款 Golang JSON 庫,基於即時編譯(Just-In-Time Compilation)與向量化編程(Single Instruction Multiple Data)技術,大幅提升了 Go 程序的 JSON 編解碼性能。同時結合 lazy-load 設計思想,它也為不同業務場景打造了一套全面高效的 API。自 2021 年 7 月份發佈以來, sonic 已被抖音、今日頭條等業務採用,累計為字節跳動節省了數十萬 CPU 核。

項目地址: https:// github .com/bytedance/sonic

2,btrace

btrace(又名 RheaTrace) 是抖音基礎技術團隊自研的一款高性能 Android Trace 工具,它基於 Systrace 實現,並針對 Systrace 不足之處加以改進。目前已有多款 App 接入,包括抖音、TikTok、今日頭條、幸福裏等,併為其體驗優化提供強有力支持。

項目地址: https:// github.com/bytedance/bt race

3,Monoio

Monoio 是字節跳動服務框架組開源的基於 io-uring 的 thread-per-core 模型高性能 Rust Runtime,旨在為高性能網絡中間件等場景提供必要的運行時。在與同類型工具的絕大部分測試中,Monoio 都具有更低的延遲和更高的吞吐。Monoio 提供了 thread-per-core 場景下最高性能的 Runtime 實現,目前字節已經開始基於 Rust 和 Monoio 構建下一代 Service Mesh。

項目地址: https:// github.com/bytedance/mo noio

4,ArcoDsign

ArcoDesign 是由字節跳動 GIP UED 團隊和架構前端團隊聯合推出的企業級設計系統。ArcoDesign 擁有系統的設計規範和資源,同時依據規範提供了豐富的原子組件,覆蓋了 React、Vue、Mobile、Chart 等框架和方向。在原子組件基礎上也提供了豐富的定製化工具,包括風格配置平台、物料平台等,也提供了資源平台包括 IconBox、品牌庫、Arco Pro 最佳實踐等。旨在幫助設計師與開發者解放雙手、提升工作效率,更高效、高質量的打造符合業務規範的中後台應用。

官網: https:// arco.design/

項目地址: https:// github.com/arco-design/ arco-design

5,Modern.js

Modern.js 脱胎於字節跳動 Web Infra 團隊推動的前後端一體化的“現代 Web”開發理念,是以客户端為中心,前後端一體的現代 Web 開發框架。該框架能降低軟件應用開發和服務器端門檻,實現在同一套程序裏一體化開發,在開發、調試、運行、部署等環節做到無服務器化,讓前端技術棧的開發者更容易成為真正的產品開發者。

官網: https:// modernjs.dev/

項目地址: https:// github.com/modern-js-de v/modern.js

6,MBox

MBox 是字節跳動抖音基礎技術、Client Infra-DevOps 根據移動端研發出現的現狀與問題,結合移動端研發工具相關實踐經驗,自研的一款面向移動端開發者的研發工具鏈產品。MBox CLI (Command Line Tool) 已經開源啦!現已支持 CocoaPods (iOS) 與 Bundler 項目,後續將增加更多平台支持。通過開源,我們希望更多的開發者能夠加入到 MBox 的生態建設中來,為廣大的移動端開發者帶來一款出色的研發工具。

項目地址: https:// github.com/mboxplus/mbo x

7,CloudWeGo

多年來,在億級流量背後,字節跳動基礎架構團隊開發的技術底座支撐着龐大的微服務生態系統,從 2018 年至今,團隊維護的在線微服務數量增長了近 600%,超過 5 萬。面對這樣的規模和增速,提高性能、可擴展性和穩定性成了構建 CloudWeGo 的核心。作為項目維護方,字節跳動基礎架構團隊已推進項目以 CloudWeGo 開源庫為主進行迭代,未來,團隊將堅持內外維護一套代碼,統一迭代演進,並逐步分享更多內部微服務最佳實踐。

項目地址: https:// github.com/cloudwego

8,UME

字節跳動已有累計超過 70 款 App 使用了 Flutter 技術,公司內有超過 600 位 Flutter 開發者。在這一數字背後,有一條完整的 Flutter 基礎設施鏈路作為支撐。UME 是由字節跳動 Flutter Infra 團隊出品的 Flutter 應用內調試工具,目的是在脱離 Flutter IDE 與 DevTools 的情況下,提供應用內的調試功能。在字節跳動,UME 內部版已打磨了超一年時間,服務了近二十個 App,眾多插件功能廣受開發者好評。

項目地址: https:// github.com/bytedance/fl utter_ume

9,GEN

GEN 是一個基於 GORM 的安全 ORM 框架,其主要通過代碼生成方式實現 GORM 代碼封裝。旨在安全上避免業務代碼出現 SQL 注入,同時給研發帶來最佳用户體驗,由字節跳動無恆實驗室與 GORM 作者( https:// github.com/jinzhu )聯合研發。具有自動同步庫表、代碼一鍵生成、字段類型安全、查詢優雅返回等特性。

項目地址: https:// github.com/go-gorm/gen

10,OMGD

字節跳動技術團隊在計算機視覺頂會 ICCV 2021 上發表的在線多粒度蒸餾算法(Online Multi-Granularity Distillation,簡稱 OMGD),專治 GAN 模型體積過大、太費算力,目前已經開源了代碼 以及 CycleGAN 與 Pix2Pix 的預訓練模型,並且已經在抖音等產品上落地。實驗表明,這項技術可以把 GAN 模型的計算量最低減少到原來的 1/46、參數量最低減少到原來的 1/82。

項目地址: https:// github.com/bytedance/OM GD