HTML5和Native APP都很容易理解。为了获得HTML5的移植性和移动本地应用的高性能,搞出来一些混合APP的解决方案。
比如Apache的Cordova(也就是以前的PhoneGap),其软件架构如下:

Cordova的工作原理是生成一个内置webview控件的容器app(这是个本地app),然后在webview中运行html/css/js的代码,
如需调用本地服务如相机/传感器,则通过JS本地桥接器来执行。
这种方式的混合APP本地化的比例很小,本质上和Web程序更为接近,因此性能不佳。
为了追求更好的性能和本地化体验,有些框架扔掉了WebView,而直接提供了UI组件的JS接口,架构如下:

这种混合APP本质上更接近移动本地应用,也因此需要针对不同的平台做定制开发。
后面这种解决方案主流的有微软的Xamarin、Facebook的React Native、Google的NativeScript。
那么在客户想要移动应用的时候,究竟该怎么选择呢?
基本上我们要准备一些问题,来帮助客户搞清楚实际想要的是什么,然后提出自己的建议。
1. 是否需要发布到应用商店
如果是,那么应该选择移动本地应用或Hybrid APP。
2. 是否要给APP定价
如果是,同上,只有应用商店才支持下载付费。
3. 是否需要调用传感器、相机等底层本地接口
如果是,同上,因为纯HTML5无法访问这些接口。
4. 性能是否是第一考虑要素
如果是,同上,因为用HTML5开发一个FPS游戏,操作响应会比较糟糕。
5. 项目预算
如果预算有限,那么可以优先选择使用HTML5开发。如果预算不限,希望通过更多的渠道接触用户,则可同时招iOS、Android和HTML5。
6. 是否想开放应用程序中的内容以提高SEO
如果是,建议选择使用HTML5开发。
7. 是否是“通用”应用程序
比如外卖、项目管理、电商、博客这些,建议使用Hybrid APP或HTML5。
8. 是否想设计个性化
如果是,建议使用HTML5和本地应用,Hybrid APP通常是长相雷同的。
最后,我个人认为Hybrid APP就像是特色社会主义,是和现状妥协的产物,将在HTML5初级阶段长期存在。
远方依然在纯HTML5应用,而本地应用无论现在还是将来都仍会占据需要更多底层设备支持的领域(但也意味着空间将缩小)。
by iefreer, founder of techbrood.com
分享到:
相关推荐
在移动应用开发领域,我们经常会遇到“Native App”、“Hybrid App”以及“HTML5 App”这三种类型的应用。它们各自具有独特的特性和优势,也存在一定的局限性。接下来,我们将详细探讨这些概念,以及它们之间的优...
这种设计使得Hybrid App能够在保持高效性能的同时,利用HTML5、CSS3和JavaScript等Web技术进行开发,从而实现跨平台兼容性。 Native App是基于特定的操作系统(如iOS或Android)编写的应用,可以直接调用设备硬件...
Android Hybrid App H5交互是指通过Android原生应用与HTML5(H5)页面进行通信,实现两者间的数据交换和功能调用。这种交互方式能够利用Web技术快速开发界面,同时利用原生API实现高性能和深度定制的功能。本文将...
1. **Hybrid App概述**:Hybrid App是利用HTML5、CSS3和JavaScript等Web技术进行开发,再通过WebView组件嵌入到原生应用中,实现跨平台的移动应用。它们拥有接近原生应用的性能和用户体验,同时降低了开发成本。 2....
在探讨《HTML5,混合或原生移动应用开发》这一主题时,我们深入解析了三种主要的移动应用开发路径:原生(Native)、混合(Hybrid)与基于Web的应用(Mobile Web Applications)。每种方法都有其独特的优势和局限性...
Hybrid App是一种结合了原生(Native)应用开发和Web应用开发优势的技术,它允许开发者利用HTML5、CSS3和JavaScript等Web技术构建应用程序,同时通过与原生平台的交互,提供接近原生应用的用户体验。随着移动互联网...
总结以上内容,我们看到,尽管Hybrid App中的H5技术存在一定的挑战,但通过不断的优化和技术创新,H5应用的体验已经得到了大幅度的提升。H5工程师在这一过程中扮演着重要的角色,他们不仅需要掌握专业的技术知识,还...
HybridApp兼具了NativeApp良好用户体验的优势,也兼具了WebApp使用HTML5跨平台开发低成本的优势。目前已经有众多HybridApp开发成功应用,比如美团、爱奇艺、微信等知名移动应用,都是采用HybridApp开发模式。移动...
3. **Hybrid App**:Hybrid App结合了Native App和Web App的优点,即它使用Web技术(HTML5、CSS3和JavaScript)开发,但在运行时封装在一个原生容器内,允许应用程序访问设备的本地功能。这种方式既保持了Web开发的...
- **定义**:Native App 是指使用特定平台(如 Android 或 iOS)的原生语言和技术栈开发的应用程序。对于 Android 平台来说,主要是 Java 或 Kotlin;而对于 iOS 平台,则是 Swift 或 Objective-C。 - **优点**: ...
然后选择适合的开发框架,如Cordova、React Native或Ionic,它们允许开发者使用JavaScript、HTML和CSS等Web技术开发Hybrid APP,同时可以访问设备API,实现原生功能。 在设计阶段,需考虑用户体验,确保UI/UX与原生...
在讨论手机淘宝Hybrid App...通过在MDCC 2015中国移动开发者大会上的这一主题演讲,徐凯(鬼道)不仅展示了手机淘宝在Hybrid App性能优化方面的研究成果,同时也为其他移动开发者提供了宝贵的性能优化思路和技术路径。
Ionic has evolved as the most popular choice for Hybrid Mobile App development as it tends to match the native experience and provides robust components/tools to build apps. The Ionic Complete ...
Hybrid App(混合应用)作为一种折衷方案,结合了Native App和Web App的优点,既利用了Web技术的跨平台性,又可以调用部分设备API,提升性能。同时,Progressive Web App(渐进式Web应用)的概念提出,使得Web App...
【引言】近年来随着移动设备类型的变多,操作系统的变...【摘要】笔者将从HybridApp的开发现状出发,阐述HybridApp的优缺点,同时对比HybridApp与NativeApp的各自特性,最后探讨一下HybridApp的新思想方向。毫无疑问We
为了解决这一问题,作者提出了采用Hybrid App的开发模式,这种模式结合了原生应用的良好用户体验和Web应用的跨平台优势。 Hybrid App的设计采用了三层架构,包括用户界面(UI)、通信层和业务逻辑层。在总体架构...
随着移动设备硬件性能的提升和HTML5技术的发展,Hybrid App开始走向“轻混”,即减少对原生组件的依赖,更多地利用Web技术来实现高效、流畅的用户体验。 1. **从“重混”到“轻混”** “重混”框架在早期被广泛...
Native.js技术相较于传统H5开发而言,能够显著提高HTML5的能力范围,突破浏览器的功能限制,而且不需要像Hybrid开发那样编写或调用原生插件。使用Native.js编写的代码可以在HBuilder工具中打包为App安装包,或者直接...