2017年你应该学习的编程语言框架和工

摘要:年在开发者圈子中许多新的技术和概念层出不穷,人工智能、机器学习、ProgressiveWebApps等等,各种语言、框架和工具的更新也是让人看得眼花缭乱。年,作为开发者应该跟随潮流还是理性选择新技术?

软件开发行业继续向前大步迈进。在年,我们看到了很多新版本的流行语言、框架和工具。它给了我们更多的支持,也改变了我们的工作方式。紧跟潮流是很难的,所以在每年年底,我们会给你介绍什么是重要的,而且应该在未来十二个月内学习。

一、趋势ProgressiveWebApps

在年,我们看到了ProgressiveWebApp概念的兴起。它代表了脱机工作的Web应用程序,并提供类似NativeApp的体验。它们可以添加到你的智能设备的主屏幕,甚至可以给你发送推送通知,弥补了与本地移动应用程序的差距。我们认为,在年,PWA将变得更加重要,更值得探讨。查看相关概述。

聊天机器人

现在每个人都在谈论聊天机器人。从运行它们的平台到构建它们的框架,社区也正在忙于各种活动(阅读介绍)。机器人是新的移动应用程序,如果你快点的话也可以在大家都感到新奇时赶上浪潮。一旦新奇消退,机器人可能会被降级到一些无聊的角色,如自动客服。但无论怎样,我们都可以梦想嘛!

前端框架的合并

JavaScript社区,有着令人难以置信的框架和工具的混合,几乎每个星期都会出现新的。直到最近,人们期望旧的工具将被新的替代,但这不是我们在年看到的。相反,我们看到了流行的框架交换想法以及采纳由新诞生的框架提出的创新。所以在年,该选择哪个框架作为主要JS框架不是很重要,它们的功能大多是可比较的。

云端

各地的公司和开发者都在积极地拥抱“云”。云是虚拟化的计算机基础架构,可根据需要提供,并可从控制面板中完全配置。目前三大云提供商分别是AWS,GoogleCloud和Azure。由于其持续的竞争价格一直在下跌,因此小公司和个人开发者也将其纳入预算中。熟悉云工作流程将是年一笔不错的投资。

机器学习

机器学习在过去的十二个月中已经呈现爆炸式的增长。通过在今年3月份的AlphaGovsLeeSedol的历史性比赛,它进入了主流。从原始数据中学习的智能计算机系统正在改变我们与移动设备交互的方式。看上去,机器学习将是年更大的影响因子。

二、编程语言

JavaScript

JavaScript继续着它令人难以置信的创新步伐。由于Web浏览器的快速发布计划的推动,JS标准每年都会更新。下一个版本,ES预计将于年中期完成。它将带来许多JS开发人员渴望的特性—用于处理异步函数的аsync/await。感谢Babel,即使在今天,你也可以在每个浏览器中编写ES。

TypeScript

TypeScript2.1于年年底发布,为旧浏览器带来了async/await,并改进了类型推断。TypeScript是一门编译为JavaScript的静态类型语言。它增加了强大的功能,如经典的OOP模型和可选的静态类型,使得巨大的代码库更容易维护。它是编写Angular2应用程序的首选语言,建议各位尝试。这是关于它的快速入门指南。

C#

C#7.0预计在年发布,作为一门优秀的语言将会有更大的改进。当微软推出开源VisualStudioCode编辑器和.NetCore时,每个人都感到惊讶。它们都可以在Linux,Windows和macOS上运行,并允许你用C#编写快速、高效的应用程序(点击这里阅读更多)。这些工具促成了一个充满活力的社区。

Python

Python3.6将于今年12月发布。它正在巩固其作为开发人员、IT专业人员和科学家的脚本语言的选择的地位。它适用于自动化、Web开发、机器学习和科学计算。Python2/3的选择对于社区来说是一个长达数年的斗争,但是现在你可以自信地选择Python3并享受完整的库支持。对于那些需要额外的性能的使用者,他们可以看看PyPy—一个可启用Python运行时的JIT替代品。

Ruby

Ruby2.3今年早些时候发布了,并带来了性能改进。作为通用脚本语言,Ruby也是一个好选择。Ruby3×3的倡议已经公布,这将使即将到来的Ruby3比当前版本快3倍,而且会在更多的情景中打开使用Ruby的大门。

PHP

PHP7.1是在12月发布的,并带来了细小的增强。这是基于去年7.0版本中的主要性能改进,将PHP转变为构建Web应用程序的快速平台。我们建议把PHPTheRightWay作为良好的做法和构建WebApps的现代做法。

Java

Java9预计在年发布,并将带来备受欢迎的新功能,例如用于评估代码的repl、对HTTP2.0的支持和新的API。有才能的Java开发人员和使用该语言开发项目的人对于这些特性有强烈的需求。如果Java不是你需要的,有一些基于JVM的语言,如Kotlin和Scala,可以去了解。

Swift

Swift3于今年早些时候发布。这是苹果对现代编程语言的愿景—简化iOS和macOS上应用程序的开发。Swift是开源的而且吸引了大量的社区。版本4计划于年发布,将改进语言特性和引入服务器API,使其成为编写WebApps和后端的一个不错选择。

其他

如果你正在寻找更令人兴奋的东西,可以尝试Crystal和Elixir,它们结合了一个友好的类似Ruby的语法且有着卓越的性能。或者你可以看看函数式语言如Haskell或Clojure。另外两门推荐的快速语言是Rust和Go。

学习其中的一门或多门:JS(ES),TypeScript,C#,Python,Ruby,PHP7,Java/Kotlin/Scala

三、前端

Web平台最近取得了两个重大进展—WebAssembly和ServiceWorkers。它们为构建快速和高效的Web应用程序打开了大门,而且弥补了与NativeApp之间的差距。ServiceWorkers尤其是ProgressiveWebApps的启用技术,并为Web平台的通知提供支持,将来也还会有更多的API。

Angular2

Angular2于今年发布。该框架由Google支持,非常受企业和大公司的欢迎。它具有大量的功能,使在从网络到桌面和移动应用程序中编写任何东西成为可能。框架使用TypeScript编写,这也是在框架中编写应用程序的推荐语言。学习它有很多需要阅读的内容,但我们认为在年学习Angular2将是一个很好的投资。

Vue.js

Vue.js今年也发布了2.0版本。它借鉴了Angular,React和Ember中的好想法,并将它们放入一个易于使用的包中。它也比前两个更精简和更快。建议各位都去尝试一下,可参考入门教程。

Ember.js

Ember是JavaScript框架的另一个坚定选择。它支持数据绑定、自动更新模板、组件和服务器端渲染。与其竞争对手相比,它的一个好处是更成熟和稳定。重大更改的频率要低得多,而且社区也重视向后兼容性。这使得该框架成为生命周期长的应用的不错选择。

其他

另外两个值得一看的框架是Aurelia和React。过去的一年中React的生态系统变得越来越复杂,因此很难向初学者推荐。但经验丰富的开发者可以将库与GraphQL,Relay,Flux和Immutable.js组合成一个全面的全栈解决方案。

没提到Bootstrap的前端汇总是不完整的。Bootstrap4目前正处于Alpha阶段,预计在会正式发布。值得







































中科白癜风微信账号
遗传性白癜风能治好吗



转载请注明:http://www.guyukameng.com/jspt/jspt/4182.html