JavaScript勇夺编程语言桂冠及使用ECMAScript(ES6)了的必要性分析[图]

一、JavaScript勇夺桂冠,Python跃居第二
GitHub今天发布了其年度Octoverse报告,揭示了2020年地球上最大的开发者社区之一的各种趋势,包括在新冠疫情开始后开源项目活动的激增。
GitHub平台于2007年10月1日开始开发,网站于2008年2月以beta版本开始上线,4月份正式上线。
时至今日,Github已经被全球5600万开发人员使用,高于2019年的4400万和2018年的3100万。
图:2020年编程语言趋势
报告显示,JavaScript仍然是GitHub上最受欢迎的编程语言,而Python现在是第二受欢迎的语言,紧随其后的是Java和快速增长的TypeScript。
在GitHub的所有者微软公司的维护下,TypeScript已经从2018年和2019年的第七位攀升到今年的第四位。PHP和Ruby这两种五年前最受欢迎的语言的受欢迎程度继续下降。
从地理位置来看,活跃开发者的分布主要分布在北美、亚洲和欧洲:

JavaScript勇夺编程语言桂冠及使用ECMAScript(ES6)了的必要性分析[图]

此外,Github还公布了一些其他的数据:
1.尼日利亚在开源项目贡献方面仍然排名最高,其次是香港、沙特阿拉伯和孟加拉国。
2.美国对项目的贡献和活跃用户的数量仍然高于世界上任何其他地区,但美国对项目的贡献今年下降到22.7%。2019年10月份的报告发现80%的知识库贡献来自于美国以外。
图:按地区分列的活跃用户
3.开源项目的创建比去年增长了40%。分析表明,开源项目贡献在节假日和周末达到峰值,而企业开发人员最有可能在工作日推送代码和项目更改。
4.新型冠状病毒疫情导致了开源项目捐款的显著增长。
该报告还试图描述某些大型社区在GitHub上运行方式的区别,包括开源TensorFlow机器学习框架的贡献者。
在TensorFlow社区有一个明显的典型行为模式:大多数新成员对问题发表评论(50%到75%),一些人制造问题(25%到30%),还有一些审查请求(约5%)。在其他社区,新成员比终身成员更频繁地推送代码,但在TensorFlow,这种情况几乎不存在,甚至连老成员也不经常推送代码。在这里,主要的互动模式是问题。
认为自己是开发者的人数从2016年的60%下降到2020年的54%。除了开发人员,分析还发现,那些认为自己是数据分析师、科学家或管理人员的人也参与了像TensorFlow这样的项目。
随着GitHubClassroom的推出,教育也在GitHub社区中占据了越来越大的比重,在GitHub上,教育用户数量仅次于开发者,位居第二。
报告的最后,还感谢了每一位做出贡献的开发者:
2020年是变化非凡的一年,但有一件事情仍然是正确的,就是来自世界各地的开发人员越来越多的聚集在一起进行创新、寻找联系和解决问题。
参考链接:
二、JavaScript是时候使用ECMAScript(ES6)了
ECMAScript6简称ES6,是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
要是在两年前的18年左右可能我还不推荐使用ES6开发,新的标准出来到流行必然有个过渡期,无论是PC端还是移动端浏览器,它的影响可以说是非常巨大的。

简单说一下它的更新以便了解它的优势。和ES5相比ES6极大的增加了开发语言的可用性,只列举几个特性,支持了类的封装,添加了继承语法,支持module模块化,显式明确作用域,新增模板字,作文(https://www.isanxia.com)多行支持,默认值,箭头函数,类多态,深度匹配、嵌套回调(promises)、迭代器、展开初始化、剩余参数以及数组的各种封装函数。


单单是上面列的这些功能在JavaScript原生支持就让人兴奋不已,写过多年的JavaSript的人一看就懂,个个功能的封装都是在在ES5时期使用极其不方便的痛点。事实证明在复杂的功能模块里使用JS已经相当方便了。
下面说一下ES6的支持程度:
Chrome:51版起便可以支持97%的ES6新特性。
Firefox:53版起便可以支持97%的ES6新特性。
Safari:10版起便可以支持99%的ES6新特性。
Edge15可以支持96%的ES6新特性。
Edge14可以支持93%的ES6新特性。
IE7~11基本不支持ES6
看到IE这个也别慌,常用的解决方案有proxy-polyfill,或者使用Babel加以转换来兼容。
再看移动端的浏览器,支持程度
iOS:10.0版起便可以支持99%的ES6新特性。
Android:基本不支持ES6新特性(别慌,在国内基本没有原生浏览器,厂商定制浏览器基本在92%以上)
微信内置浏览器也在92%以上。
关注一下JS的王版本项目Node.js:
6.5版起便可以支持97%的ES6新特性。(6.0支持92%)
现在最版已经15.x了。
注意:以上的支持程序都是说到90%以上,并没有说到100%的,其实到97%已经算是很牛拜了。剩下不支持的几项有哪些呢?主要包含以下内容:函数的尾调用优化,export命令以及import命令,前面一个对内核的内存分配以及运行权限影响挺大,不支持也没有啥影响,后面两个在浏览端根本不可能实现这样的功能,除非后端应用例如nodejs这样的框架才支持。
所以是时候使用ECMAScript(ES6)开发了,还在等什么呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值