扫码打开虎嗅APP
本文转自微信公众号: InfoQ(ID:infoqchina),作者:Tina、Amos。
在昨天的 GitHub Universe 开发者大会上,GitHub 发布了史上最大更新:可直接运行部分代码的 GitHub Actions,以及宣布了 2018 年的 GitHub 年度报告,包括最热门的开源项目和编程语言,让我们一起来先睹为快!
自 2008 年推出,GitHub 目前已经是互联网上最大的项目管理和开源协作平台,目前拥有 9600 万个项目,截止至 9 月 30 日,该平台拥有 3100 万用户,这个数据去年是 2400 万。今年 6 月,微软以 75 亿美元的价格收购了 GitHub,预计在年底完成收购。
GitHub 史上最大更新
在年度 GitHub Universe 大会上,GitHub 发布了史上最大的版本更新:可以让所有人直接运行部分代码!GitHub 的平台主管 Sam Lambert 把这次更新描述为“GitHub 史上最大转变”。
以前我们使用 GitHub 基本上只有几个动作:上传、搜索、下载。如果需要测试 GitHub 上面的一个项目,我们必须下载到本地运行。而新产品 GitHub Actions,提供给了程序员一种自动管理代码的工具,包括测试和技术支持。Sam Lambert 表示,经常有些用户会自己编写机器人软件来运行测试或者有 bug 报告被提交时自动发送短信通知相关人员,但这些工具需要运行在一个 GitHub 平台之外的服务器上。现在这些可以交给 GitHub 来完成了,虽然不能满足每个人的要求,但是程序员也可以在上面开发自己的功能。
当有人提交代码的时候,GitHub Actions 可以直接把提交的部分代码当做工作流,来完成一些特定操作,比如在 Twitter 上发布一张照片。Lambert 描述这有点像用"if this then that“的逻辑来运行代码块。
新服务今天发布测试版,包含了 450 个预设“指令”。除了自己编写“指令”外,还可以使用 Docker 捆绑现有应用程序在 GitHub 上运行,这意味着新项目开始后,团队可以自己定制代码管理工具了。同时 GitHub 也做了一些限定,以免 GitHub Actions 变成了公众 Web 服务器。
另外 GitHub 安全系统也升级了,提供了一种 Token 扫描功能。当上传项目到 GitHub 的时候,它会检测用户是否上传了一些隐私信息。比如如果有秘密密钥或密码一类的信息被推送到了公共分支,主动警报功能就能提醒开发人员甚至云提供商。有了这项功能,类似华住集团拖库这种事情就可以得到有效的防范了。
开发者和组织
今年总共有 210 万个组织使用 GitHub,比 2017 年报告中的 150 万增加了 40%。目前托管的 9600 万个项目中,约有三分之一是在过去一年内创建的。
美国、中国和印度是 contributors 数量最多的三个国家,中国今年占据第二位,提升了一个名次。今年有 800 万新开发者加入 GitHub,并且新增注册数量最多的也依次是美国、中国和印度。2018 年的新增用户数远远超过了前六年的总和。新的 contributors 是 2017 年的 1.6 倍。
但代码提交最多的是亚洲,且亚洲开源项目数量已超过其他任何地方。
GitHub 上最大的开源组织
GitHub 上也活跃着很多开发者组织,有些是公司,有些是学校,还有些是非盈利团体。下面是成员数量最多的一些组织。
Microsoft:7700
Google:5500
Red Hat:3300
UC Berkeley:2700
Intel:2200
Univ. of Washington:1800
Facebook:1700
MIT:1700
Univ. of Michigan:1600
Stanford:1600
开发者维护开源项目的时间,一般是在晚上,甚至晚上 11 点依然保持活跃。中国的新年,以及五一劳动节,美国的感恩节和独立日,这些节日中 GitHub 的项目会相应缩减,而一年之中最安静的时候,是在“新年”(1 月 1 日)。
今年年初发布的 GitHub 实验室,让老师可以通过 GitHub 来布置作业,这让 110 万名学生学会了使用 GitHub。通过调查发现,有 31% 的学生觉得自己对未来参加工作已经“做好了准备”。
开源项目 GitHub 2018 年最热开源项目
按照贡献者数量进行排名。VS Code、React 和 TensorFlow 继续领跑,而 Kubernetes、Azure 文档、TypeScript 类型文件项目则是今年新登上榜单。
Microsoft/vscode: 微软推出的跨平台代码编辑器,深受广大程序员喜爱。贡献者接近 2W 人
facebook/react-native:Facebook 推出的移动跨平台开发框架,实际上 2018 年它遭遇了一些挫折,Airbnb 在深思熟虑后抛弃了它。不过官方团队宣布正在进行重大重构,总之我们看好它的未来。
tensorflow/tensorflow: 谷歌推出的深度学习框架 TensorFlow 可以说非常的成功,它吸引了很多程序员投入到人工智能的研究和开发中来,并且还在向不同的平台,如手机、浏览器等上面扩展。
angular/angular-cli:Angular 是谷歌推出的前端框架,也是目前前端三大框架之一,这是它的脚手架工具。Angular 的脚手架极其强大,拥有很多的配置项和模板代码,这也是 Angular 的优势之一。
MicrosoftDocs/azure-docs: 微软使用开源的方式来建设其 Azure 云平台的文档,显然,这个努力获得了程序员的认可。
angular/angular: 谷歌推出的前端框架。其实在社区上 React 和 Vue 的声势并不比 Angular 弱,但从贡献者数量的角度来看,Angular 显然是最开放的那个。
ansible/ansible:Ansible 公司推出的运维管理工具。它极大的方便了运维自动化,被很多知名公司所采用,并且,它还有一个优势是拥有强大的社区。
kubernetes/kubernetes: 谷歌推出的容器编排工具。Kubernetes 在去年已经赢得了容器编排之战,现在它已经成为容器技术的核心,推动着云原生技术快速发展。
npm/npm:Node.js 的老牌包管理工具。它也是目前托管第三方库最多的包管理工具,背靠着活跃的 JS 社区,它目前仍有着强大的生命力。
DefinitelyTyped/DefinitelyTyped:TypeScript 的类型声明文件仓库。第三方库通过配置类型声明文件,可以在 TypeScript 中获得更好的支持和开发体验。
增长最快的开源项目
GitHub 统计了增长高于标准的项目,这是其中增长最快的。它们发现增长最快的领域包括机器学习、游戏、3D 打印、家庭自动化、科学编程、数据分析,以及 JavaScript 全栈开发等。
MicrosoftDocs/azure-docs:Azure 开源文档。
pytorch/pytorch:使用 GPU 和 CPU 优化的深度学习张量库。
godotengine/godot:支持 2D 和 3D 的跨平台游戏引擎。
nuxt/nuxt.js:基于 Vue 的 Web 开发框架。
ethereum/go-ethereum:知名的区块链平台以太坊项目。
wix/react-native-navigation:React Native 的原生导航栏组件。
spyder-ide/spyder:用于科研的 Python 开发集成工具。
tensorflow/models:TensorFlow 的模型项目。
home-assistant/home-assistant:开源的家庭自动化平台。
MarlinFirmware/Marlin:基于 Arduino 的 RepRap 3D 打印机固件。
有潜力的新开源项目
GitHub 挑选了它认为一些比较有创意的新开源项目,这些项目在未来很有发展潜力。
google/dopamine:谷歌推出的给强化学习算法快速建立原型的研究框架。
facebookresearch/Detectron:Facebook 人工智能实验室推出的最新的物体检测算法实现的开源项目。
frappe/charts:响应式的 JavaScript SVG 图表库。
felixrieseberg/windows95:在 Electron 中运行完整的 Windows 95 镜像。
wangshub/wechat_jump_game:微信的跳一跳小游戏的 Python 辅助
GitHub 2018 年度最热话题
2018 年开发者在 GitHub 上谈论最多的话题包括 JavaScript、机器学习、移动开发、容器等。
react
android
nodejs
docker
ios
linux
angular
machine-learning
electron
api
GitHub 2018 年度热门开发语言
在 GitHub 上,JavaScript 占据着统治地位,不管是公开还是私有的项目、任何组织、世界任何地区,JavaScript 都是第一。
顺带着,连 TypeScript 都登上了 Top 10,它也是在 Top 10 里上升最快的编程语言。
增长最快的编程语言
GitHub 上静态类型语言中注重线程安全和互操作性的编程语言 Kotlin、TypeScript 以及 Rust 都取得了很大的增长。HCL 是 DevOps 使用的语言,这两年增长也非常快。在机器学习、容器中大放异彩的 Python 和 Go 语言也都发展的很不错。
Kotlin 2.6X
2 HCL 2.2X
3 TypeScript 1.9X
4 PowerShell 1.7X
5 Rust 1.7X
6 CMake 1.6X
7 Go 1.5X
8 Python 1.5X
9 Groovy 1.4X
10 SQLPL
结 语
GitHub 已经成为程序员必备的学习、工作、交流平台,我们很高兴的看到有越来越多的国内公司和开发者参与到开源中来,希望未来能看到更多的国内开源项目、开源组织和开发者在国际舞台上一展风采。
本文转自微信公众号: InfoQ(ID:infoqchina),作者:Tina、Amos。