年终总结:2016 年 JavaScript 回顾
2016年对于每个web开发人员来说,javascript都是工作生活中非常大的一部分。
JavaScript的流行继续激增。不是每个人都喜欢这种语言,但是你很少听到十年前的嘲笑意见。就个人而言,我一直喜欢JavaScript,即使在早期,那些令人沮丧的年代。只要从C++、Java或PHP方向接近它的人首先都会感到困惑:JavaScript看起来很熟悉,但又不是。克服你的假设,你会喜欢它简单的优雅,实用性和灵活性。(比如:日期处理仍然是一个噩梦!)
JavaScript在5月份庆祝了它21岁的生日,让我们回顾下它成熟发展的这第一年...
ECMAScript发展
viaES6/2015是语言自诞生以来最重要的更新。规范花了七年才完成,但浏览器和运行时终于开始支持箭头函数,let、const,这带来了更多的乐趣。 ES6兼容性表正在变成一个光辉的绿色。
如果你需要支持旧的浏览器,全面切换到ES6也许会有一点早。对于旧的浏览器,一年多前发布的项目。您可以用ES6到ES5编译器(如Babel),但是开发非常复杂,需要引入额外的构建步骤。
ES7/2016是更多的革命。一个令人兴奋的新功能是async,它允许异步代码以同步方式写入,而没有回调或Promises(继续困惑我)的语法复杂性。
渐进式Web应用程序
via我最喜欢的基于JavaScript的2016年技术授予Progressive Web Apps。 PWA是在谷歌的2015年Chrome开发者峰会上宣布,但稳定的技术和工具终于在7月到达Chrome 52。 PWA允许离线优先功能,并取代片状AppCache方法。 Web应用程序终于可以和native应用程序竞争,并提供以下优势:
1.主屏幕图标
2.快速启动和自定义闪屏
3.快速执行
4.离线功能,无需互联网连接
5.网址,链接和书签
6.全屏或主题界面
7.沙盒执行
8.本地或基于云的存储
9.更少的设备空间和处理资源
10.更好的安全性(HTTPS是先决条件)
11.从任何搜索引擎轻松发现
12.请在安装前尝试
13.更简单的部署:它只是一个Web应用程序
14.没有AppStore废话:你的应用程序可以包含任何裸体画并且你绝对会渴望没有人能拿走你30%的利润!
最重要的是:任何网站或者应用程序可以在几小时内转换为PWA。步骤:
1.在服务器上启用HTTPS。
2.创建一个应用程序清单 - 应用程序根目录中的JSON文件,用于定义名称,颜色,图标和显示选项。
3.创建一个Service Worker - 根目录中的JavaScript文件用于拦截网络调用,并且可以根据需要返回缓存或实时数据。
初期例子很少,但是PWA提供了一个不错的机会“动员”您的Web应用程序。虽然不能保证苹果将实施这项技术,但这并不重要,你的应用程序仍然可以在Safari中工作,只是它不会从离线执行中受益。我有一种感觉一旦Android上web体验有明显提升,苹果将鼓励支持PWA。
框架固定
via很难做出一个公正的判断,但是React似乎在今年受到最多的关注。你也许不同意;因为这取决于你使用的是什么,你曾经浏览过的地方和你说过的话!
Vue.js已经普及,2.0版本于9月发布。
AngularJS可能已经失去了它在2015年获得的一些势头,但这可能会随着9月发布Angular 2而改变。新版本是一个完全重写;它不是向后兼容v1.0。
虽然新的框架和库是令人兴奋的,但是十年前的jQuery仍然强大。版本3.0于6月9日发布,v3.1随后于7月7日出现。该库现在以严格模式运行,支持Promise,并实现了各种修复。 (查看完整修改列表的升级指南。)
在使用JavaScript的96.4%的网站上用了jQuery。与之相比,Angular是最常用的现代框架 - 占0.5%。 jQuery 1.x是最流行的版本,占93.5%的使用率。版本2.x占6.0%、版本3.x占0.5%。
我一直批评开发人员上来就直接使用jQuery。当有一个其他更合适的选择或只要一小段JavaScript就能实现需求的时候,它就会被过度使用了。然而,它提供了更浅的学习曲线,比大多数框架更灵活。其他框架或库要取代它需要很多年的时间。
API滥用
比如电池状态API。在我2013年写JavaScript的时候,它似乎很有用;当你的应用程序检测到用户的手机即将关机的时候,到底怎样才能更好的最小化网络请求和处理呢?
不幸的是,Mozilla预估大约有6%的网站用了这个API,但大多数是广告客户用来检测电池状态,并跟踪用户浏览了哪些网站的域名。也有可能是某些服务商知道一个用户手机快关机绝望的时候,以此来提高某些服务的价格,
虽然这不是JavaScript或API的问题,出于隐私方面的原因,Mozilla采取了空前的手段把电池状态API从Firefox 53中删除。这不太可能出现在ios设备中,其他具有类似原因的API也包括传感器和蓝牙。这是一个不太光彩的事情:这些API都有实际的好处,我希望隐私问题可以在未来的版本得到解决。
Node新版本
每年Node.JS会给我们带来两次发布进度,4月的6.0版本和10月的7.0版本。
目前该平台呈上升趋势,尽管W3Techs报告Node.js服务器使用率仅为0.2%,而PHP为82.3%。这些数字可能有点误导,因为Node.js即使安装了,也不一定能识别。
因为php已经开始很久了,并且现在依然是服务端最靠谱的选择。然而,Node.js正在书写自己的历史,并被所有语言信仰的开发者广泛使用。
Yarn
我非常喜欢npm,并且认为它是Node.js工具火爆的主要原因之一。在npm上我从来没有遇到过太多的问题,但我不是在Facebook这样大的项目上工作。
Facebook的工程师在10月份发布了Yarn。它是一个新的Node.js包管理器,旨在比npm更快更稳定。它依赖于npm注册表,因此可以和npm保持完全兼容。
Tim Severien的Yarn vs npm:你需要知道的一切。我同意他的结论:
虽然Yarn不是一个复制品,但它改善了npm几个缺陷的地方。如果npm从Yarn身上学习,并要求Facebook、谷歌和其他Yarn贡献者一起来改进npm,这样是不是很爽呢?
厌倦疲劳
2016年的有篇文章叫I-can't-take-this-any-more入选了Jose Aguinaga的2016年学习JavaScript的感觉。
这可能是种幽默的方式以表明当前JavaScript的状态,但有一点要说明的就是,就是现在要跟上最新的趋势,框架和建议变得越来越难。当面对大量的技术方案评估时,开发人员会相互争执。
我的建议:不要试图跟上。因为这根本做不到。你今天重点关注的任何系统,明天都将被更好的东西取代。为您的项目选择一个好的方案,并坚持使用它,除非它让工作变得很糟糕。
有一个是可以确定的就是JavaScript本身。首先学习语言,并继续扩展你的知识。您的经验将帮助您了解每个框架的运作方式,以便您做出明智的选择,即便这种选择可能是完全放弃所有的框架。
祝大家2017工作,生活都一切顺利。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务
