标签:用户 不同的 win 规模 定义 mamicode ios 混合应用 目的
如何正确选型,React Native还是Native?
作者 | Mayur Panchal
译者 | 刘志勇
编辑 | Yonie
随着 H5 标准的发布以及推广,使得移动应用的开发也受到了很大影响,出于效率、成本等原因,移动应用的开发不再完全依赖于 “原生”。近日越发火热的混合应用(Hybrid App)介于 Web 应用和原生应用之间,兼具了 “原生应用良好用户交互体验” 和 “Web 应用跨平台开发”的两大优势。而Facebook 开源的 React Native 跨平台移动应用开发框架,使开发者只使用 JavaScript 就能编写原生移动应用。那么问题来了,如果你想构建属于你自己的 App,那么究竟要怎么选型呢?是选择 React Native 还是原生应用开发?
因为我们的主要客户都是非技术背景。他们总是向我们咨询许多框架、语言和平台之间的区别,比如:
React Native 与 Android
由此我们了解到,还有一些不懂技术的人想要构建一款 App,但他们感到很困惑。 因为他们不了解这些技术术语、平台或语言。
因此,我们决定写一篇博文,来解释为什么当你寻找混合模式(Hybrid)应用和原生(Native)应用开发时,理解 React Native 和原生 App 的区别更为重要。
当谈到 开发移动应用 时,只有两种方式可供企业选择。
要么他们可以选择原生应用开发,要么他们可以选择在跨平台开发中构建自己的应用。
你可能会问跨平台应用和原生应用在开发之间有什么不同?
是这样的,跨平台应用允许开发人员编写一次代码,就可以在所有平台上运行,但原生应用需要单独编码(即 iOS 平台的 Swift 或 Object-C,Android 的 平台 Java 或 Kotlin)。
因此,原生应用开发需要更多的时间、资金和资源来构建应用程序。
但这并不意味着它是指示你选择跨平台开发应用的绿色信号灯。这两者各有利弊。
在本文中,我们将讨论 React Native 与原生应用哪个更好一些。
让我们先从教科书上对原生应用(Native App)的定义开始。原生应用是为特定平台构建的,可在特定的设备和操作系统上运行。正如我之前所解释的,这些特定的平台可以是 Android 或 iOS。这些应用程序能够利用特定设备及其操作系统可用的所有硬件和软件功能。例如,如果我们使用 Apple 的 iOS 应用程序,他们是用 Object-C 或 Swift 编写的。因此,这些 iOS 应用程序不适用于 Android 或 Windows 平台,反之亦然。
原生应用的优势在于,能够使用操作系统提供的功能以及安装在特定平台上的软件。
原生应用开发需要使用编程语言和 集成开发环境(IDE)工具。例如,Xcode 工具在 iOS 中使用的是 Object-C 语言,而 Android Studio 在 Android 中使用的是 Java 和 Kotlin 语言。
原生应用开发的优点
更严格的语言:Android 和 iOS 的所有本机语言都被认为是严格的语言,学习其他语言很容易。
请记住,不管适应一门语言需要花费多长时间,你都要完全适应自己所选择的本机语言。
原生应用开发的缺点
React Native 是由 Jordan Walke 在 Facebook 举办的***马拉松项目中开发的。它起源于 React.JS,最初是为了解决 Facebook 的跨平台应用程序相关的特定问题而构建的。因此,这个应用与其他“移动网络应用”不同,它是一款真正的移动应用,使用 JavaScript 开发的,不影响任何质量。
React Native 应用开发的优点
让我们来看看 React Native 应用的好处。
Web 到移动开发:对于一个 Web 开发人员来说,从 Web 到移动开发是很困难的,但 React Native 有助于这一过渡,因为它本质上将是一个 JavaScript 框架。
当你遇到以下情景时,你应该尝试这种原生应用开发:
总而言之,这要取决于你的规模和项目的紧迫性。如果你想尽早使用移动应用,那么 React Native 是最佳选择。
然而,如果你预算充裕,而且也不想在 App 的用户界面和功能上妥协,那么,原生应用应该就是你的选择。
英文原文: https://www.excellentwebworld.com/react-native-vs-native
标签:用户 不同的 win 规模 定义 mamicode ios 混合应用 目的
原文地址:https://blog.51cto.com/15057848/2567142