2016 年在开发者圈子中许多新的技术和概念层出不穷,人工智能、机器学习、Progressive Web Apps 等等,各种语言、框架和工具的更新也是让人看得眼花缭乱。2017 年,作为开发者应该跟随潮流还是理性选择新技术?
软件开发行业继续向前大步迈进。 在 2016 年,我们看到了很多新版本的流行语言、框架和工具。它给了我们更多的支持,也改变了我们的工作方式。紧跟潮流是很难的,所以在每年年底,我们会给你介绍什么是重要的,而且应该在未来十二个月内学习。
一、趋势
Progressive Web Apps
在 2016 年,我们看到了 Progressive Web App 概念的兴起。它代表了脱机工作的 Web 应用程序,并提供类似 Native App 的体验。它们可以添加到你的智能设备的主屏幕,甚至可以给你发送推送通知,弥补了与本地移动应用程序的差距。我们认为,在 2017 年,PWA 将变得更加重要,更值得探讨。查看相关概述。
Progressive Web App(PWA) 是 Google 在 Web 平台开始推广的一个新概念,可以理解为是尽可能借助目前的新技术(比如 Service Worker,Push Notification 及其他展现层的新技术)以增强 Web App 的体验和功能,让 Web App 的体验无限接近 Native App。PWA 并不只是在移动设备上使用,有现代浏览器存在的地方就可以有 PWA。PWA 也不是 Chrome Only,现代浏览器基本都支持。
聊天机器人
现在每个人都在谈论聊天机器人。从运行它们的平台到构建它们的框架,社区也正在忙于各种活动(阅读介绍)。机器人是新的移动应用程序,如果你快点的话也可以在大家都感到新奇时赶上浪潮。一旦新奇消退,机器人可能会被降级到一些无聊的角色,如自动客服。但无论怎样,我们都可以梦想嘛!
前端框架的合并
在 JavaScript 社区,有着令人难以置信的框架和工具的混合,几乎每个星期都会出现新的。直到最近,人们期望旧的工具将被新的替代,但这不是我们在 2016 年看到的。相反,我们看到了流行的框架交换想法以及采纳由新诞生的框架提出的创新。所以在 2017 年,该选择哪个框架作为主要 JS 框架不是很重要,它们的功能大多是可比较的。
云端
各地的公司和开发者都在积极地拥抱“云”。云是虚拟化的计算机基础架构,可根据需要提供,并可从控制面板中完全配置。目前三大云提供商分别是 AWS,Google Cloud 和 Azure。由于其持续的竞争价格一直在下跌,因此小公司和个人开发者也将其纳入预算中。熟悉云工作流程将是 2017 年一笔不错的投资。
机器学习在过去的十二个月中已经呈现爆炸式的增长。通过在今年 3 月份的 AlphaGo vs Lee Sedol 的历史性比赛,它进入了主流。从原始数据中学习的智能计算机系统正在改变我们与移动设备交互的方式。看上去,机器学习将是 2017 年更大的影响因子。
二、编程语言
JavaScript
JavaScript 继续着它令人难以置信的创新步伐。由于 Web 浏览器的快速发布计划的推动,JS 标准每年都会更新。下一个版本,ES2017 预计将于 2017 年中期完成。它将带来许多 JS 开发人员渴望的特性 — 用于处理异步函数的 аsync/await 。感谢 Babel,即使在今天,你也可以在每个浏览器中编写 ES2017。
TypeScript
TypeScript 2.1 于 2016 年年底发布,为旧浏览器带来了 async/await,并改进了类型推断。TypeScript 是一门编译为 JavaScript 的静态类型语言。它增加了强大的功能,如经典的 OOP 模型和可选的静态类型,使得巨大的代码库更容易维护。它是编写 Angular 2 应用程序的首选语言,建议各位尝试。这是关于它的快速入门指南。
C#
C# 7.0 预计在 2017 年发布,作为一门优秀的语言将会有更大的改进。当微软推出开源 Visual Studio Code 编辑器 和 .Net Core 时,每个人都感到惊讶。它们都可以在 Linux,Windows 和 macOS 上运行,并允许你用 C# 编写快速、高效的应用程序(点击这里阅读更多)。这些工具促成了一个充满活力的社区。
Python
Python 3.6 将于今年 12 月发布。它正在巩固其作为开发人员、IT 专业人员和科学家的脚本语言的选择的地位。它适用于自动化、Web 开发、机器学习和科学计算。Python 2/3 的选择对于社区来说是一个长达数年的斗争,但是现在你可以自信地选择 Python 3 并享受完整的库支持。对于那些需要额外的性能的使用者,中国直播网,他们可以看看 PyPy — 一个可启用 Python 运行时的 JIT 替代品 。
Ruby
Ruby 2.3 今年早些时候发布了,并带来了性能改进。作为通用脚本语言,Ruby 也是一个好选择。 Ruby 3×3 的倡议已经公布,这将使即将到来的 Ruby 3 比当前版本快 3 倍,而且会在更多的情景中打开使用 Ruby 的大门。
PHP
PHP 7.1 是在 12 月发布的,并带来了细小的增强。 这是基于去年 7.0 版本中的主要性能改进,将 PHP 转变为构建 Web 应用程序的快速平台。我们建议把 PHP The Right Way 作为良好的做法和构建 Web Apps 的现代做法。
Java
Java 9 预计在 2017 年发布,并将带来备受欢迎的新功能,例如用于评估代码的 repl、对 HTTP 2.0 的支持和新的 API。有才能的 Java 开发人员和使用该语言开发项目的人对于这些特性有强烈的需求。如果 Java 不是你需要的,有一些基于 JVM 的语言,如 Kotlin 和 Scala,可以去了解。
Swift
Swift 3 于今年早些时候发布。这是苹果对现代编程语言的愿景 — 简化 iOS 和 macOS 上应用程序的开发。Swift 是开源的而且吸引了大量的社区。版本 4 计划于 2017 年发布,将改进语言特性和引入服务器 API,使其成为编写 Web Apps 和后端的一个不错选择。
其他
如果你正在寻找更令人兴奋的东西,可以尝试 Crystal 和 Elixir,它们结合了一个友好的类似 Ruby 的语法且有着卓越的性能。或者你可以看看函数式语言如 Haskell 或 Clojure。另外两门推荐的快速语言是 Rust 和 Go。
学习其中的一门或多门:JS(ES2017),TypeScript,C#,Python,Ruby,PHP7,Java/Kotlin/Scala
三、前端
#p#分页标题#e#
Web 平台最近取得了两个重大进展 — Web Assembly 和 Service Workers。它们为构建快速和高效的 Web 应用程序打开了大门,而且弥补了与 Native App 之间的差距。Service Workers 尤其是 Progressive Web Apps 的启用技术,中国直播网,并为 Web 平台的通知提供支持,将来也还会有更多的 API。
Angular 2
Angular 2 于今年发布。该框架由 Google 支持,非常受企业和大公司的欢迎。它具有大量的功能,使在从网络到桌面和移动应用程序中编写任何东西成为可能。框架使用 TypeScript 编写,这也是在框架中编写应用程序的推荐语言。学习它有很多需要阅读的内容,但我们认为在 2017 年学习 Angular 2 将是一个很好的投资。
Vue.js
Vue.js 今年也发布了 2.0 版本。它借鉴了 Angular,React 和 Ember 中的好想法,并将它们放入一个易于使用的包中。它也比前两个更精简和更快。建议各位都去尝试一下,可参考入门教程。
Ember.js
Ember 是 JavaScript 框架的另一个坚定选择。它支持数据绑定、自动更新模板、组件和服务器端渲染。与其竞争对手相比,它的一个好处是更成熟和稳定。重大更改的频率要低得多,而且社区也重视向后兼容性。这使得该框架成为生命周期长的应用的不错选择。
其他
另外两个值得一看的框架是 Aurelia 和 React。过去的一年中 React 的生态系统变得越来越复杂,因此很难向初学者推荐。但经验丰富的开发者可以将库与 GraphQL,Relay,Flux 和 Immutable.js 组合成一个全面的全栈解决方案。
没提到 Bootstrap 的前端汇总是不完整的。Bootstrap 4 目前正处于 Alpha 阶段,预计在 2017 会正式发布。值得关注的变化是新的通用卡片组件和 Flexbox 网格(查看与常规网格的对比),这使得框架更现代化而且让用户使用它工作更舒心。
SASS 和 LESS 仍然是当今最流行的两种 CSS 预处理器。虽然 vanilla CSS 最终对变量进行了支持,但 SASS 和 LESS 仍然优先对 mixins,函数和代码组织进行支持。 如果还没有了解它们,可查看这里的SASS 和 LESS 快速入门指南。
学习以下一个或多个:Angular 2,Vue.js,Ember,Bootstrap,LESS/SASS
特别声明:本文为中国直播网直播号作者或机构上传并发布,仅代表该作者或机构观点,不代表中国直播网的观点或立场,中国直播网仅提供信息发布平台。
版权声明:版权归著作权人,转载仅限于传递更多信息,如来源标注错误侵害了您的权利,请来邮件通知删除,一起成长谢谢
欢迎加入:直播号,开启无限创作!一个敢纰漏真实事件,说真话的创作分享平台,一个原则:只要真实,不怕事大,有线索就报料吧!申请直播号请用电脑访问https://zbh.zhibotv.com.cn。