WEB APP的跨平台特性确实很吸引人,但是大家普遍都认为WEB APP在用户体验上,目前软硬件环境下,还是不如Native APP。 具体是那些方面不如呢?下面是我的总结:
一、进程切换的体验差异
不考虑机器性能和网速,WEB APP 最大的不足在于进程切换。
比如:Native APP 中,我能在Mail里面直接拖入图片作为附件,GMail就只能attach a file。
又比如: Gmail WebAPP for iPad 的手感不如Mail,虽然功能很好,但是手指滑动时,感觉非常滞涩,远远不如Mail的滑动体验。
WEB APP的滑动效果必须通过 CSS3 和 JS 写出来。相对来说 CSS3 的效果要比 JS 流程些。
但是浏览器支持不支持,支持多少,性能优化的如何,都还需要慢慢演化。
一个用户操作,500毫秒的响应时间 和250 毫秒的响应时间,在开发者来说其实差别不大,要让用户来描述两个的具体差别页很难说清楚,但是潜意识里这样的差距就会慢慢累计起来,成为影响用户体验的重要原因。
二、WEB APP 无法访问本地的外设
比如:USB 接口,通讯录,录音设备等 一些数据采集设备等等。WEB APP 是无法使用的。
本机存储的文件也是无法读取的。
通过语音操作,通过复杂一些手势操作,在WEB APP 上都是比较困难的。
又比如 WEB APP 暂时还没办法充分利用手机的特性,比如陀螺仪。
所以如果你是开发游戏APP的话,大部分时候,几乎只能选择 Natvie APP
三、网页的快捷方式
不借助Native APP,无法把打开指定网页的快捷方式放入启动栏或者桌面。
Android 实现把特定网页打开的快捷方式放入桌面的请参看这篇文章。它其实是借用了 Native APP 才实现这个功能。
四、盈利模式
试想一下,如果没有 Native APP,全部是 WEB APP, 那盈利模式就会变成一个大问题。如何收到钱呢?
而且用户在手机上往往不愿意在多个网站上去登录自己的网银账户。
五、网络状况
如果不用Html5的离线存储。网络状况是非常大的问题。
比如用 Google Docs 写稿,如果网络状况不佳,可能会导致反复存盘失败,本地文字编辑器当然没有这个问题。
虽说 HTML 5 的本地存储 (Local Storage)可以搞定这个问题。但是你很难想象把整个Gmail 都通过浏览器拖到本地--它太大了。而且就算全部存下来,JavaScript的执行效率还是没法和本地代码相提并论。
用 Google Gears 实现的离线 Gmail 到现在都很步好用,因为有些重要的功能必须要在服务器端实现,比如搜索。
如果是展示类应用,视频文件的本地存储会是一个很大的数据量,同理上面的道理。
六、进程间互动(进程间通讯)
比如:我们可以在iPhone里面拖拽几张照片到Mail里面发送,Gmail就无法做到。
比如我们可以通过点击连接调用手机的地图功能,或者调用打电话功能。
网页方式就无法。
七、信任
上面提到的都是技术问题,随着时间的推移,是可以解决的。但是时间会很久。
我信任Google,所以重要的邮件,甚至密码我都敢放在Google的服务里面。比如Gmail。
但是随便一个第三方的线上软件,我可能就会比较小心。
针对企业的应用为何要做局域网的应用,希望离开了企业无法使用。
也是基于这个信任的考虑。
而相对来说 Native APP,这方面的信任度要高于WEB APP。
当然国内会有被墙掉的问题,Native APP优势更大。
这种信任也是人心里认知上的一个壁垒。
对于用户来说,真正的软件就是那种自己单独一个窗口(而不是一个标签页),单独一个图标(而不是诸如Firefox图标中的一个)的东西。这是始于1984年的麦金塔GUI多年以来给大家装下的观念。
虽然 WEB APP 是趋势, Native APP 是现在,其实对现在来说,WEB APP 和 Native APP的融合才是现在最好的解决方案。现在一般情况是:Native APP 为主,WEB APP为辅(一定程度上减小工作量),这可以同时借用这两个的优点。避免他们的缺陷。
参考资料:
web app vs. native app
Web App 和 Native App,哪个是趋势?
跨平台手机应用开发
[讨论] 线上软件 vs. 桌面软件
分享到:
相关推荐
介绍Web App 和Native App的相同和不同之处,并阐释了他们相互之间的关系、优缺点,对Web App 和Native App了解必读
用于3种App(Web App,Light App,Native App)应用的对比,分析各自的优缺点,可以帮助大家来很好的选择需要用哪种方式开发APP。 包含了最新的轻应用APP。
Native App与Web App移动应用发展.pdf
Beginning Progressive Web App Development Creating a Native App Experience on the Web 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除
MAC 下 Web App to native app 的框架.zip,将Web应用程序捆绑到本机OS X应用程序
Native App和Web App的论战加入了一个新的角色Hybrid App。Hybrid App is a mobile application that is coded in both browser-supported language and computer language. They are available through application...
Beginning Progressive Web App Development Creating a Native App Experience on the Web 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载...
准备在您的设备上构建的本机项目。 支持unimodule和自动链接。 OTA更新,并且手势开箱即用。 完全支持React Native Web。 即插即用自定义模板。 与Expo Client应用程序一起使用。 用法 npx create-react-native...
您应该通过创建共享组件react-primitives是一个库,用于在react-native , react-native-web , react-sketchapp上创建共享组件。 Redux工作 由于react-native和react-native-web组件的差异,这些在App和Web之间也...
目前主流应用程序大体分为...(1)临时性的入口(2)无法获取系统级别的通知,提醒,动效等等(3)用户留存率低(4)设计受限制诸多(5)体验较差HybridAPP指的是半原生半Web的混合类App。需要下载安装,看上去类似Nati
本文详细分析了WebApp和NativeApp的优势和劣势,指出Web只是我们作为设计者和开发者所期待的一种理想化结果,是一种趋势,将会是一个相当久的过渡阶段,对复杂产品来说,NativeApp+WebApp也许是个不错的解决方案。...
移动应用开发的三种方式比较 移动应用开发的方式,目前主要有三种: Native App: 本地应用程序(原生App) Web App:网页应用程序(移动web) Hybrid App:混合应用程序(混合App)
Hybrid App:介于Native App和Web App两者之间的App。看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,体验上像客户端,更高效。
当然随着HTML 5和Hybrid混合模式移动应用开发技术的发展,开发者可以开发一种介于Web App、NativeApp这两者之间的App,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”,并且这种开发模式极...
移动应用开发,web app、Native app的讨论已经很久了,纯粹的web app还很少,多少能见到Native + web混合的app,混合的app是在Native app中写一个浏览器加载 web,说浏览器可能有点大了,简单一点就是Native app中...
react-native-web做的简单脚手架,使用了create react app
1. 什么是前端移动App开发 2. 市面上常见的App开发方式及优缺点 3. 使用Hbuilder在线生成安卓应用 4. 学会配置ReactNative开发环境 5. 掌握ReactNative打包流程
When was the last time you visited an app’s mobile web site rather than its native app counterpart? Was it an enjoyable experience? What did you like about it? What could have been better? Possibly ...
lerna --scope=NativeApp run android 或快速命令 yarn android 启动本机ios应用 lerna --scope=NativeApp run ios 或快速命令 yarn ios 启动Expo应用 lerna --scope=ExpoApp run start 或快速命令 yarn expo