长按图片识别二维码报名参与码云用户见面交流会
在过去几年里,Facebook 已然发展成为开源界规模最大、最活跃的企业之一。 2016年,Facebook 共推出了77个新项目,贡献者提交了6万次。目前总共有近400个项目和超过50万个关注者。
2016年,从提交的总数来看,Facebook 最受关注的项目依然都是前几年开源的。前五名依次为 Nuclide 、React Native、HHVM、Buck 和 PrestoDB。
Facebook 的两个旗舰项目,React 和 React Native ,2016年分别有超过5万和4万名关注用户。 此外,Pop、Immutable 、Create React App 有超过1.5万;HipHop VM(HHVM) 、Flux 、Fresco 有超过1万;另外还有20+个项目,都有超过5000的关注用户。
2016年,Facebook 还有一些值得注意的新项目:
Draft.js 是一个基于 React 的富文本编辑器框架,提供一致的模型以及跨浏览器差异化的抽象,发布之后广受欢迎。
另一个是前面有提到的,基于 React 的项目 —— Create React App,它是第一个在 Facebook孵化器 中启动的项目,代表着一个新的起始点。也是 Facebook 用来评估一个项目如何被社区接受,并决定如何进行长期管理的重要参考项目。Create React App 将构建新应用所需的一切内容都封装到单个命令行工具中,做到不用配置就可以创建 React App。
在2016年4月的 F8 大会上,Facebook 为 Android 和 iOS 发布了一套新的工具,展示如何使用 React Native 和与之配合的技术堆栈来轻松构建跨平台应用。在9月的年度@Scale会议上,开源了 Zstandard,一种新的数据压缩算法。
此外,Facebook 开源了快速文本分类器 FastText,目前拥有超过5000个关注者。还开源了一个相机系统 Surround360,一款全景相机和先进的图像拼接软件。
10月,Facebook 贡献了 Yarn。这是一个与 Exponent、Google 和 Tilde 共同构建的新型 JavaScript 包管理器。到12月份,已有1100多个提交。
Facebook 中的许多团队也在与行业中的其他人合作。比如与 Spotify 合作,对静态代码分析工具 Infer 进行改进,并与其构建系统集成。
同时,Facebook 向核心 Chef 提供了大量的 pull 请求,并在成为Chef Board委员会的一员后,开源了22个新的 Chef cookbook ,为 systemd 提供了 cgroup2 支持。其内核团队的21位工程师对主流 Linux 提交了600多个贡献,包括 cgroups2、MD/RAID5缓存、eBPF、btrfs 和缓冲写回修复。
2016年 Facebook 总共有超过 2700 个外部贡献者的 13,000 次请求,比去年增加了40%。
以上内容整理自 Facebook 发布的回顾博客 Facebook Open Source 2016 year in review。开头有提到,2016年 Facebook 开源了77个项目,除了文中提及到的,还有不少都颇为优秀。在此,再额外选取部分进行简单补充:
Yoga是一个 CSS3/Flexbox 的跨平台实现(不再限于 html )。借助它,开发人员可以在 React Native 和各个平台上快速地构建 UI 布局。通过实现许多设计师熟悉的 API 并在不同平台上向开发人员开放,以实现团队内的最大协作。
一款用于分析 iOS 内存使用和检测循环引用的工具库。这个库显示 FBAllocationTracker 和 FBRetainCycleDetector 怎么能一起合作,以及如何在真正的应用程序中使用。
一个 Android 字节码的优化工具。它提供了 .dex 文件的读写和分析框架,并提供一组优化策略来提升字节码。
是一个兼容 Parse.com API 的路由包,用于 Express。它是 Parse 后端的开源版本,可以部署到任何可以运行 Node.js 的基础架构。可以添加到现有的 Web 应用,也可以自行运行。
一款深度学习框架。是用 Lua 脚本语言写成,能够在标准的 x86 芯片或图形处理单元(GPUs)上运行,也可以让程序员重用某些代码。这样一来就能够降低工作量,同时也可以降低出现 bug 的几率。