大纲
- 目的 -
可以通过使用APICloud提供的框架,利用web前端技术开发Android和IOS移动应用 - AC能做什么 -
知道AC能做什么也就了解了它是什么 - 为什么使用AC -
了解为什么使用AC进行移动应用开发以及适用场景,AC是在某种场景下的一种手段,去掉炒作的成分,留下的才是实用的部分 - 如何更好的使用AC -
AC为我们提供了开发方法,对于当前的前端开发方式来说已经有点过时了,我们应该用更高效的方式进行开发,更好的达到‘为什么使用AC’的目的
目的
看完这个分享以后:知道什么是APICloud并且当有人问你能不能开发移动应用的时候,你应该说我可以通过使用APICloud快速的开发出效果还不错的移动应用
- 技术要求:web前端基础 -
html、css、javascript - 注:APICloud对我们最有用的部分就是能够使用web技术开发移动应用
APICloud能做什么
APICloud为我们提供了IDE开发环境,通过这个环境可以实现‘云’与‘端’的一体化(云端一体),目的是更好的开发APP,服务不同平台的用户。
IDE:APICloud Studio 2
基于开源编辑器Atom深度定制开发的符合AC开发习惯的一款IDE,开发中用的最多的功能有
- 登录账户
- 代码管理
- 编译调试
端API
- 通过全局对象(window.api)来实现,简单来说就是使用它可以实现大部分APP能实现但web实现不了的事,比如获取设备ID,监听前后台切换事件等
- 毕竟APP提供的功能那么多,没法一一实现,平台提供了模块思想和自定义模块的开发方法,常用但平台未提供的功能模块商店里一般会有,没有的可以通过自定义模块的方式来,也就是自己开发一个模块,然后通过APICloud提供的SDK打包成模块供api调用。
- 另一个就是通过api调用应用的原生UI组件的功能
云API
为我们提供了规范化的服务端技术实现方案,换句话说原来我们需要自己开发接口实现的一般性和通用的功能,在这里有对应的解决方案。
- 数据相关:规范化的跟APP数据相关的Restful API,http调用跟web端发请求一样
- 统计相关:获取APP的统计信息相关的接口,一般用在统计后台里-AC控制台有相关操作界面
- 推送相关:创建推送消息,发起推送,一般用在管理后台-AC控制台有相关操作界面
更好的开发APP
APICloud让你更好的关注业务逻辑,而不是APP配置等内容,配置成了一件非常简单的事情,有了这个平台很多看似复杂的内容变得简单。在实际开发过程中这里只需要配置一次,之后基本不用再管它,或者等所有开发都结束以后再管它。
- APP图标设置、横竖屏设置、状态栏是否显示、启动页图片
- Android和IOS证书设置
- 代码管理,默认svn,可以设置成自己的git仓库,代码托管在自己的仓库
- 模块管理,使用扩展模块或自定义模块
- 云编译成测试包或正式包
为什么使用APICloud
原生开发最大的突出问题在于开发效率、迭代周期、迭代速度等是受局限的。而APICloud则体现了“快“与”活”的两个特性,但也不能一概而论,公司有实力完全可以使用原生的方法进行APP开发,AC在某些场景下能够发挥大作用(你有一个想法想验证他的可行性,这时候用AC就能够快速实现你的想法,这在产品试错与创业阶段是非常有利的)
- 快:一站式的APP开发和管理平台,简化APP开发技术
- 活:灵活,用起来相对灵活,比如在升级,版本分发这些操作上
如何更好的使用APICloud
如果你去看APICloud的文档,其中有一部分是这里没有涉及到的
- APICloud前端框架:提供了操作DOM和JS函数库,还有CSS(AUI)
- UI模块引擎:用于打开按照微信小程序语法实现的页面(语法和效果参考小程序,UI实现使用原生来实现,还没正式推出)
- 如果担心代码泄露需要额外的对代码进行处理
- 模块开发:特殊需求的情况下才会用到模块开发
- 打包成公众号:一键打包
这些内容不去详细介绍,只有在必要的时候才会用到,其中前端框架已经明显有些过时了,用起来并不是很方便,目前的前端框架有很多,DOM操作已经被整合的非常方便,比如我们这里使用vue和APICloud结合,就能像开发单页应用一样来开发APP,MVVM、热更新、开发调试都非常方便,只有用到原生功能的时候才会需要在手机上看效果。有了这些开发效率将变得更快,成本会更低。有了这个你会发现:
- 前端框架不在局限在AC提供的框架里,可以使用更新更好用的框架
- UI可以任意使用目前流行的UI框架,或自己开发,效果上都是没有任何问题的
- 模块使用与开发与文档规定的使用方式完全一致
- 使用Vue单页应用开发APICloud可以使用最新语法,而且可以方便的引入各种npm包,同时不用考虑兼容问题,因为最终会打包压缩
- 不必担心代码会泄露,因为最终使用的是打包压缩后的代码,源代码在我们自己手里。
- 不存在打包成公众号的问题,因为他本身就是一个web单页应用,web功能在H5上,公众号上都能直接用