在软件开发行业,【开源是普及技术、下沉到地面的必由之路】。开源软件系统地利用开放式开发和分布式同行评审,不仅可以降低开发成本,还可以提高软件质量。以下是字节跳动技术团队2021年的开源项目,哪些值得关注,下面将一一揭晓。1.sonicsonic是字节跳动开源的一个GolangJSON库。基于即时编译(Just-In-TimeCompilation)和向量化编程(SingleInstructionMultipleData)技术,大大提高了Go程序的JSON编解码性能。同时,结合懒加载的设计思想,针对不同的业务场景,打造了一套完善高效的API。自2021年7月发布以来,Sonic已被抖音、今日头条等业务采用,累计为字节跳动节省数十万CPU内核。项目地址:https://github.com/bytedance/sonic2,btracebtrace(又称RheaTrace)是抖音基础技术团队开发的一款高性能AndroidTrace工具。它基于Systrace,针对Systrace的缺点进行改进。目前已接入包括抖音、抖音、今日头条、幸福里等在内的多款APP,为其体验优化提供有力支持。项目地址:https://github.com/bytedance/btrace3,MonoioMonoio是字节跳动服务框架组开源的基于io-uring的thread-per-core模型高性能RustRuntime,旨在提供高性能网络中间件等场景提供必要的运行时。在大多数使用类似工具的测试中,Monoio具有更低的延迟和更高的吞吐量。Monoio在thread-per-core场景中提供了最高性能的运行时实现。目前,Byte已经开始基于Rust和Monoio构建下一代ServiceMesh。项目地址:https://github.com/bytedance/monoio4,ArcoDsignArcoDesign是字节跳动GIPUED团队和架构前端团队联合推出的企业级设计系统。ArcoDesign拥有系统的设计规范和资源,并提供丰富的基于规范的原子组件,涵盖React、Vue、Mobile、Chart等框架和方向。在原子组件的基础上,还提供了丰富的定制化工具,包括风格配置平台、材质平台等,还提供了包括IconBox、品牌库、ArcoPro最佳实践等资源平台,旨在帮助设计师和开发人员解放双手,提高工作效率,更高效、更优质地打造满足业务规范的中后台应用。官网:https://arco.design/项目地址:https://github.com/arco-design/arco-design5、Modern.jsModern.js脱胎于“前后端一体化”字节跳动WebInfra团队倡导的“ModernWeb”开发理念是以客户端为中心、前后端一体化的现代Web开发框架。该框架可以降低软件应用开发和服务端的门槛,在同一套程序中实现集成开发,在开发、调试、运行、部署等环节实现Serverless,让前端技术开发者更轻松堆栈成为真正的产品开发人员。官网:https://modernjs.dev/项目地址:https://github.com/modern-js-dev/modern.js6,MBoxMBox是字节跳动的基础技术抖音,ClientInfra-DevOps是根据开发的针对移动端的现状和出现的问题,结合移动端研发工具的实践经验,自主研发的一款面向移动端开发者的研发工具链产品。MBoxCLI(命令行工具)已经开源!现已支持CocoaPods(iOS)和Bundler项目,未来会增加更多平台支持。通过开源,我们希望更多的开发者能够加入到MBox的生态建设中,为广大移动开发者带来一款优秀的研发工具。项目地址:https://github.com/mboxplus/mbox7,CloudWeGo多年来,亿级流量的背后,是字节跳动基础架构团队研发的技术基础,支撑着庞大的微服务生态。从2018年至今,团队维护的在线微服务数量增长近600%,达到5万多个。面对这样的规模和增速,提升性能、可扩展性和稳定性成为打造CloudWeGo的核心。作为项目维护者,字节跳动基础架构团队推动项目基于CloudWeGo开源库进行迭代。未来团队将坚持对内对外维护一套代码,统一迭代演进,逐步分享更多内部微服务最佳实践。项目地址:https://github.com/cloudwego8,UME字节跳动已经积累了超过70个使用Flutter技术的APP,公司内有600多名Flutter开发者。在这个数字的背后,有完整的Flutter基础设施环节作为支撑。UME是字节跳动FlutterInfra团队出品的一款Flutter应用内调试工具,旨在提供无需FlutterIDE和DevTools的应用内调试。在字节跳动,UME内部版本打磨了一年多,服务了近20款APP,众多插件功能广受开发者好评。项目地址:https://github.com/bytedance/flutter_ume9,GENGEN是一个基于GORM的安全ORM框架,主要通过代码生成实现GORM代码封装。旨在安全避免业务代码中的SQL注入,为研发带来最佳的用户体验,由字节跳动五恒实验室与GORM(https://github.com/jinzhu)作者联合开发。具有库表自动同步、一键生成代码、字段类型安全、查询优雅返回等特性。项目地址:https://github.com/go-gorm/gen10,OMGD字节跳动技术团队在顶级计算机视觉大会上发表的在线多粒度蒸馏算法(OnlineMulti-GranularityDistillation,简称OMGD)ICCV2021.为解决GAN模型体积过大,占用算力过大的问题,开源了CycleGAN和Pix2Pix的代码和预训练模型,并在产品中实现了抖音.实验表明,该技术可以将GAN模型的计算量最少减少到1/46,参数数量最少减少到1/82。项目地址:https://github.com/bytedance/OMGD
