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