hybrid app、web app与native app工具

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

猜你喜欢

转载自www.cnblogs.com/yi-snow-W/p/10709692.html