【问题标题】:Difference between Hybrid Mobile app and Mobile web app混合移动应用程序和移动网络应用程序之间的区别
【发布时间】:2015-01-06 15:57:27
【问题描述】:

最近,我开始学习称为Mobile Angular UIIONICSenchaKendoUI 的移动应用程序开发框架。他们帮助使用 html、javascript 和 css 开发移动应用程序。 那时我开始思考上述框架是否是混合的。 混合框架是一种有助于使用 html、css 和 javascript 创建移动应用程序的框架。但移动应用程序也是如此。那么实际上移动网络应用和混合移动应用之间有什么区别。上述框架是否混合?

【问题讨论】:

  • 我使用过 Ionic 及其用于构建混合应用程序

标签: javascript css mobile hybrid-mobile-app


【解决方案1】:

同意以上所有观点。

将仅添加/总结混合移动应用程序(Apache Cordova 和 React Native)的优缺点。

阿帕奇科尔多瓦

优点

  • 开发速度快
  • 采用 Web 开发技术(HTML、CSS、Javascript)编码,可产生交叉兼容的 iOS、Android 和 Web 软件(只需一名 Web 开发人员)
  • 可以使用框架来模拟原生应用 UI 元素(即按钮、菜单等)
  • UX 非常接近原生体验,使用模仿原生应用行为的 UI 元素
  • 访问智能手机的硬件 API,促进设备功能(例如相机、推送通知、地理定位等)

缺点

  • UX 不如原生应用程序好(300 毫秒的点击延迟、滚动时的幻像点击等)
  • 应用程序越复杂,由于使用了各种包装器和库,它的运行速度就越慢
  • 不能离线工作
  • 动画很难在 UI 中实现

反应原生

优点

  • 基于 React 的应用程序的高开发速度
  • 使用 React.js 构建的 Web 应用程序可以轻松转换为 React Native 移动应用程序,并且可以重复使用部分源代码
  • 原生用户体验
  • 应用程序的外观和感觉与特定平台的原生移动应用程序完全一样
  • 降低开发成本
  • React Native 专家通常可以构建 Android 和 iOS 应用程序

缺点

  • 相对较新的技术(有限的开源解决方案)
  • 在视觉设计方面受到限制
  • 不适合需要高负载(大量计算)的复杂项目,例如手机游戏或应用程序

如果您有兴趣比较混合、渐进式和原生应用开发this article 值得一读。

【讨论】:

    【解决方案2】:

    原帖在这里:Cedcommerce

    首先,让我指导您什么是原生应用,以及原生与混合移动应用的含义。原生应用程序是专门为特定操作系统构建的应用程序,不同的应用程序适用于使用该特定设备的本地语言的不同操作系统。

    如果您仍然对原生应用程序开发感到困惑,那就意味着使用各自公司(在本例中为 Google 和 Apple)的 SDK(软件开发工具包)和工具来创建 Android 或 iOS 移动应用程序。

    两个最广泛使用的操作系统是 Android 和 iOS,其中 Android 以高达 86% 的份额在市场上占据主导地位,而 iOS 以 12% 的份额遥遥领先。

    原生与混合移动应用 Worldwide Smartphone OS Market share 图片来源:IDC

    如果您正在为 Android 开发,这意味着使用 Java(或 Kotlin)编写应用程序,而对于 iOS,则使用 Objective-C 或 Swift 编写应用程序。 Xcode 的主要工具是集成开发环境,您的开发人员将在其中创建您的原生应用程序。

    另一种鲜为人知的移动应用称为混合应用。混合应用程序开发意味着使用 3rd 方混合平台(示例包括 React Native、PhoneGap、Ionic、Cordova 或 Xamarin)并使用 Web 技术(HTML、CSS 和 Javascript)来编写在 iOS 和 Android 上运行的混合应用程序。

    对于原生与混合移动应用程序,混合应用程序可以使用相同的代码在任何平台(Android 和 iOS)上运行。与原生应用相比,这听起来像是一个优势,因为编写一个应用比两个便宜,但不要这么快就兴奋起来,因为我会强调为什么不选择混合应用。

    虽然 79% 的消费者只会在第一次运行失败时重试移动应用一两次,但只有 16% 的消费者会尝试两次以上。糟糕的移动应用体验可能会阻止用户再次使用应用。来源

    就移动应用而言,用户体验高于所有其他功能,糟糕的用户体验肯定会帮助您删除您的应用,并且用户几乎不可能再次返回您的应用。

    See How Native Apps provide Faster and User-Friendly Checkout

    说到移动应用,下载量肯定代表了一个应用的好坏和受欢迎程度,但关键因素是用户留存。移动应用的留存率很低,这是移动开发社区的一个众所周知的秘密。据 TechCrunch 称,四分之一的移动用户只使用一次应用程序。

    Retention Curves for Android Apps 资料来源:奎特拉

    原生应用在速度和响应能力方面要出色得多,因此在用户留存方面得分更高。本机应用程序具有最佳性能、最高安全性和最佳用户体验。

    谈到原生应用,MageNative App 是一款简单但性能最佳的在线商店解决方案

    原生与混合移动应用:

    内置功能:原生应用可以更好、更快地访问设备的原生功能和内置实用程序,例如相机、GPS、日历,而混合应用则有些困难。

    速度:混合应用程序是原生浏览器中的 Web 应用程序(或网页),例如 iOS 中的 UIWebView 和 Android 中的 WebView(不是 Safari 或 Chrome),但原生应用程序作为独立应用程序运行(无需网络浏览器)。由于这种对原生浏览器的依赖,Hybrid 落后于原生应用。

    响应能力:与混合应用程序相比,原生应用程序的响应速度更快,因为它们遵循独特平台的设计模式,但混合应用程序在所有平台上都是相同的。

    离线使用:由于混合应用依赖于原生浏览器,因此它们在没有互联网连接的情况下无法使用,相比之下,媒体播放器、游戏、导航等原生应用在离线时运行良好。

    1. 安全性:本机应用程序存储在应用程序商店中,审批流程阻止发布错误或有害的应用程序,而混合应用程序不存在此类商店。

    Importance of Security Testing 来源:QArea

    如果用户想要搜索任何特定的应用程序,App Stores 还提供了良好的可访问性。此外,在发布应用之前,您可以使用标准工具对所有内容进行加密、隐藏实现等等。

    1. 更好的用户体验标准:正如我之前提到的,混合应用程序的问题在于,即使是最出色的用户体验架构师也无法真正构建一个满足两种主要用户类型的应用程序:iPhone 用户和 Android 用户,而 Native 应用程序遵循用于创建 Android 或 iOS 应用程序的特定 UX/UI 标准,使用户可以轻松了解应用程序的界面和导航。原生应用示例:

    原生与混合移动应用

    底线:原生与混合移动应用 是时候结束 Native 与 Hybrid 移动应用程序的战斗了,最终用户和他的需求决定哪个框架最适合我,对我来说,Native 应用程序在几乎所有主要方面都优于混合应用程序。

    选择取决于您,如果您正在寻找具有一些基本功能并且可以处理日常简单任务的简单应用程序,请选择混合应用程序,但如果您想要一个更复杂的应用程序,可以充分利用设备的内置功能和处理复杂的任务,那么原生应用将是最佳选择,您不会后悔。

    【讨论】:

      【解决方案3】:

      任何将 HTML/JS 代码封装到原生应用程序中的东西都是混合的。不同之处在于,混合应用程序依赖 UIView(将其视为简约的网络浏览器)来显示所有内容,而原生应用程序通常仅使用 UIView 进行浏览,其他所有内容均已编码用母语。基本上,混合应用程序总是放在 UIView 上,一切都发生在其中。类似于全屏打开专用网页并可以访问所有(或大部分)本机手机功能(振动、传感器、通知等...)。

      考虑一下使用 HTML 制作的简单按钮与使用 Java/Objective C/C# 制作的简单按钮...这就是混合框架试图使工作和看起来尽可能相似的东西。混合应用不需要(或几乎不需要)本地语言编码。

      “那么实际上移动网络应用和混合移动应用之间有什么区别?”

      上面的框架都没有这样说。更具体地说:它们都没有提到 mobile web appshybrid apps 形成对比,因为它们是同一件事,只是语义不同。框架提供的是:

      • 网络版应用(网络应用)
      • 移动版应用(移动应用)

      底线:

      任何以 HTML/JS/CSS 编写并用作原生移动应用程序的东西都是混合应用程序。


      本文展示了原生应用、混合应用和“移动网络应用”之间的区别:http://blogs.telerik.com/appbuilder/posts/12-06-14/what-is-a-hybrid-mobile-app-

      小心,最后一个不过是针对手机优化的网站,不能作为应用安装在手机上,绝对应该与手机应用程序(本机或混合)混合。摘自以上网址:

      原生应用是为特定平台构建的,具有平台供应商通常提供的平台 SDK、工具和语言(例如,xCode/Objective-C 用于 iOS,Eclipse/Java 用于 Android,Visual Studio/C# 用于 Windows Phone) .

      混合应用(如原生应用)在设备上运行,并使用网络技术(HTML5、CSS 和 JavaScript)编写。混合应用程序在本机容器内运行,并利用设备的浏览器引擎(但不是浏览器)来呈现 HTML 并在本地处理 JavaScript。 Web 到本机的抽象层允许访问在移动 Web 应用程序中无法访问的设备功能,例如加速度计、相机和本地存储。

      移动网络应用程序是服务器端应用程序,使用任何服务器端技术(PHP、Node.js、ASP.NET)构建,这些技术可以呈现经过样式化的 HTML,以便在设备外形尺寸上很好地呈现。

      考虑到所有这些,您上面列出的所有四个框架都可以创建移动网页(或他们所说的移动应用程序),但似乎只有 Ionic 能够构建您可以实际安装在手机上的混合应用程序(在 Sencha 上找不到相关信息,但现在您知道要查找什么了)。

      【讨论】:

      • 这是否意味着 HTML 5 移动应用程序是混合应用程序?如果您可以将我的问题中列出的上述框架标记为混合或不混合,将会很有帮助
      • 是的,完全正确。我只是添加了一点解释,我认为您进行了错误的比较并因此而感到困惑。另外,不要混淆针对手机优化的网站,因为这就是一些人所说的“移动网络应用”,但它不是手机应用,而是服务器端应用(运行网站)。
      • 现在有意义吗?
      • 现在似乎很清楚了......我想问的还有一件事是,将 Kendo UI 或 Mobile Angular UI 之类的框架称为混合移动应用程序框架是否正确,因为这些框架是什么?只做UI设计。不是最终产品。我对这些事情没有真正的经验。我问的是我在其他网站上读到的所有内容。
      • 不,不是。我认为他们中没有一个能够产生可以安装在手机上的应用程序(至少从我所见,总有插件和第三方的东西),所以我认为打电话给他们是不对的那个。
      猜你喜欢
      • 2017-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多