APICloud混合APP开发简介

停!让我先理理思路。

为什么?

  • 为什么用APICloud而不是ReactNative或Weex?
    ReactNative(简称RN)和Weex是用Web前端技术写代码,然后编译成各平台对应的原生代码来运行,速度虽快,但有很多限制。比如Weex中CSS只支持一级选择,不支持父子级嵌套;在HTML中插入图片要用image标签而不是img,文本要用text标签而不是普通任意html标签。相比之下,APICloud就是更偏向于混合模式的开发了,页面布局纯粹是一个html文件,但是用原生方式openWinopenFrame,也保证了窗口切换效率。
    还有很重要的一点是配套设施,Weex现在几乎没啥插件,RN比较多但我更喜欢Vue,而APICloud有模块Store,微信、QQ、微博、BeeCloud、Ping++、原生幻灯片等插件有不少,还有证书管理、上线后云修复、生成安卓各应用商店apk等等。。。

  • 为什么用Bootstrap?还是4.0的alpha版本?
    这样可以少写很多样式代码,看起来也比较规范,关键是有很多优秀的主题可以直接应用,比如我最喜欢的Bootswatch系列。v3没用flex布局,不适合手机端,而且v3和v4差别比较大,直接用v4以后省事儿。

  • 为什么用jQuery?
    主要是用来实现批量的事件绑定、选取元素、ajax请求。

  • 为什么不用Vue全家桶?
    APICloud的开发模式类似原生开发,每个窗口都是独立的html页面,所以SPA没啥用。Vue的那套东西很好,但不太适合混合模式app开发,除非哪天跟apicloud进行原生层面的结合。用Vue全家桶+cordova的方式做出来的app比较脆弱,而且页面切换效果也不尽人意。本项目用Vue也只是把它当个类似artTemplate的模板渲染工具。

  • 关于APICloud自带的api.css和api.js?
    有bootstrap的话自带的api.css就没啥用了,api.js还有点用,比如$api.fixStatusBar()方法,DOM操作有点鬼畜。

开发及调试原理

开发工具很简单,一般来说只要有个Sublime Text,命令行有个apicloud命令,手机上(ios和android都支持)安装个AppLoader应用就能开发了。

其实关键点是手机上的AppLoader这个应用。可以理解为APICloud的一个APP壳,我们写出来的代码只是一堆html、css、js,开发调试时并不用编译成一个原生能安装的App。而是通过wifi将文件同步到手机上,然后AppLoader读取我们写的代码去执行。所以可以用任何编辑器来写代码,然后命令行运行apicloud wifiSync就同步到手机上了,AppLoader里面就能看到运行效果。所以Windows平台也能开发ios应用,而且不用装android或ios开发的任何工具。

小提示

  • 用apicloud开发的应用,即使用jQuery的ajax发起跨域请求也不会有任何问题。
  • 因为每个页面都是单独的html文件,所以引用css和js就相对麻烦一点,每个页面都要引用,而且头部底部不能包含。
  • iOS上html中的click事件有300ms延迟,可以用fastclick.js库解决,在某些情况下也可以换成最快的touchstart事件。

你可能感兴趣的:(APICloud混合APP开发简介)