6

In the software development industry, [Open source is the only way to make technology popularized and landed]. Open source software systematically utilizes open development and distributed peer review to not only reduce development costs, but also improve software quality. The following are the open source projects of the ByteDance technical team in 2021. Which ones are worthy of attention, and they will be announced one by one below.

1, sonic

sonic is a Golang JSON library open sourced by ByteDance. It is based on Just-In-Time Compilation (Just-In-Time Compilation) and vectorized programming (Single Instruction Multiple Data) technology, which greatly improves the JSON encoding and decoding performance of Go programs. At the same time, combined with the lazy-load design idea, it also creates a comprehensive and efficient API for different business scenarios. Since its release in July 2021, sonic has been adopted by Douyin, Toutiao and other businesses, saving hundreds of thousands of CPU cores for ByteDance.

Project address : https://github.com/bytedance/sonic

2, btrace

btrace (also known as RheaTrace) is a high-performance Android Trace tool developed by the Douyin basic technical team. It is based on Systrace and improves on the shortcomings of Systrace. At present, a variety of apps have been connected, including Douyin, TikTok, Toutiao, Xingfuli, etc., and provide strong support for its experience optimization.

Project address: https://github.com/bytedance/btrace

3. Monoio

Monoio is a high-performance Rust Runtime based on the io-uring thread-per-core model open sourced by the ByteDance Service Framework Group. It aims to provide the necessary runtime for scenarios such as high-performance network middleware. In most tests with similar tools, Monoio has lower latency and higher throughput. Monoio provides the highest-performance Runtime implementation in thread-per-core scenarios. At present, Byte has begun to build the next generation of Service Mesh based on Rust and Monoio.

Project address: https://github.com/bytedance/monoio

4. ArcoDsign

ArcoDesign is an enterprise-level design system jointly launched by the ByteDance GIP UED team and the architecture front-end team. ArcoDesign has systematic design specifications and resources, and provides rich atomic components according to the specifications, covering frameworks and directions such as React, Vue, Mobile, and Chart. On the basis of atomic components, it also provides a wealth of customization tools, including style configuration platform, material platform, etc., and also provides resource platforms including IconBox, brand library, Arco Pro best practices, etc. It aims to help designers and developers free their hands, improve work efficiency, and create mid- and back-end applications that meet business specifications more efficiently and with high quality.

Official website: https://arco.design/

Project address: https://github.com/arco-design/arco-design

5. Modern.js

Modern.js was born out of the "Modern Web" development concept of front-end and back-end integration promoted by the ByteDance Web Infra team. It is a client-centric, front-end and back-end integration modern Web development framework. The framework can reduce the threshold of software application development and server-side, realize integrated development in the same set of programs, and achieve serverless in development, debugging, operation, deployment and other links, making it easier for developers of front-end technology stacks to become real product developer.

Official website: https://modernjs.dev/

Project address: https://github.com/modern-js-dev/modern.js

6. MBox

MBox is the basic technology of ByteDance Douyin and Client Infra-DevOps. According to the current situation and problems of mobile terminal research and development, combined with the practical experience of mobile terminal research and development tools, it is a self-developed research and development tool chain product for mobile terminal developers. MBox CLI (Command Line Tool) has been open sourced! CocoaPods (iOS) and Bundler projects are now supported, and more platform support will be added in the future. Through open source, we hope that more developers can join the ecological construction of MBox and bring an excellent R&D tool to the majority of mobile developers.

Project address: https://github.com/mboxplus/mbox

7. CloudWeGo

Over the years, behind the billion-level traffic, the technical base developed by the ByteDance infrastructure team has supported a huge microservice ecosystem. Since 2018, the number of online microservices maintained by the team has increased by nearly 600% to more than 50,000. In the face of such scale and growth, improving performance, scalability and stability has become the core of building CloudWeGo. As the project maintainer, the ByteDance infrastructure team has promoted the project to iterate on the CloudWeGo open source library. In the future, the team will insist on maintaining a set of codes inside and outside, unified iterative evolution, and gradually share more internal microservice best practices.

Project address: https://github.com/cloudwego

8. UME

ByteDance has accumulated more than 70 apps using Flutter technology, and there are more than 600 Flutter developers in the company. Behind this figure, there is a complete Flutter infrastructure link as support. UME is a Flutter in-app debugging tool produced by the ByteDance Flutter Infra team. The purpose is to provide in-app debugging functions without the Flutter IDE and DevTools. In ByteDance, the UME internal version has been polished for more than a year, serving nearly 20 apps, and many plug-in functions are widely praised by developers.

Project address: https://github.com/bytedance/flutter_ume

9. GEN

GEN is a GORM-based secure ORM framework, which mainly implements GORM code encapsulation through code generation. It aims to safely avoid SQL injection in business code, and at the same time bring the best user experience to R&D. It is jointly developed by ByteDance Wuheng Lab and GORM author ( https://github.com/jinzhu ). It has the characteristics of automatic synchronization of library tables, one-click code generation, field type safety, and elegant query return.

Project address: https://github.com/go-gorm/gen

10. OMGD

The Online Multi-Granularity Distillation (OMGD) algorithm published by the ByteDance technical team at ICCV 2021, the top computer vision conference, is dedicated to GAN models that are too large and computationally expensive. The pre-trained models of CycleGAN and Pix2Pix have already landed on products such as Douyin. Experiments show that this technology can reduce the calculation amount of the GAN model to 1/46 and the parameter amount to 1/82.

Project address: https://github.com/bytedance/OMGD


xiangzhihong
5.9k 声望15.3k 粉丝

著有《React Native移动开发实战》1,2,3、《Kotlin入门与实战》《Weex跨平台开发实战》、《Flutter跨平台开发与实战》1,2和《Android应用开发实战》