欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何看待用 HTML5 技术开发的 web 应用与 Android 或 iOS 等原生应用的关系?

程序员文章站 2022-05-17 14:17:54
...
本地 App 还能活多久?

回复内容:

关于iPhone Native App和WebApp的:
A.曾经向AppStore提交一个混搭App,(Google也这样做)发现:
  1. 用户体验不及原生,Web渲染有部分bug。
  2. Dom内存过大导致App被kill
  3. 苹果回信,建议把WebApp使用在Web和Home Screen,另外实现一个原生App。

B.iOS5的测评:
  1. Mobile Safari使用Nitro引擎(跟Safari一样),性能较好
  2. Home Screen被提倡,并提供更多HTML5 CSS3特性来实现WebApp
  3. WebView的性能反而下降

C.生态链:
  1. 苹果和Google都支持并鼓励开发者通过(HTML5)WebApp实现跨平台应用,与对手竞争
  2. 苹果和Google都不希望在自己的生态链(App形式)下出现后门(Web混搭)

关于Android:
A.显而易见,Android下的浏览器解释(HTML5+CSS3)Web功能比较齐全,但bug比较多和性能比较差。
B.Android平台硬件差异巨大,所以性能不佳的Web更适合替代App

结论:
A.不需要被现状打击HTML5热情,但需要认清移动设备发展现状。
B.HTML5是Web替代Wap最佳切入点,因为与有IE6的PC不同,浏览器兼容性不成问题。移动设备的软件升级很及时并迅速。
C.Home Screen可能更适合作为WebApp的发展方向。
D.Web的开发和维护便捷性依然是NativeApp无法比拟的。 我持悲观的态度:

1. HTML5功能不论多强大,都容易变成一个native应用的子集。本地应用可以轻松嵌入HTML5开发的组件,再补充上HTML5不具备的功能。如Push Notifications,应用转入后台或唤醒事件等。所以本地应用提供的功能和体验HTML5应用无法超越;

2. HTML5目前获得支持最好的是2d渲染、本地存储和地理api。语音输入、Camera、加速器等还做得并不理想。更别提电源管理,系统通知,tab前后台状态等等了。这是一场html5标准化和移动设备上sensor增加速度的竞赛,开放标准在速度上并不占优势;

3. 应用程序本身的物品属性强于内容属性,通过社交网络传播的效果大于被搜索。HTML5的语义标签并不能带来优势。

所以HTML5也许可以改变本地应用的开发模式,但是并不具备取代本地应用的能力。 目前在手机上纯用HTML5来进行开发,会遇到很多问题:如效率、错误追踪,调试等等。而用原生的API,除了学习曲线外,其他的可能问题不是很大。 前几天和国内的几个App开发者聊天的时候就有个感觉,照现在的发展方向HTML5很有前景,而且很有替代本地应用的可能,主要原因有三个:

1.多平台支持性良好,现在开发应用做平台迁移是个很大的问题,但如果全做成HTML5的这个问题很轻松解决,只要稍微做点分辨率之类的优化就好。Android的版本分裂问题也很容易解决,更可能是WP7的最后一个救命稻草。
2.HTML5现在并没有完全定型,和CSS3加起来能做到什么程度还是很大程度的未知数,像每次看到Google做的HTML5演示就觉得强的吓人,这都是无限的可能。
3.各大公司对HTML5还是保持着很乐观的态度,支持也逐渐增加,甚至连Adobe都出了HTML5的开发工具,作为一个开发者还有什么怀疑呢?

综上,因为短期技术问题,本地应用必然还会是主流,但是随着HTML5的第三方开发工具出现和普及度增加还是完全有可能替代本地应用的。

但是良心说,在需要硬件渲染的游戏上,还有很长的道路要走。 HTML5会越来越好,慢慢替代一部分原生APP吧,重量级别的app估计还是原生开发。反正两者都会是一个不断进化不断蚕食的过程。 未来用户拥有的移动终端越多,web应用的优势就越大,而前者几乎是注定的趋势。 毫不夸张地说,永远不要抱有这个想法。

Facebook最近一次更新iOS版本的事件中也很容易看出端倪。这不再是个功能导向的时代,性能和交互才是王道,WebAPP受制太多,只能作为某些环节的补充和低成本覆盖的选择。

王皓的说法我很赞同,因为WebApp依托的环境永远不可能取代桌面/终端--不管是技术层面还是商业层面都不可能。

//////////////////////////////////////

好多回答内容本身都很客观,但是我觉得没有直接回答命题“用 HTML5 技术开发的 Web 应用会不会取代原生 Android 或 iOS 应用?”中的「取代」的可能性。

如果都避而不答,建议提问的朋友把问题改一下「如何看待用HTML5技术开发的Web应用与Android或iOS应用的关系?」了。 最近一个项目,就是用html5+css3实现手机APP应用的,毋庸置疑的是WEB APP在版本更新、开发周期上有明显的优势,而且这种应用将越来越广,这点是不需要怀疑的。
只不过单纯依赖于浏览器的APP在权限等方面受限颇多,所以目前来说,对于一个合理的APP,应该是原生APP+WEB APP结合的方式出现,功能互补,同时体现WEB的轻量与快速发布优势 从来不觉得HTML5和native之间是水火不容的替代关系

HTML5最大的优势是在具备一定展现能力前提下的平台无关性(暂且先不谈各个浏览器目前的支持程度),也就是说,理想情况下HTML5开发的应用,在各个支持的浏览器平台都能运行。而native应用的优势是展现能力强大,与OS结合紧密,可调用的接口多。

任何developer,都要针对自己的需要选择技术工具。如果是一个注重展现,注重体验的应用,比如大型3D程序、设计工具,显然native甩开HTML5几光年。但如果是一个重服务,照顾展现体验的应用,那么HTML5就是个很不错的选择。跨平台的能力允许开发团队很的将应用拓展到各个平台,扩大用户面,并且在高速迭代的时候也没有多套产品同步的忧虑,节省大量的人力物力。 我觉得不会很快取代native app. 但应该HTML5 web app会有很强劲的上升势头。
至少在功能性应用上,已经有了这样的势头
Amazon的kindle已经有了HTML5 版本, 还有 金融时报F T, 阅读类应用从IOS平台撤离,除了HTML5的跨平台特性之外,更重要的还是避开30%的app store分成,这一点对他们有很高的诱惑力。
在游戏上,已经有一些HTML5手机游戏借助自有的游戏引擎能够达到不错的效果,虽然目前市面上比较多的还是益智类的轻量级游戏, 少量的动作类游戏已经有不错表现。

HTML5手机游戏给了像FACEBOOK和Google+这样的平台展示游戏的一个机会,对开发者来说,有了更多的市场营销渠道,就一定会跟进。 所以我觉得基于HTML5的web app会在这一两年有一个大的进展。
相关标签: App