【问题标题】:Differences between Native Script and react native and ionic frameworkNative Script 与 react native 和 ionic 框架的区别
【发布时间】:2017-01-23 05:12:39
【问题描述】:

Native Script 和 ionic 框架分别用于构建带有 web 视图和不带 web 视图的 IOS 和 Android 应用程序。

我对上述技术中的 web 视图和没有 web 视图的概念感到困惑。

Native Script 和 ionic 框架之间的主要区别是什么。 哪个性能最好?

谁能解释一下或者提供一些相关的东西。

(如果理解有误请指正)

【问题讨论】:

标签: cordova ionic-framework react-native nativescript hybrid-mobile-app


【解决方案1】:

Nativescript(类似于 React-Native)允许您使用 Javascript 和 XML(或 JSX)开发移动应用程序。这些框架允许您生成本机移动应用程序。 UI 使用来自平台的本地组件来创建高性能的流畅界面。 Javascript 逻辑代码在与应用程序捆绑在一起的 JS 引擎(Android 版 V8)中运行。这有使应用程序变得非常大的缺点,但您可以制作跨平台、高性能的移动应用程序。 JS代码还可以通过框架中的桥接代码访问手机功能。

PhoneGap/Cordova 混合应用是 Web 应用,可以像原生应用一样安装到手机上,但它们在 WebView 中运行。 Cordova 用于访问电话硬件功能。 UI 不是原生的,它只是一个网页,因此如果您的应用程序很复杂,您可能会遇到性能问题(尤其是在旧手机上)和图形卡顿。

Ionic2 可能是混合框架的最佳示例,它在克服性能问题方面大有帮助,但要获得好的示例/教程可能会很困难,因为它非常新并且打破了很多东西离子1。搜索示例会发现许多不再有效的代码。混合应用程序通常在所有平台上看起来都相似,因为它们不使用原生 UI 组件。有些人更喜欢 iPhone 应用看起来像 iPhone 应用而不是 Web 应用。

【讨论】:

  • 你的回答很足智多谋。
  • 感谢您的回答。这里令人困惑的是,在科尔多瓦网站上,它指出 ionic 基于科尔多瓦。可能想解释离子和科尔多瓦之间的区别是什么,因为它们都来自同一个家庭。参考:cordova.apache.org/#getstarted
【解决方案2】:

我曾在 react native 和 native script 上工作过,并在 8 个月的时间里开发了一些应用程序。Ionic 是我必须尝试的东西。所以我会分享我使用 react native 和 nativescript 的经验。

react native 和 nativescript 各有利弊。这取决于您主要选择的应用程序的用户要求。

例如: 当我的应用程序要构建更针对 iOS 并且基本上要求视图渲染速度快且不需要太多数据处理时,我选择了 react native。

另一方面,应用程序是为 android 而不是 iOS 构建的,我选择了原生脚本,因为与 react native 相比,它对 android 有更好的支持。nativescript 的主要优势是角度-2 数据绑定方法,它减少了 react native 中不存在的工作。

React Native 的社区比 NativeScript 的社区非常庞大,而且发展速度更快,但我发现 NativeScript 社区更有帮助。

这里是从相应官方网站获取的所有内容的一般描述

反应原生

React Native 允许您仅使用 JavaScript 构建移动应用程序。它使用与 React 相同的设计,让您可以从声明性组件组成丰富的移动 UI。使用 React Native,您无需构建“移动 Web 应用程序”、“HTML5 应用程序”或“混合应用程序”。你构建了一个真正的移动应用程序,它与使用 Objective-C 或 Java 构建的应用程序没有区别。 React Native 使用与常规 iOS 和 Android 应用程序相同的基本 UI 构建块。您只需使用 JavaScript 和 React 将这些构建块组合在一起即可。

本地脚本

NativeScript 是您构建跨平台、原生 iOS 和 Android 应用程序而无需 Web 视图的方式。使用 Angular、TypeScript 或现代 JavaScript 获得真正的原生 UI 和性能,同时与网络共享技能和代码。通过 JavaScript 和重用来自 NPM、CocoaPods 和 Gradle 的包,获得对本机 API 的 100% 访问。开源并由 Telerik 提供支持。

离子

Ionic 框架是用于开发移动应用程序的开源 SDK。由于它基于 AngularJS 和 Apache Cordova,Ionic 支持为 iOS 和 Android 构建混合应用程序,而不是单独的应用程序。它有相当好的文档和教程。也只需了解基本的 Javascript 和 HTML 即可入门。

【讨论】:

    【解决方案3】:

    如需更快的学习曲线和更好的代码隔离,请访问Nativescript

    如果您的应用程序很大、很关键并且需要一些性能,请选择React Native

    这并不意味着您不能使用Nativescript 创建大型应用程序,但事实上没有一个先驱者在他们的生产中使用Nativescript

    我几乎总是收到小型应用程序的订单,我经常使用Nativescript。 而且我通常需要一到两周的时间来完成一个应用程序。

    我还在一个 10 人的团队中从事 React Native 的工作。并且由于性能、重用能力、稳定性和代码隔离等许多因素。从过去 6 个月开始,该应用程序尚未完成,因为它有一些学习曲线。

    但我有信心地说,如果您的应用程序很小并且想要快速交付并且预算很小,请选择Nativescript

    如果你知道Nativescript 学习react 会更容易,反之亦然。

    我的观点

    Nativescript 的架构太棒了。但是ReactNative 如此出名并且提供更好的性能只是因为它的名称“facebook 开发人员开发了这个”。因此,它当然变得流行起来,人们开始使用它,并在改进它的同时使其更受欢迎。如果facebook 的人已经发展到Nativescript,那么没有人会想去碰ReactNative

    我更喜欢有人开发跨平台技术,它结合了Nativescript 的架构和ReactNative 的组件重用能力特性。

    【讨论】:

      【解决方案4】:

      重要的区别在于,原生应用程序是专门为特定平台开发的(例如,iOS 用于 iPhone,Android OS 用于 Android 或 Windows 用于 Windows Phone 等),并且需要开发人员具备专业知识和技能在特定的开发环境中工作(Xcode for iOS,Eclipse for Android,Visual Studio for Windows Phone)。每个平台都使用自己的编程语言(iOS 的 Objective C 或 Swift,Android 的 Java,Windows Phone 的 C#)。

      另一方面,由于其跨平台功能,混合应用程序可以在所有设备上运行。最流行的混合应用开发框架是 PhoneGap。

      不过,我强烈建议开发原生应用,尽管它很复杂,因为原生应用具有更好的性能,可以提供更好的用户体验。

      关于原生应用和混合应用特性、开发过程等的更多细节,你可以在这篇有用的文章中找到:http://computoolsglobal.com/blog/native-app-vs-hybrid-app/

      【讨论】:

      • 关于不是原生应用的问题,它是原生脚本(nativescript.org)
      • 请参阅nativescript.org 以更好地理解问题。
      猜你喜欢
      • 2017-08-26
      • 1970-01-01
      • 2018-11-17
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      相关资源
      最近更新 更多