JavaScript框架概述:为您的项目选择哪个?

十年前,想要创建跨平台项目的公司必须与不同的开发团队和专家合作。 但是,2009年改变了游戏规则,因为Nitobi(后来由Apache购买)的开发人员提出了Cordova ,这是一个能够将Web应用程序转换为移动系统的新框架。 通过插件链接设备的API,开发人员可以访问智能手机和平板电脑。 Cordova是与各种平台兼容的基于JavaScript的技术。

在本指南中,我们将回顾另外三个JS驱动的系统,研究它们的独特功能并进行比较。

移动应用程序:类型和功能


但是,让我们从一些基本的东西开始。 对于开发人员而言,应用程序可以是本机或混合应用程序是没有秘密的。 我们想简要介绍这些术语的含义以及它们之间的区别。

本地应用程序是使用本地语言为单个特定平台创建的应用程序(例如,Kotlin-适用于Android; Objective C-适用于iOS)。 开发本机软件产品的成本很高,因为您必须分别为每个平台设计一个全新的应用程序。 同时,这些应用程序可以帮助某些系统充分发挥其潜力。

第二类是混合应用程序。 通常,它们基于统一的语言,并且与不同的操作系统兼容。 它们的构建成本较低,因为您可以为所有系统使用一套通用工具。 但是,用户通常通过WebView或浏览器与混合应用程序进行交互。 因此,它们缺乏平台特定的功能,因此速度较慢,并且无法提供与本机应用程序相同的用户体验。

由于混合产品通常依赖于JS框架,因此让我们对其进行检查并发现它们在开发过程中如何提供帮助。

Onic


于2013 年推出 ,旨在使用JS,HTML5和CSS等简单技术设计应用程序。 用Ionic创建的产品可以在移动,桌面和在线平台上使用。

请注意,此工具专注于UI,而不是后端解决方案。 要使用Ionic开发产品,您仍然需要诸如Cordova之类的其他工具来包装代码。 到目前为止,该集合已与Angular集成,而Vue和React的扩展正在开发中。

由Ionic驱动的程序在低级浏览器中运行,并利用设备的功能(如GPS或相机)。 作为Ionic应用程序的示例,我们要重点介绍MarketWatch官方产品和土耳其版的McDonald's应用程序。

本机犯罪


下一个由JS驱动的开放源代码框架比Ionic稍晚发布。 作者于2014年创建了NativeScript ,旨在通过JavaScript或另一种统一语言(如TypeScript)设计本机应用程序。 它还适用于Angular和Vue。 最终产品与通过本机框架创建的产品相同。 此外,开发人员可以完全使用第三方库,而无需任何代码包装工具。

为了将JS元素转换为设备的API可以理解的元素,NativeScript使用网桥-接口和代码之间交互的运行时。 从技术上讲,这要归功于JS虚拟机(例如,Android的V8和iOS的JavaScriptCore)。 在使用此框架构建的产品中,应检查PUMA和Strudel的应用程序。

反应本机


它于2013年启动,但于2015年开源。ReactNative是启动本地应用程序的著名工具,据GitHub的用户称。 显然,该系统基于专注于设计UI的React库,但是React Native还具有许多可帮助开发人员提供本地体验的小部件。

基本上,系统将您的代码转换为平台的一组本机视图。 假设,它将初始文本模块转换为iOS的UIView和Android的TextView。 因此,我们可以使布局接近本机布局,而不用在浏览器视图中启动应用程序。

React Native广受欢迎,甚至Facebook开发人员都使用它(例如,用于创建Wellness Check等新功能)。 同样,像彭博社,特斯拉和Vogue这样的大公司也使用此工具。

比较表


现在是比较上述三种系统以找出最合适的系统的时候了。

1.可用性和性能


首先,您应该找到完全满足您需求的框架。 这意味着选择将在很大程度上取决于您想进入的行业。 因此:

  • Ionic对于渐进式Web应用程序非常有用,并且具有最佳的可重用性。 简而言之,它代表一次写入,到处运行的想法。
  • NativeScript以UX / UI为重点来处理更复杂的应用程序,因此对于创建移动应用程序和其他产品而言非常有用。
  • React Native具有最佳性能,非常适合速度依赖的应用程序。 它的可重用性较差,并且遵循“一次学习,无处不在”的想法。

2.小​​部件


如果要实现各种扩展,请注意这一点:

  • 离子 许多应用程序和小部件,包括Google Maps。
  • 本机脚本 支持多种扩展-几乎有1000种。
  • 反应本机。 没有单独的市场,但可以与第三方应用程序很好地兼容。

3.人气


毫无疑问,React Native在流行方面是赢家。 它有1700多个贡献者,而Ionic和NativeScript分别具有272和119功能。 开发人员社区更喜欢使用React Native来完成各种任务,无论其可重用性如何。

4.难点


在这里,一切都取决于您的技术背景。 离子几乎对每个人都简单,因为它提供了更易理解的编码方法。 同样,有很多指南可供您阅读有关此框架的信息。 NativeScript和React Native非常相似。 如果您知道JavaScript,从这些工具开始会更容易。

选择哪种框架?


总而言之,您应该概述自己的确切要求以选择最佳工具。 尽管这些框架专注于创建智能手机/平板电脑应用,但它们具有不同的方法和规范。 例如,Ionic简单而灵活,但无法处理具有高级图形要求的项目。 React Native具有真正的高性能,但会迫使您为每个平台设计一个新的UI。 最后,NativeScript相对较快,但应用程序在您的设备上需要大量空间。 明智地选择!

Source: https://habr.com/ru/post/zh-CN440992/


All Articles