2019年开发人员应该学习的8个JavaScript框架

栏目: JavaScript · 发布时间: 5年前

内容简介:根据Stack Overflow 2018开发者调查报告,JavaScript是使用最广泛的编程语言之一。感谢它不断发展的框架生态系统,为复杂和具有挑战性的问题找到最佳解决方案。尽管JavaScript的大部分生命周期都与Web开发相关,但近年来,它的使用似乎在不断扩展。它不仅从前端移动到后端,我们也开始看到它用于机器学习和增强现实等。JavaScript的发展是由框架驱动的。尽管有一些似乎在引领潮流,但是在2019年还有许多其他更小的工具值得你关注。现在让我们来看一看。

根据Stack Overflow 2018开发者调查报告,JavaScript是使用最广泛的编程语言之一。感谢它不断发展的框架生态系统,为复杂和具有挑战性的问题找到最佳解决方案。

尽管JavaScript的大部分生命周期都与Web开发相关,但近年来,它的使用似乎在不断扩展。它不仅从前端移动到后端,我们也开始看到它用于机器学习和增强现实等。

JavaScript的发展是由框架驱动的。尽管有一些似乎在引领潮流,但是在2019年还有许多其他更小的 工具 值得你关注。现在让我们来看一看。

JavaScript Web开发框架

React

React最初由Facebook于2011年开发,然后于2013年开源。从那时起,它就成为构建用户界面最流行的JavaScript库之一。根据npm的调查,尽管React在2018年的增长放缓,但它将成为2019年的主导框架。由于其高使用率和庞大的用户群,JavaScript 2018状态调查显示它是一种“安全的技术”。

2018年,React团队发布了16.3到16.7的版本,并进行了一些重大更新。这些更新包括新的生命周期方法、Context API、React Profiler,Create React App 2.0等。该团队已经制定了2019年的计划,并将很快发布最受期待的功能之一Hooks。它允许开发人员在不使用JavaScript类的情况下访问状态等特性。它的目标是简化React组件的代码,允许开发人员重用有状态逻辑,而无需对组件层次结构进行任何更改。其他特性还包括并发模式,以允许组件树呈现而不阻塞主线程,数据获取的悬念等等。

Vue

Vue是Evan You在Google工作后使用AngularJS为多个项目中创建的。它在2018年首次发布,Evan分享了他创建Vue的动机,他说:“我想,如果我能提取出我真正喜欢Angular的那部分,然后构建一些真正轻量级的东西会怎么样呢?”Vue继续在JavaScript开发人员中得到广泛采用,这种趋势应该还会继续下去。根据npm调查,一些开发人员更喜欢Vue而不是React,因为他们觉得“在保持可扩展性的同时更容易上手”。

Vue是一个允许开发人员构建交互式Web界面的库。它提供类似于React的数据反应组件,具有简单灵活的API。与React或Angular不同,Vue的一个好处是它产生的干净的HTML输出。其他JavaScript库往往会在代码中留下散布着额外属性和类的HTML,而Vue会删除它们以产生干净的语义输出。它通过官方维护的支持库和包为复杂应用程序提供高级功能,如路由,状态管理和构建工具。

Angular

谷歌在2009年开发了AngularJS,并在2012年发布了第一个版本。从那时起,它得到了企业和个人的热烈支持和广泛采用。AngularJS最初是为设计师而不是开发人员开发的。虽然在设计中确实看到了一些改进,但这些改进还不足以满足开发人员的需求。后来的版本,Angular 2, Angular 4,等等都进行了升级,以提供性能上的全面提升,尤其是在速度和依赖注入方面。

这个新版本被简单地称为Angular,它是一个平台和框架,允许开发人员用HTML和TypeScript构建客户端应用程序。它提供了声明性模板、依赖注入、端到端工具和集成的最佳实践来解决开发挑战。虽然AngularJS的架构是基于模型-视图-控制器(MVC)设计的,但Angular有一个基于组件的架构。每个Angular应用程序都至少包含一个称为根组件的组件。每个组件都与一个负责处理业务逻辑的类和一个表示视图层的模板相关联。

Node.js

围绕Node是否是一个框架(它确实是一个库)存在很多争论,但在谈论Web开发时,很难跳过它。 Node.js最初是由Ryan Dahl编写的,他于2009年11月8日在首届欧洲JSConf上进行了演示。Node.js是一个免费的,开源的,跨平台的JavaScript运行时环境,它在浏览器之外执行JavaScript代码。

节点。js遵循一种“JavaScript无处不在”的模式,它将web应用程序开发统一为一种编程语言,而不是针对服务器端和客户端脚本的不同语言。在JSConf 2018上,Dahl描述了他的服务器端JavaScript运行时引擎的一些限制。其体系结构的许多部分都受到限制,包括安全性和模块的管理方式。为了解决这个问题,他引入了一个名为Deno的新软件项目,这是V8 JavaScript引擎上的一个安全TypeScript运行时,旨在纠正Node.js中的一些设计缺陷。

跨平台的移动开发框架

React Native

React Native的故事始于2013年夏天,当时是Facebook的内部黑客马拉松项目,后来在2015年开源。React Native是一个JavaScript框架,用于构建原生移动应用程序。正如您可能已经从名称中猜到的,React Native是基于我们前面讨论过的React的。之所以称之为“原生”,是因为使用React native构建的UI由原生UI小部件组成,这些小部件看上去和感觉上都与使用原生语言构建的应用程序一致。

本质上,React Native将用Javascript/JSX编写的UI定义转换成适合目标平台的原生视图层次结构。例如,如果我们正在构建一个iOS应用程序,它会将文本原语转换为原生iOS UIView,在Android中,它会生成原生TextView。因此,即使我们正在编写JavaScript应用程序,我们也不会在移动设备的 shell 中嵌入Web应用程序。我们正在获得一个“真正的原生应用”。

NativeScript

NativeScript由Telerik(Progress的子公司)开发,于2014年首次发布。它是一个开源框架,可帮助您使用JavaScript或任何其他转换为JavaScript的语言(例如TypeScript)构建应用程序。它直接支持Angular框架,并通过社区开发的插件支持Vue框架。使用NativeScript构建的移动应用程序可生成完全原生应用程序,这些应用程序使用的api与在Xcode或Android Studio中开发的应用程序相同。

由于应用程序是用JavaScript构建的,因此需要一些代理机制来将JavaScript代码转换为相应的原生API。这是由NativeScript的运行时部分完成的,它充当JavaScript和原生世界(Android和iOS)之间的“桥梁”。运行时支持使用JavaScript代码调用Android和iOS框架中的api。为了做到这一点,我们使用了JavaScript虚拟机——Google的V8用于Android, WebKit的JavaScriptCore实现与iOS 7.0+一起发布的。

Ionic Framework

Ionic Framework 由Drifty Co.创建,最初于2013年发布。它是一个开源的前端SDK,用于使用熟悉的Web技术(如HTML5,CSS和JavaScript)开发混合移动应用程序。借助Ionic,您将能够构建和部署跨多个平台的应用程序,例如原生iOS,Android,桌面和Web作为渐进式Web应用程序。

Ionic主要关注应用程序的外观或UI交互。这告诉我们,它并不意味着取代Cordova或您最喜欢的JavaScript框架。事实上,它仍然需要像Cordova这样的原生包装器来将您的应用程序作为移动应用程序运行。它使用这些包装器来访问主机操作系统功能,如相机,GPS,手电筒等,它由Cordova/PhoneGap等工具包装。

JavaScript桌面应用程序开发框架

Electron

Electron由GitHub的软件工程师Cheng Zao创建。它最初于2013年作为Atom Shell发布,然后在2015年更名为Electron。Electron使Web开发人员能够利用他们现有的知识和native开发人员构建一个代码库并分别为每个平台发布。有许多流行的应用程序使用Electron构建,包括Slack,Skype for Linux,Simplenote和Visual Studio Code等。

Electron应用程序由三个组件组成:Chromium Web引擎,Node.js解释器和应用程序的源代码。 Chromium Web引擎负责呈现UI。 Node.js解释器执行JavaScript并为您的应用程序提供Chromium引擎无法使用的操作系统功能,例如文件系统访问,网络,本机桌面功能等。应用程序的源代码通常是JavaScript,HTML和CSS。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-01/156622.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mastering Flask

Mastering Flask

Jack Stouffer / Packt Publishing / 2015-9-30 / USD 49.99

Work with scalable Flask application structures to create complex web apps Discover the most powerful Flask extensions and learn how to create one Deploy your application to real-world platforms......一起来看看 《Mastering Flask》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具