GitHub 2018年度最热话题TOP10

2018 年开发者在GitHub上谈论最多的话题包括JavaScript、机器学习、移动开发、容器等。下面我们具体来看下这10个热门话题。

01.React

React是由顶尖的IT公司Facebook和Instagram协同开发者社区维护的一个开源Javascript库。这个框架现在被广泛地应用于开发Web应用程序的用户界面。最初开发这个特别框架的目标是“搭建数据需要频繁更改的大型应用程序”。

React效率极高。React可以创建存放组件的虚拟DOM,这一特点为开发人员提供了高度灵活性和惊人的性能收益,因为React能够提前计算出DOM中哪些内容需要更改,并对DOM树做出相应地更新。通过这种方式,React避免了代价高昂的DOM操作,从而大幅提升了工作效率。

02.Android

GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

03.NodeJs

NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景。NodeJS为异步而生,这一点毫无疑问,但是在CPU和内存发面,要远远落后于C/C++和Java。特别是对于海量请求的场景,CPU飙高,内存GC缓慢居高不下。

04.docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:

· Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。

· Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。

· Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。

· Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。

05.iOS

不难发现在GitHub上最受欢迎的项目中有60%是库或框架。一个iOS App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。

06.Linux

Linux系统越来越受到电脑用户的欢迎,于是很多人开始学习Linux。Linux系统之所以会成为目前最受关注的系统之一,主要原因是它的免费,以及系统的开放性,可以随时取得程序的原代码,这对于程序开发人员是很重要的。Linux的优势主要体现在以下六大方面:

· 跨平台的硬件支持

· 丰富的软件支持

· 多用户多任务

· 可靠的安全性

· 良好的稳定性

· 完善的网络功能

07.Angular

Angular最显著的特征就是其整合性。它是由单一项目组常年开发维护的一体化框架,涵盖了M、V、C/VM等各个层面,不需要组合、评估其它技术就能完成大部分前端开发任务。这样可以有效降低决策成本,提高决策速度,对需要快速起步的团队是非常有帮助的。Angular 2就是前端开发领域的“宜家套装”,它经过精心的前期设计,涵盖了开发中的各个层面,层与层之间都经过了精心调适,是一个“开箱即用”的框架。

08.machine-learning

如今机器学习的改进大致在两个方面,一方面是软件,就是算法方面,从最小二乘法出发,到贝叶斯思想。另一方面就是硬件,一是采用并行计算,比如GPGPU、FPGA,二是分布式计算,比如Apache的Hadoop,把任务划分成多个相同的线程,在大型集群中运行应用程序。

在机器学习中,赢得胜利不是因为开发出了一个新算法,往往在于对数据巧妙的预处理,归一化,以及组合现有方法。

09.Electron

简单来说,Electron就是可以让你用Javascript、HTML、CSS来编写运行于Windows、macOS、Linux系统之上的桌面应用的库。目前使用Electron来开发的桌面用非常多,我们最熟悉的比如Atom、VScode…这类IDE,除此之外还有一些开发的辅助工具也借助于electron,比如iview的官方脚手架用来创建vue项目,腾讯的weFlow工具,等等。这些辅助工具将平时的一些命令行操作集成到了图像化界面操作中来,使用起来更加方便简洁。

10.api

api是应用程序接口,它是提供给用户用来编程的,它的特点是代码的不可以见行,是操作系统最基本的东西,它构成了系统的内核环境,所以通过API我们可以在系统的最底层进行编程,可以通过它来对计算机硬件操作。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181031G0XT3W00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券