在这个App的时代,转战了前端,一直接触的都是pc, 离out不远了。
那么接下来,app是我接下来半年的重点,为什么是半年,因为时间不多了。
因为是前端,那么我的重心肯定是 Web App, Hybrid App,想起java都头疼。
关于写这篇博客,属于打标签,让自己初步的理解三种app.
Web App: 纯html5 + js + cs 编写的网页程序,活在浏览器里面,也就是我们原来说的wap。
Hybrid App: web-app、native-app这两者之间的app,它虽然看上去是一个Native App,里面访问的是一个Web App。
Native App: 采用Java/objective-c/C#等编写的运行在手机操作系统里面应用程,能直接调用系统各种资源,和windows桌面程序一个道道。
Web App(网页应用) | Hybrid App(混合应用) | Native App(原生应用) | |
开发成本 | 低 | 中 | 高 |
维护更新 | 简单 | 简单 | 复杂 |
体验 | 差 | 中 | 优 |
Store或market认可 | 不认可 | 认可 | 认可 |
安装 | 不需要 | 需要 | 需要 |
跨平台 | 优 | 优 | 差 |
这里这么多,我觉得核心还是体验和成本的一个权衡。
web app的瓶颈就是性能,对本地资源(硬件存储等)的控制,反之也是Native app的优势。
相同条件下,体验好自然留得住人,那么潜在的收益就来了。
相同条件下,开发维护成本低,那么收益也大。ios的审核流程相对严格,可能细微的修改或者紧急的修复周期都不短。
体验和成本的比较下,体验还要占到优势。
优缺点比对过了,那么再看看适用场合,借用知乎孙杰的回答:
1. 偏交互的Native,偏浏览的Web:交互指复杂操作,输入/选择什么的
2. 已稳定的Native,试错中的Web:H5页面用来做低成本验证很好
3. 访问硬件Native,信息展示Web:指手机里的各种传感器什么的
4. 核心功能Native,周边辅助Web:把工作量多投在刀刃上
但是我自己也补充一点点:
不结合业务纯说技术就是耍流氓,浏览器一直在发展,H5/http2/worker等的出现让web app的开发更上一层楼,在native app为主的app时代,Hybrid形式只会更好。
参考: