技术开发 频道

JS终结者,2017 TypeScript将成为新趋势

  【IT168 评论】Progress developer advocate Burke Hollan表示:JavaScript,TypeScript和面向组件的前端Web APP开发技能是2017年需求最大的,未来大多数的前端开发都将在面向组件的JavaScript框架(如React和AngularJS)中完成。

  Progress是一家应用程序开发工具和服务公司,Holland大部分的时间都在与JavaScript前端开发人员接触,他认为JavaScript和Web开发的一个重大趋势是组件化应用程序的构建方式。


  在这个问答中,Holland谈到了面向组件的Web应用程序开发以及JavaScript和TypeScript的优缺点和非常好的实践,以及JavaScript前端框架React和Angular。

  JavaScript的两个前端框架React和Angular之间有什么区别?

  Burke Holland:React和Angular都是最流行的JavaScript框架,但是它们的适用场景不同。 React是轻量级的,主要面向消费者的应用程序,如Netflix,Facebook和Instagram。Angular常见的应用场景是企业,造成这种差别的根源在于编程语言。因为企业需要非常结构化的代码库来创建和维护应用程序,所以TypeScript更吸引企业开发人员。

  最新开源的JavaScript库Polymer,今年会成为Web前端开发者的新宠吗?

  Holland:Web组件还不能跨浏览器使用,Polymer由Google提供支持,有助于通过使用polyfilling帮助开发人员构建不支持Web组件的应用程序。Web组件[用于创建组件的浏览器标准]将HTML放在本地组件模型中,但是我们并没看到Web Components [via Polymer]或者本地组件模型成为2017年的趋势。

  为什么在JavaScript前端开发中使用原生组件模型?

  Holland:目前网页中有很多原生组件创建的功能,如网格、下拉列表以及日历等等,如果这些是使用相同的原生组件创建的,那么它们就可以在一起和谐的工作。如果你的功能先是由jQuery创建的,接着是React,最后是Angular,那么你无法保证这些功能能够正常使用。

  为什么前端开发人员会越来越多的使用TypeScript?

  Holland:TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。JavaScript已发展得非常强悍了,但其离完美还有一大段距离,特别是在构建包含大量客户端代码的web应用时,JavaScript的不足之处就非常明显。这个时候,配合TypeScript使用,JavaScript的缺陷就可完美解决。

  TypeScript会增加面向组件的Web开发吗?

  Holland:众所周知,TypeScript是JavaScript的超集,它的使用人群大部分还是前或者现JavaScript的开发人员,这些开发人员基本已经习惯于组件化软件。React将传统的JavaScript社区推向了组件模型,React和TypeScript的兴起,使得传统JavaScript开发人员和结构化语言的开发人员正向面向组件的Web开发融合。

  TypeScript能否敲开其他JavaScript技术的大门?

  Holland:我们已经看到有些企业在NodeJS中使用TypeScript,并在NodeJS中编写中间层服务,与JavaScript相比,这样的前端应用程序具有更多的功能和灵活性。2017年2月22日,微软发布了TypeScript 2.2,这一版本中的一个非常重要的改进是能够以JavaScript开发人员习惯的方式使用字符串索引。

  JavaScript的使用还在增长,您认为出现这种情况的原因是什么?

  Holland:我认为原因主要有两个,一个是JavaScript使用方便,易于编写,另一个原因是结构化语言往往有很多的限制,通常你与语言对抗所花费的精力会超过实际构建应用程序。而JavaScript可以立即产生结果,几乎无处不在,它可以在浏览中运行,可以在带有节点的服务器上运行,也可以使用NativeScript在移动设备上运行,甚至还可以在各个操作系统上运行。

  在您看来,大家对于JavaScript前端框架的不满都有哪些?

  Holland:可能之前大家对于JavaScript还有诸多不满,但是现在随着ES6的发布,这种不满之声已经日渐消退。ES6是一次重大的版本升级,秉承着最大化兼容已有代码的设计理念,过去编写的JS代码也可以继续正常运行。目前许多浏览器已经支持部分ES6特性。

  目前,对于JavaScript的不满之声大部分是来自于异步,JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行,这种方式没有编译器检查错误,无疑就会需要程序员多次测试。

  对于TypeScript的开发人员来说,有哪些非常好的实践?

  Holland:如果你使用TypeScript,那么就要使用Visual Studio code IDE,此外,如果你是正在学习使用TypeScript,也可以学习一下Angular,因为Angular是用TypeScript编写的,同时也可以注意一下类似NativeScript这样的解决方案,因为NativeScript也是基于TypeScript的构建的,所以你也可以在NativeScript中使用Angular。

  “Learn Once,write anywhere”是程序员的终极梦想。如果你精通TypeScript和Angular,你就可以用同一种语言构建Web和原生移动应用程序,

0
相关文章