|
Native App |
iMag App |
Web App |
Hybrid App |
React Native |
Xamarin |
开发语言 |
Android:java |
XML+JavaScript;webview控件;兼容HTML5 |
HTML5+css3+JavaScript |
HTML5+css3+JavaScript+java+objective-c |
java |
c# |
iOS:objective-c |
开发环境 |
Android:Eclipse/MyEclipse |
现有web开发环境/Eclipse+Tomcat/apache/Visual
Studio |
专用IDE |
IDE+Native开发环境 |
Android SDK iOS:Xcode |
专用IDE(Xamarin Studio)搭配的Visual Studio 必须是2010/2012/2013的付费版本 |
iOS:x-code |
学习难度 |
难 |
容易 |
容易 |
中等 |
高 |
中 |
开发时间 |
长 |
短 |
短 |
中等 |
长 |
长 |
代码量 |
多 |
少(一套代码,生成Android、iOS两个系统) |
多 |
很多,多平台工程 |
|
少 |
性能 |
快 |
快 |
慢 |
慢 |
快 |
快 |
本机设备访问 |
完全支持 |
完全支持 |
不支持 |
部分支持 |
支持 |
支持 |
网络要求 |
支持离线 |
部分依赖网络 |
部分依赖网络 |
部分依赖网络 |
支持离线 |
|
维护更新 |
复杂 |
简单 |
简单 |
中等 |
简单,无需下载更新 |
|
安装需要 |
安装 |
安装 |
无需安装 |
安装 |
安装 |
安装 |
优点 |
可以调用本地功能,良好的用户体验;流量使用少;节省带宽成本;运行快 |
与原生app一样的用户体验;良好的跨平台和兼容性;屏幕自适配;学习时间短;开发成本低 |
跨平台;页面清爽;专注度强;记住用户浏览痕迹;无需频繁更新 |
良好的用户体验和跨平台 |
较强的扩张性(Native端提供的是基本控件,JS可以自由组合使用);可以直接使用Native原生的动画 |
跨平台(一次编码,开发出iOS、Android 与Windows
等平台的原生(Native) App 应用程序) |
缺点 |
不能跨平台;开发的成本大;屏幕兼容性差 |
功能有待完善 |
过分依赖网络;渲染性能较弱;页面过多。用户体验差;不能调用移动硬件设备的功能 |
学习复杂,需要掌握多门语言 |
初学成本高,需要安装各种开发环境 |
教程和培训都是收费的,学习成本太高。编译和调试并不完整需要安装软件和环境 |