1.使用过哪些工具?
Webapp:ThinkPHP Mobile(TPM)、Ionic Framework、JingleUI
Hybridapp:Apicloud、Phonegap(稍了解Hbuilder、Appcan、Wex5)
Nativeapp:CrossApp、React-Native、Xcode、Eclipse-ADT/Android Studio
2. 以上工具各自的编程语言是?
Webapp:主要使用H5(html5、css3、js)语言规范来编写,对JS语言掌握要求较高
Hybridapp:同Webapp使用H5作为主要编程语言,JS将作为主力连接原生SDK模块
Nativeapp:
1)Xcode、Eclipse-ADT/Android Studio:使用Objective-c/swift、Java
2)CrossApp:主要使用C++来进行跨平台编写,JS(已经支持,不过仍处于测试阶段)
3)React-Native:主要使用JS编写,语法规则JSX
3.以上工具的上手难度、开发周期、打包平台、跨平台属性是?
1)上手难度:
Hybridapp/Webapp:写一次,运行任何平台。简单
React-Native:学一次,写任何平台。中等
Nativeapp:学一次,只限运行特定平台。较难
2)开发周期:
Webapp:2~3周
Hybridapp:由于第三方工具兼容性、bug处理问题、调用js-原生模块(熟悉文档),开发周期在2个月左右
React-Native:1个半月~2个月
Nativeapp:各1个半月~2个月
3)打包平台
Webapp:无,可借助微信开放/公众平台分发。成本低;自由度高
Hybridapp:第三方工具的在线打包。成本低;自由度低
React-Native:原生Xcode、Eclipse-ADT。Xcode需购买支持OSX操作系统的主机,成本略高;自由度高
Nativeapp:原生Xcode、Eclipse-ADT/Android Studio。Xcode需购买支持OSX操作系统的主机,成本略高;自由度高
4)跨平台
Webapp:H5分发平台
Hybridapp:跨iOS、Android、Wp(PhoneGap支持)多平台
React-Native:跨iOS、Android双平台
Nativeapp:不跨平台
4.Hybridapp与Native app相比,性价比如何?
时代在发展,Html5规范也在完善,尤其是W3C敲定Html5标准之后,但是现实真的有那么美好吗?
笔者使用Apicloud,从发布到今天已有一年多,apicloud相对其他混合式app工具,是同类较好的,但这并不能掩饰h5作为app 开发的局限性。
1)混合式app的用户体验
页面与页面之间的切换,也称转场动画。随着手机硬件系统的更新换代,webview已有很大程度的提升,但即使是在iphone 6/6s plus上仍然是假性生硬切换,即使无卡顿。那么要做到诸如微信般切换已然无可能。
iOS系统如此,安卓系统情况亦不明朗。而由于混合式app依赖模块实现原生交互,在没有大量模块实现的情况下,需要使用html5-js来代替,体验更是大打折扣。
2)UI开发受限
许多创业公司由于产品交互需求,需要将app ui做到配色一致或更个性化(如带卡通下拉刷新),而混合式app的模块UI已写固定,自由化UI定制难。
3)集成第三方sdk
混合式app想要使用第三方sdk,首先要使用的工具平台支持,如果平台不支持,要么你请人写iOS/android模块,要么就是等。倘若新集成的sdk出现bug,你所能做的也是等,并没有其他好的办法。
5.针对这些工具,学习路线是?
我在一些混合app 开发群里,看到过很多web开发新转行的同学,问题没有看明白,就直接提问,我觉得这种做法会影响自身的开发效率。以下讲讲学习混合式app的学习路线:
1)搭建IDE环境
针对Win/OS X选取不同的开发环境工具包,并生成第一个示例app,hello world!
2)看教程
Html5教程推荐:www.w3school.com.cn
在第三方工具的开发者社区看置顶教程帖子或视频教程,文字的教程可以多看,视频的教程看看就好,毕竟每个人的思路都是不同的
3)看技术文档
到这个阶段,你要正式开发app了。文档里的方法不用记得太详细,建议边写边看边调试。混合式app的调试需要同步到手机,这点可能有点麻烦。推荐使用海马玩模拟器进行在线调试。
4)看开源代码
任何编程语言都有互通性,而看开源代码就是必修课了。好的开源代码能让你进步神速。
6.对web开发者转型的建议
同为多年web开发,转型不易,一要考虑工具要像脚本语言如此便捷效率;二要考虑能否媲美原生app。
我的建议是:
以hybrid app为基础,观望crossapp-js部分,条件允许使用react-native(来自facebook,一直在更新)。
hybrid app、web app、native app之间的比较分析就到这里,如果还有补充,会继续更新。
扩展阅读
国内主流Hybrid app工具平台推荐:https://blog.csdn.net/ciupasswort/article/details/49563445
hybridapp/webapp的前端UI框架推荐:https://blog.csdn.net/ciupasswort/article/details/49564803
原文地址:https://www.cnblogs.com/yi-snow-W/p/10709692.html