可能很多人不知道,规模大的企业和IT预算多的企业的移动App大部分都是基于混合模式开发实现的。
很多做App开发的技术人员会存在一种偏见,觉得“采用混合模式,基于HTML5技术开发出来的App,体验以及功能会和原生模式开发的存在差距”,所以更愿意使用原生模式开发App。
其实市场上主流的App,绝大部分是基于混合模式开发的。最典型的就是微信,除了聊天功能以外,包括公众号、小程序等都是由混合模式开发技术实现的。再比如电商领域的淘宝、京东等,旅游领域的携程,教育领域的VipKid,信息分类的58等不同应用范围的App,混合模式开发技术使其商品展示及线上市场活动的运营管理都变得非常灵活。此外,在航空、保险、银行等行业中,无论是服务客户的toC模式App,还是对员工进行管理的toE和toB的App,多是使用混合模式开发的,混合模式开发技术成为了绝对主力。
人们不禁要问“为什么这些公司和企事业单位,有着足够的预算和开发资源,还要选择混合模式App开发技术作为企业互联网化的支撑?”答案其实和企业的互联网化及数字化的需求有着直接的联系。以下4个方面,决定了越有实力的企业越需要混合模式App开发技术;同时,也是混合模式App开发技术形成不同行业解决方案的根本优势和企业选择的必要性所在。
速度的要求
“试错”这个词不但在互联网公司中广为流传,在传统公司的互联网化过程中也被广泛接受。
越来越多的CIO在谈各自企业移动战略的时候,都会提到“能否根据业务部门的一个想法,先在一周之内做个原型,快速实现,拿出去让大家看看,然后基于这个原型再修改”。这种快速发起、快速验证、快速调整的方法,已经非常流行。之所以要在短时间内先把业务从想法落到现实,哪怕App粗糙些,也要先实现出来,原因在于具有鲜明企业个性的业务的创新想法可能没有先例可循,很难考虑得特别完整。与其花费三五个月不停地思考业务需求,还不如用一两个星期先把基础的想法落实。哪怕短时间内做出的App并不能真正满足业务的需要,但是可以让业务人员的想法在这个过程中变得有据可依、有的放矢,从而为实现更完整且更切实可行的业务方案先行探索。
“业务部门的一个想法,IT部门一两周就做出来了!”这对于企业的信息化负责人而言,是很重要的褒奖。这种对速度的要求,恰恰是混合模式开发技术最明显的特长和优势,一套代码可同步生成iOS与Android两个平台的App,甚至还能部分兼容微信公众号和小程序。一套代码,并不代表偷懒或工程技术的简化,而更多的是因其不仅节省了代码编写的时间,还避免了多个技术团队之间跨知识结构的协同问题,不再需要iOS与Android工程师们开会讨论差异性问题,更是大幅节省了App与服务器端联机调试的时间成本。但如果同样的功能,同样从零开始,使用传统的原生开发技术基本没有办法在一两个星期内完成有价值业务需求的实现,因为这个时间可能连不同终端碎片化和差异化的问题都不足以解决。所以,CIO为了满足业务发展的需求和数字化速度的要求,在移动战略中往往都会规划使用跨平台的混合模式App开发技术。
业务灵活性的要求
在PC时代的B/S架构中,想要实现IT系统的更新并不需要过多地考虑用户端的影响。因为作为用户入口的浏览器一直处于访问网络的状态,只要网络连通,用户随时访问网站都会获得最新的功能和业务。对用户而言,并不真正地存在版本的概念。只要访问服务器,服务器的任何更新都可以随时展示到用户界面上,出现使用问题时,往往只需要清空一次浏览器Cookie基本就可以解决。
但是在移动时代,用户对版本的概念变得越发敏感。而对App的版本管理也成了CIO头痛的问题。通常因为软件开发商能力的制约,或者一些无法避免的bug,让一些已发布的App变得难用甚至会崩溃。此外,一些临时的市场活动、很少但重要的功能、一些不在规划内的产品需求调整等情况,都会直接引出同一个问题“用户必须更新一个版本,重新下载安装,才能满足上述需求”。这种看似日常的版本发布和用户更新,恰恰是传统企业信息化过程中面临的全新问题。
“能否像传统浏览器那样,用户打开的永远是最新的服务和功能?”很多企业的CIO问出了相同的问题,于是大量的、不合规的软件服务商和IT程序员想出了一个“偷懒”的模式。在App中嵌入一些WebView,将一些功能采用传统网页的模式,访问服务器,动态获取。虽然表面上解决了版本更新的问题,实则产生了大量体验很差的App。
企业对业务灵活性的要求,本质是希望像微信小程序一样,可以随时发布一些新的功能,随时动态增改一些功能的入口,让用户任意使用,同时让用户的体验更好。这种对业务灵活性的需求其实需要像小程序一样有强大的混合模式App开发技术来支撑。从而达成“增量更新”“静默更新”“打开获得新功能和新体验”,而不是嵌套WebView,用网页模拟App的方法,以较差的用户体验的代价换取业务灵活的可行性。
当然,目前传统模式开发的App,特别是用Android开发的App也开始部分支持动态更新。这也恰恰说明,业务灵活性是企业互联网化、数字化进程的刚需。只是由于传统技术的制约以及软件开发团队或者服务商能力的限制,真正的原生动态更新始终没有办法大规模进入企业,实现商用。这也让企业对混合模式App开发技术的需求更为迫切,成为每个CIO的必备选项。
集中管理的要求
业务部门的互联网化意识是因为互联网的广泛普及被带动起来的。所以,传统的由IT部门主导企业信息化的态势发生了微妙的变化。过去,都是由IT部门发起信息化需求,但现在的IT部门越来越像“服务部门”。因为业务团队在不停地发起各种各样“业务+互联网”的信息化需求。这个时候,很多传统企业的IT部门领导,没认识到自己角色的转变,如果还存有拖延、不管不问、你们自己搞不定等类似的想法,就会导致当下很多企业的信息化面临的“各种移动App的彻底碎片化”“各个业务部门自己找软件开发商实现各自的需求”等问题。这不但架空了IT部门的信息化主导地位,更麻烦的是,让后续的集中管理变得艰难无比。几十家甚至上百家不同标准的服务掺杂在企业的核心系统中,甚至有些业务部门为了快速满足自己的需求而脱离了IT部门主导的传统PC核心系统,这些操作都是非常危险的。
IT部门在被业务部门要求满足业务的互联网化需求时,往往发现心有余而力不足。IT部门人手有限,实在没办法逐一满足所有业务部门的移动化需求。如果不管,就会产生前面所提到的“技术栈、开发商”碎片化的问题。这个时候,基于混合模式App开发技术的移动应用平台,就很好地解决了这二者之间的矛盾。
定标准,从而实现“集中管理”。如果企业能够制订一套统一的混合模式App开发技术和移动平台标准,各个业务部门就可以独立寻找自己的软件开发商,用各种方法满足自己的移动业务需求。平台的一致性可以带来标准化的统一。这其中包括技术标准化、开发流程标准化、代码管理标准化、项目管理标准化、验收标准化、管理和运营标准化等。
既要放,也要抓。这就是互联网时代企业信息化的要求,更是IT部门的职责。混合模式App开发技术,有望成为实现企业移动战略的利器之一。
信息化安全的要求
企业互联网化带来的最根本转变就是,内网的信息化变成了外网的互联网化。
传统信息化一般包括内网、固定场所、固定网络环境和固定的设备等关键词。而移动战略背景下的企业互联网化,则同时包括外网、随时、随地、员工个人设备、4G和Wi-Fi等关键词。这些不起眼的变化,给企业的业务带来的却是天翻地覆的调整。
移动设备管理软件(Mobile Devices Management,MDM)曾风靡一时,但是购买了MDM的企业几乎无一例外地发现其很难推进。因为MDM伴随着员工自带设备(Bring Your Own Device,BYOD)。如果用企业的管理软件来管理员工个人设备,肯定会有很多人反对。所以,大部分的MDM最终草草收场,只是管理了企业自己购买的一些移动设备。
企业移动化、互联网化的安全怎么保障? 这要满足3个层面的安全,即设备安全、传统安全和云端安全。
混合模式App开发技术可以实现类似于企业应用商店(如微信公众号)的动态权限绑定和授权模式,能够支持特定设备、特定的人,也可以选择不同的子应用。此外,还可以实现随着用户工作内容的调整,根据设备编码和用户权限来实时分配全新子应用的功能。
这种基于企业移动应用商店的“子应用”模式,也是混合模式App开发技术成为企业移动战略支撑的关键。因为做得好的企业应用商店,不仅能够满足传统原生模式开发的App所不能赋予企业的、对各种安全性的需求,还实现了对业务灵活性的管理目的。
APICloud作为中国主流的混合模式App开发技术服务提供商,一直在以布道者的身份推进混合技术在国内的发展和应用。我们不仅提供技术,也提供商业服务,因此会更多地深入到大量的商业用户中去,如海尔、春秋航空、英特尔、中信证券、上汽等。我们的团队结合不同的商业场景和实际的商业客户需求,编写了《30天App开发从0到1:APICloud移动开发实战》,希望能够为不同规模的企业在移动信息化和互联网化进程中提供有价值的参考,同时也能够让从事App开发的技术人员有更多可借鉴的实战经验。
主要内容
本文从总体上介绍APICloud平台,包括APICloud应用的开发模式、设计思想、控制台使用流程等,并以一个HelloWorld App为例让读者体验一个完整的APICloud App的开发流程。
学习目标
(1)了解APICloud平台,了解APICloud相关的学习资源、入门资料和常见的问题。让没有接触过APICloud平台的读者,对平台有一个基础的了解;让学习过APICloud并且已掌握一部分技能的读者,通过本文的学习,可以快速找到需要的资料和解决问题的方法。
(2)学习如何在APICloud平台上创建、修改、调试、编译和运行一个最简单的APICloud App。掌握APICloud App完整的开发流程。
要对APICloud平台做一个全面的介绍,需要花很长的时间和很多的篇幅来讲解每一个细节,而本文作者希望能用更多的篇幅来讲解一个App的实际开发过程,讲解具体的代码实现。所以,本文在介绍APICloud平台的时候,是通过抛出一个个问题,然后告诉读者应该到哪儿去找对应的学习资源,到哪儿能够找到解决问题的方案。
1.1 APICloud平台介绍
本文将从APICloud可以做什么,如何获取使用帮助,APICloud的技术、产品和生态等多个方面对APICloud平台加以介绍。
1.1.1 查看APICloud平台能力
开发者在接触一个开发平台的时候,通常第一个想法就是去查看这个平台的能力。特别是那些想做App的、有着明确需求的开发者,他们会非常关心自己的需求在这个开发平台上是否能够满足。所以,本文开篇就先来解决这个开发者普遍关心的问题,读者可以带着自己预先想好的需求来了解APICloud平台,了解如何能够快速地在APICloud平台上查找相关的能力。
1.通过官方文档快速搜索功能模块
查看APICloud平台提供的能力,一个最基础也是最有效的方法就是查看APICloud的API文档。
APICloud官方网站中的文档页面如图1-1所示。如需要查看视频播放的功能,可以在文档中搜索“视频播放”,搜索结果如图1-2所示,可以看到在APICloud平台上有多种提供视频播放功能的模块,如videoPlayer(播放本地视频)、moviePlayer(播放网络视频)、polyvPlayer(保利威视播放器)、baiduPlayer(百度播放器)等。
图1-1
图1-2
点击其中一个搜索结果,查看模块的详细文档。比如点击“videoPlayer”之后可以看到这个模块对于视频播放提供了很多API,这些API基本覆盖了一个视频播放器所有常见的功能,如图1-3所示。
图1-3
再比如要查找支付功能,可以在文档中搜索“支付”,通过搜索结果可以看到在APICloud平台上有很多个提供支付功能的模块,如aliPay(支付宝)、wxPay(微信支付)、unionPay(银联支付)、paypal(PayPal支付)、iap(iOS应用内支付)等;也有ping++、beeCloud等第三方聚合类的支付模块。点击每个模块均可以查看具体的API详情。
读者想了解APICloud平台有哪些能力,最简单的方法就是到APICloud官方文档中去搜索相应的功能,这样就可以一目了然地知道APICloud平台有没有相应的模块来支持自己想要的功能。
2. APICloud能力支撑体系
目前在APICloud平台上已经提供了600多个模块,上万个API。这些API基本可以覆盖一款App所需的所有常用功能,为方便表述,它们被分为“平台使用”“基础功能”“界面布局”“设备特性”“功能扩展”和“开放服务”六大类,其分类与具体包含内容如图1-4所示。
图1-4
1.1.2 开发模式、技术语言和平台定位
很多APICloud初学者会关心这些问题:APICloud App的开发模式是什么样的、使用什么技术语言、目前自己的开发团队是否适合使用APICloud开发App、整个APICloud的学习曲线是什么样的、入门简不简单等。
1.开发模式和技术语言
APICloud应用的开发模式是使用标准的HTML、CSS和JavaScript+APICloud扩展API来进行App开发,如图1-5所示。APICloud的App开发使用的是标准的HTML5技术,针对标准HTML5所不具备的功能或是用HTML5实现体验不好的功能(这些功能也是开发者在App开发过程中非常常用的功能)。APICloud提供了600多个扩展模块和上万个API,通过这些模块和API来扩展HTML5的功能,满足App的开发需求。
图1-5
2.扩展API调用方式
APICloud扩展API的调用方式与调用标准的JavaScript方法是完全一样的。APICloud引擎的核心API是放在window.api这个对象下面的,这个对象是APICloud在JavaScript全局作用域内扩展的唯一一个对象,可直接调用。如果想调用某个模块下面的方法,可以通过require的方式动态引入,通过在api.require方法的参数中指定某个模块的名称来引入相应的模块,然后调用模块下面的方法,具体演示如下。
1 //核心API在window.api对象下,可以直接调用 2 api.methodName(param, callback); 3 //扩展模块需要require引入,遵守CommonJS规范 4 var module = api.require('moduleName'); 5 module.methodName(param, callback); 6 param: {} //参数,是一个JSON对象 7 callback: function(ret, err){} //回调函数,是一个Function对象,异步方法调用的结果通过此函数返回
复制代码
所有API的调用方式都是相同的,第一个参数是一个JSON对象,承载着要传递给模块的信息;第二个参数是一个callback函数。APICloud大部分的API调用都是异步方式,在调用的时候,要指定一个callback函数,当这个API操作完成时,操作结果将通过该callback函数回调。
一些常用的调用方式,比如打开一个新窗口,可以调用api.openWin();打开通讯录可以调用api.openContacts(),录音、图片缓存等也是调用相应的方法。如果想去加载文件系统模块,可以通过api.require("fs")来加载fs模块,然后调用fs模块下面的方法。使用条码扫描模块也是类似的。示例如下。
●打开新窗口:api.openWin()。
●打开系统通讯录:api.openContacts()。
●录音:api.startRecord()。
●缓存网络图片:api.imageCache()。
●加载fs模块:var fs = api.require('fs')。
●新建一个文件:fs.createFile()。
●加载二维码/条形码扫描模块:var scanner = api.require('FNScanner')。
●打开二维码/条形码扫描:scanner.openScanner()。
APICloud技术是基于标准的HTML、CSS和JavaScript技术,并在标准的JavaScript基础上扩展了一个核心对象-api对象和数百个模块。这些模块可以使用api.require函数载入,并使用操作标准JavaScript对象的方式调用上述模块列举出方法。
3.扩展API的作用
读者可能会问,APICloud为什么要扩展这么多API呢?其实APICloud所扩展的API都是标准的JavaScript所不支持的方法,或是用标准HTML5来实现但体验不好的功能。读者可以把HTML5理解成一门技术、一门语言,但是它还没有达到一个平台的水平。这就是APICloud为什么要做这些扩展。APICloud所有的扩展主要是围绕以下这4个方面进行的。
兼容性:在PC互联网时代,浏览器具有多种内核,JavaScript框架产生的最初原因就是为了实现JavaScript代码在各种浏览器上的兼容和适配。在移动互联网时代,虽然在主流的手机系统中,Android和iOS的浏览器内核都是webkit,但是出于商业原因,谷歌从webkit中建立了一个新的分支,叫blink。现在两个分支的主要贡献者分别是苹果和谷歌,所以未来这两个内核的兼容性问题会一直存在。
实用性:
Page不等于App,标准的HTML、CSS和JavaScript规范更多是用来定义网页和文档的,例如现在的一些框架都在讲SPA结构,它是以单页面为主的,很多HTML标签是针对于文本信息展示的;而App则不然,App更多是强调功能和体验,在原生系统中有很多的组件,HTML5标签和Native组件的设计规范是完全不同的。所以,想用标准的HTML5技术开发一个App是不现实的,人们不能直接把为WebPage所制定的规范直接搬到App上。
B/S架构与Client/Cloud架构:在PC互联网时代,终端产品的主要架构还是B/S架构;但是在移动互联网时代,终端产品的主要类型是App,而App是一个完整的Client/Cloud架构。在移动端,实现界面和功能,在云端提供数据和服务。页面布局是存放在移动端的,功能实现也是在移动端完成,所以用户在使用时可以感受到App的启动、页面渲染和布局展示是很快响应的。
速度、交互和体验:这3个问题是用HTML5技术直接开发App的最大挑战。其实,如果使用HTML5技术实现一个界面,渲染之后显示出来,用户看到这个界面时并不能立刻分辨出它是用HTML5实现的还是用Native技术实现的。但是当用户做一个交互,点击一下,体验一下响应速度或者做一个手势,触发一个动画,这时用户就可以非常清楚地感受到,并能分辨出该界面是用Native技术开发的还是用HTML5开发的。所以速度、交互和体验也是使用HTML5技术开发App必须去解决的问题。
持续性、静态标准与动态标准:HTML5的定稿花了7年时间,并且整个标准的迭代是缓慢的;而Android和iOS每一次版本更新都会新增很多功能,这些新增的恰恰都是当前行业里最需要的功能,但这些功能很难快速通过制定新的HTML5标准进行更新,并在各个浏览器里支持起来。那会是一个非常漫长的过程。
扩展性:在开发一款App的时候,开发人员需要扩展很多的功能,有时候要和行业特点结合,有时候还要跟硬件结合,这就会用到大量国内的开放服务,如推送、直播、智能识别等。所有的这些功能,标准的HTML5规范中都没有定义,所有的标准浏览器引擎也没有默认支持。
总的来说,APICloud扩展的所有功能都是标准HTML5所没有的,如果HTML5有并且在App中运行起来没有任何问题,APICloud平台也没有必要去做这个扩展。APICloud所有扩展的功能其实就是为了去解决HTML5在兼容性、实用性、持续性和扩展性等方面的问题。
4.模块Store
在APICloud模块Store中可以查看APICloud平台扩展的所有功能,如图1-6所示。
图1-6
5. APICloud平台定位
APICloud是一个中间层,是在应用程序和系统之间的一层,在这一层中,APICloud聚合了开发一款App所需要的所有系统调用、开放服务和扩展功能,然后以统一API的形式提供给开发者调用。这就是APICloud平台的定位,如图1-7所示。
图1-7
1.1.3 技术、产品、生态、案例和商业模式
这部分有大量的内容需要给读者介绍,但是本文不想为此占用大量的篇幅。读者可以通过APICloud官网公开课的视频来详细了解。在官方视频教程2中有几百集的课程,其中“APICloud视频之初级代码篇第1~3讲”通过几小时的视频给读者详细介绍了APICloud技术、产品、商业模式、案例以及生态的方方面面,如果读者是第一次接触APICloud,我们建议花一定的时间去观看这些公开课的视频。
1.1.4 开发者服务体系
开发者在选择或者使用一个平台的时候,一定会遇到很多的问题。遇到问题时应该如何解决?此外,开发者还会关心这个平台在提供技术的同时还能提供哪些服务?有没有一个完整的生态?有没有一个活跃的社区提供技术支持、方便学习和交流?
针对这些问题,本节列举以下APICloud开发者服务体系相关的产品。
1. APICloud开发平台
这里是APICloud的官方网站,也是整个APICloud应用开发和管理平台的入口。
2.开发工具
APICloud是一个移动应用的开发平台,开发APICloud应用需要编码工具。对于开发工具来说,APICloud支持包括Atom、Sublime Text、Eclipse、WebStorm、VSCode,以及基于Node.js的CLI命令行工具。开发者在开发APICloud应用的时候,可以使用自己喜欢的任意一款主流的编码工具,只需要在这些工具中安装相应的APICloud插件就可以了。
以Sublime Text3为例,如图1-8和图1-9所示,可以看到这里面有Windows版和Mac版的下载地址,这里所下载的是APICloud为Sublime Text提供的插件。下载完成后,打开Sublime Text,在Sublime Text中安装完APICloud插件之后,就可以在Sublime Text中使用“新建APICloud项目”“新建APICloud文件”“进行Wifi真机同步”“日志输出”“代码管理”等开发APICloud应用所需的相关功能。在其他工具中,如Atom、WebStorm、Eclipse和VSCode等也可以分别安装APICloud为这些工具所提供的对应插件,所有这些APICloud的工具插件都是免费开源的,可以在GitHub的APICloud开源分支中查看源码。
图1-8
本文案例的开发会全程使用APICloud Studio 2作为开发工具,APICloud Studio 2是APICloud提供给开发者的一款基于Atom扩展的全功能集成开发工具。在本书的附录B中,会对APICloud Studio 2开发工具的使用进行全面详细的介绍。
图1-9
3.开发文档
整个APICloud开发文档包含了3部分内容,第一部分是对APICloud的整体介绍以及开发工具的介绍,也就是其网页最左侧的这一列;中间部分是对APICloud API的介绍,包括端API、扩展模块、前端框架、云API等;最右侧是技术专题,这里会把开发过程中常见的问题以技术专题的形式总结出来。不管是对APICloud的初学者,还是已经用APICloud开发过应用的开发者,本文都建议在遇到问题的时候,第一个解决方式就是去查找文档。APICloud文档遵循简洁清晰的书写原则,用到某一个API的时候,直接到文档中查看其对应的使用说明即可。
4. 开发者社区
APICloud有着国内最活跃的HTML5混合开发者社区,在这个社区中,有很多优质和资深的APICloud开发者,用户在使用中遇到的问题在社区中提问都可以第一时间获得解答。APICloud平台上线至今,社区中已经沉淀了很多有价值的帖子和技术专题的讨论,所以非常建议开发者常去社区看看,那里的帖子都是各个开发者学习经验的总结。本文希望读者在开发过程中遇到问题的时候,可以到社区中查找相关的解答或者提问,初学者最好能花一些时间把新手入门的帖子从头到尾看一遍,这是非常有价值的。
5. VIP服务
很多大型企业或者创业公司在选择APICloud的时候,由于整个项目的开发周期比较紧张,而刚刚接触一个新的平台,使用中会遇到一些问题,这些问题在社区中是可以得到解决的,但是可能不够及时。针对这类客户,APICloud提供了VIP技术支持服务,企业也可以去购买APICloud企业版。当然这个是收费的,企业购买完之后,APICloud将以工单的形式提供技术支持,企业客户有任何问题,半个小时之内APICloud官方会有技术支持一对一地进行解答。
6.开源代码分享
APICloud提供了非常丰富的开源代码,这些源码包括App实例源码,很多都是APICloud开发者所开发的一些App模板源码,也包括一些模块的使用示例代码,以及App开发过程中一些常用的JavsScript框架代码。当然,这里也有模块的源码,因为APICloud的很多模块都是开源的,所以模块的源码就是Android和iOS的模块工程源码。同时,APICloud为Sublime Text、Atom、WebStorm、Eclipse等所有主流的开发工具提供的插件、命令行的CLI工具,以及APICloud Studio所有的代码都是完全免费开源的。
这里也有APICloud前端框架和官方文档的源码,APICloud官方文档本身就是开源的。读者如果发现官方文档的编写存在不够准确或者不够完善的地方,可以随时在官方文档的开源分支中提交修改,一同为APICloud生态发展做贡献。还有APICloud云SDK,也就是APICloud提供的云端服务,官方提供了不同技术语言版本的SDK,包括Node.js、PHP、Java、.NET等,这些不同语言版本的云API SDK也都是开源的。
更多APICloud开源代码可以到APICloud GitHub开源分支j查看。
j在GitHub中搜索“apicloudcom”。
7.商业案例展示
目前,基于APICloud平台开发的应用已有2万多款在苹果AppStore上线。在APICloud商业案例展示区,用户可以看到一些用APICloud开发出来的应用案例,每期会展示数百款的已上线App,这些案例都是用APICloud开发的商用App,不是WebApp,也不是微信公众号或HTML5网站。所有这些App旁边都有二维码,用户可以直接扫码安装体验,这些应用都是使用APICloud平台开发的。
如果APICloud的开发者开发了一款App,并且认为其性能体验不错,可以联系APICloud官方的运营人员,申请在官网展示这款App。APICloud可以在案例区为其免费展示,案例区会定期更新申请展示的App。初学者如果想看一下APICloud平台开发出来的App是什么样的运行体验,就可以直接扫码安装运行这些案例,看一下体验和效果。
8.模块Store(聚合API)
APICloud模块Store上展示了APICloud平台上所有的扩展模块。APICloud使用行业标准的模块扩展机制,对于具有Android和iOS开发经验的开发者,可以直接按照APICloud模块扩展机制为APICloud贡献模块,这些模块可以选择收费也可以免费。
目前,APICloud平台上有600多个模块,大部分的模块是免费的。大约有1/3是APICloud官方开发的,官方提供的所有模块都是免费的,基本可以覆盖App开发所需的全部基础功能;还有1/3是第三方服务厂商开发的,比如高德地图、科大讯飞语音识别、融云即时通讯等;最后的1/3是个人开发者开发的,个人开发者提供的模块大部分都是收费的。APICloud是想建立一个生态,对于Android和iOS的开发者,可以非常轻松地为APICloud模块Store贡献模块,同时模块开发者可以为其开发的模块标一个价格,让其他开发者购买后使用。
9.模板Store
APICloud还有一款产品是模板Store。开发者在开发完一个应用之后,如果不想再运营这个应用了,或者是单纯想做一款应用的模板,如果它是一个完整的端到端的应用,整个需求和功能都可以达到一个标准商业应用的水平,就可以将它作为一个模板提交给APICloud。APICloud官方可以把它模板化后成为APICloud模板Store中的一款模板。整体是有一个审核流程的。模板审核通过之后,就可以在APICloud模板Store上进行销售。在模板Store上架后,其他开发者只需一键购买,在线支付,就可以在几分钟之内获得这样一个模板。所购买的产品包括这个模板的管理后台、模板的Android和iOS的安装包以及一些必要的皮肤定制等服务,同时在开发者的APICloud应用控制台中,也会有一个对应的“模板应用”的项目。
10. APICloud应用定制服务
在APICloud平台上每天都会聚集很多客户的App定制需求,因为很多客户认可APICloud平台和App开发模式,但是由于没有自己的开发团队,所以希望APICloud能够为他们提供App定制服务,或者为他们推荐优质的团队来进行项目实施。APICloud应用定制服务有一套标准化的开发流程和项目管理流程。
1.1.5 新手入门APICloud应用开发
这里推荐一些优质的入门资料,读者可以在官方文档页面中找到这些资料。
APICloud新手开发指南,在这个指南当中,基本上涵盖了APICloud应用开发入门所需的各方面知识,并且APICloud官方也会不断更新这个教程,所以这个新手开发指南是所有APICloud初学者必须要认真阅读的文档。
APICloud新手教程集合贴,这是社区里的新手教程集合贴,里面有很多优秀开发者的开发技巧、经验和教程的总结,推荐新手一定要看。
●APICloud视频教程15,如果初学者想找一种更简便的方式去学习,也可以去看看APICloud的视频教程,在这个视频教程中已经有数百集的视频。
15点击官方网站中的“视频教程”。
●APICloud在线培训,APICloud定期会举办线上的视频直播培训,直播的老师既有APICloud工程师,也有优秀的APICloud开发者或其他培训机构的老师来直播。
1.2 体验完整项目的开发流程
在对APICloud平台有了基础的认识后,读者将跟随本节内容从零开始,创建、修改、调试、编译和运行一个最简单的App。这个App不包含任何复杂的开发技术,旨在让读者体验一个完整App的开发流程。在本节的最后,这个应用将可以在移动设备上运行。
1.2.1 注册APICloud账号
在创建App项目之前,首先要有一个APICloud账号,这个账号非常重要,请妥善保管。点击APICloud官方网站右上角的注册按钮即可开始注册。注册过程非常简单,注册完成后请登录账户。
1.2.2 创建一个App项目
创建一个新的项目有两种方式:
在APICloud云平台上创建;
在APICloud的官方开发工具中创建。
APICloud推荐的集成开发工具是APICloud Studio 2。同时也为其他常用的开发工具软件提供了插件支持,如Sublime、Eclipse、WebStorm、Atom等,读者可以根据自己的使用习惯选择对应的工具。
本文以APICloud Studio 2为例。首先需要下载这个开发工具,选择官网首页的“App开发平台”,然后选择“开发工具”。
在新的页面中根据具体的操作系统选择对应版本的APICloud Studio 2进行下载。下载完成后将压缩包解压到任意位置,在解压后的文件中找到类似“apicloud-studio-2.exe”的文件,这是开发工具的可执行文件。建议为它创建桌面快捷方式以方便使用。
1.在APICloud云平台上创建新项目
在官方网站登录成功后,将鼠标移动到页面右上角的用户名处,在显示的菜单中点击“开发控制台”。
打开控制台页面后,页面左侧是项目列表,现在它是空白的;在中间部分会显示APICloud的更新日志(APICloud平台自上线以来一直坚持每周更新一个版本)等平台动向信息;右侧是个人信息以及一些工具按钮,如图1-10所示。
图1-10
点击左上角的“创建应用”,在弹出的窗口中选中“Native App”(默认选项),在“名称”输入框中填入“HelloAPICloud”并在“说明”输入框中填入任意说明信息,之后点击创建。此时一个新的项目便被创建好了并显示了刚刚创建项目的管理页面,后续会对这个页面的相关功能进行循序渐进的学习。
在项目创建完成后还需要将这个项目检出到本地进行开发,APICloud支持通过git或svn进行代码管理(关于代码版本管理的资料请查阅相关文档),即便读者不了解代码版本管理的相关知识也不妨碍本节的学习。
打开APICloud Studio 2,如果开发者是首次运行此开发工具则需要进行登录。请用之前创建的账号进行登录,否则无法找到相应的项目。登录成功后会进入欢迎页面。
此时开发工具已经获得了账号权限,可以对项目进行操作了。点击菜单栏的“代码管理”→“代码检出”→“APICloud云端应用”,在出现的检索框中输入之前创建的项目名称“HelloAPICloud”,回车确认(也可以从下面的模糊搜索结果中选择相应的项目,如图1-11所示)。
图1-11
在弹出的对话框中选择这个项目在开发设备上的保存位置(例如在桌面上新建一个叫作“HelloAPICloud”的文件夹,然后选择这个文件夹)并点击“检出”。
在新弹出的输入框中保持默认,直接按回车即可,如图1-12所示。
图1-12
开发工具会自动从APICloud云端将账号中的“HelloAPICloud”项目检出到本地计算机上,稍等便可以看到默认打开的代码编辑页面。
2.在APICloud Studio 2上创建新项目
打开APICloud Studio 2并登录之前创建的账号。点击菜单栏中的“文件”→“新建”→ “APICloud移动应用”,分别输入应用名称和应用说明,应用框架选择“空白应用”,之后点击完成。在弹出的对话框中选择新项目的创建位置,点击“创建”。
稍等便可以完成创建。此时在网站的控制台中可以看到刚刚创建的项目。
本文摘自《30天App开发从0到1:APICloud移动开发实战》
《30天App开发从0到1:APICloud移动开发实战》
邹达, 李德兴 著
点击封面购买纸书
本书介绍如何通过APICloud平台快速开发一款APP,从介绍APICloud平台开始,从零搭建APP框架,对数据通信能力、js移动端应用、APICloud引擎架构、第三方开放平台服务应用发布和管理及更新迭代均有详细讲述。
随后详细对UI框架的使用进行分析,通过对热门行业的移动应用开发解决方案的介绍,让读者掌握真正的实战技巧——如何开发一款优质的APP。
推荐阅读
每天与你分享IT好文。
在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步e读版图书一本。赶紧来参加哦!
点击阅读原文,购买《30天App开发从0到1:APICloud移动开发实战》