移动应用开发专题二创新周报总第172期框架为桥,天堑变通途——移动应用开发框架(WADE-Mobile参与过早期J2EE WEB开发的同事一定记忆犹新,大多数程序员都刚刚从传统的PB、Delphi等C/S模式应用开发中转型过来,不再是单一的编程语言,也缺少统一的集成开发环境(IDE,满眼尽是从前端(JSP、HTML、Javascript到后端(Java、HTTP、WSDL、DB数量众多、纷繁复杂的全新面孔。
混乱过一阵子后,开源和定制开发框架逐渐兴起,技术门槛高、开发效率低的糟糕境况才得以好转。
今天,移动应用开发又将我们拉回到这似曾相识的境地。
云计算、移动互联网大势所趋,HTML5、CSS3新技术闪亮齐登场。
Apple iOS、Google Android、Windows Phone、OMS(中国移动OPhone、Linux(中国联通沃Phone等平台之争,Objective-C、Java、C/C++各种语言伴随着陆。
Apple xCode、Google Android Development Tools (ADT、中国移动Open Mobile System Development Tools (ODT、Microsoft Visual Studio 2008等各种开发环境跟着乱象纷呈。
我们会不会再次回到混沌之初,期待盘古重开天地呢?答案是否定的,请看下面关于《移动应用开发框架(WADE-Mobile》的详细介绍。
WADE移动应用开发框架(简称WADE-Mobile基于最新的WEB技术(HTML5、CSS3,并结合面向各种操作系统、移动设备的专用APP壳,可广泛用于各种企业场景的移动应用开发,能够有效降低技术门槛、提高开发效率、保证产品质量和保障信息安全。
适用场景WADE-Mobile适用于公司内部各部门移动应用产品研发和项目实施,包括满足运营商业务支撑系统向移动设备终端的延伸需求,以及面向更为广阔的移动互联网领域,开发公众使用的移动应用产品。
在运营商业务支撑系统方面,已知能够适用的一些需求包括:中国移动集团规范(NGBOSS-CRM3多OP管理分册G3版工作台部分、广东移动G3版CRM手机客户端解决方案、中国移动集团公司统一积分商城、上海移动WLAN登录、江苏电信掌上BOSS等。
在移动互联网方面,可以支持的移动设备操作系统包括:Apple iOS,开发使用Objective-C程序语言和xCode集成开发环境;Google Android,开发使用Java程序语言和Eclipse集成开发环境,包含Android Development Tools (ADT插件包;中国移动Open Mobile System (OMS,程序语言和开发环境同谷歌类似,不同的是插件包为OMS Development Tools (ODT;中国联通沃PHONE,国产Linux操作系统,使用C/C++程序语言和Microsoft Visual Studio 2008集成开发环境;其它还有Microsoft Windows Phone、BlackBerry OS、Nokia Symbian等,在此不再一一赘述。
能做什么WADE-Mobile能为移动应用开发提供全方位支持。
不但能够辅助开发人员轻松完成前端的页面开发、脚本编码,以及后端的WEB服务;而且可以协助测试人员、配置管理人员等进行功能验证和产品发布。
如同工厂里的自动化流水线一般,直接产出可供立即上架的成品。
一是提供模板,支持静态页面拼装。
让我们先来看看WEB页面开发的一般流程:美工提前设计界面效果图;接着做切分,形成样式、图片等备选资源;然后,程序员再用HTML和CSS正式开发页面。
整个过程步骤很多,非常繁琐,显得特别笨重。
对参与其中的美工和程序员素质要求也相当高,美工在设计效果图的时候不但要考虑用户需求,还要照顾程序员的实现能力;程序员则要深入掌握HTML、CSS知识。
大家都知道,招聘一个既懂需求又了解程序开发的美工很困难,而类似最新流行的HTML5和CSS3技术,要想让普通程序员都快速学会并且熟练使用,也不是件容易的事情。
WADE-Mobile可以在一般的开发过程中,省去美工这一角色,类似从前C/S架构应用一样,程序员仅需选用合适的“控件”快速拼装,即可完成页面的开发。
这里提到的“控件”主要是指模板(元素、组件和布局和现成的CSS样式文件。
程序员通过简单的拷贝和引入,就能做出实用、美观并富含先进技术的高品质页面。
一个对WADE-Mobile基本熟练的程序员,几乎可以做到在同客户一对一互动需求的同时,完成页面的开发。
从需求到实现的过程中,让客户获得“所说即所见、所见即所得”的完美体验。
二是提供API,支持动态脚本编码。
动态脚本编码是在静态页面效果完成之后进行的开发步骤,开发内容包括离线交互、本地存储、在线访问和设备功能。
WADE-Mobile提供完整的Javascript API 支持,程序员无需了解其中的技术实现细节,包括各种操作系统、设备机型差异等。
这些API是面向开发人员的统一编程接口,后端封装有各种差异化实现,如针对iOS的Objective-C程序功能、针对Android 的Java程序功能、调用后端云服务进行数据交互等。
四是提供APP壳,支持产品在各种设备终端的兼容运行。
APP壳是支撑前面提及API的实体,也是最终安装到用户个人设备上的移动应用,例如针对使用Android2.1操作系统的Motorola Milestone 手机,则是一个扩展名为APK的程序安装包。
对于APP壳,程序员不用关心,但是测试人员和最终用户需要使用。
使用WADE-Mobile开发的移动应用产品,实质上就是借助APP壳打开位于服务器端的WEB应用。
开发APP壳,并广泛支持各种移动设备终端,使得基于框架API开发的移动应用产品都具备良好的兼容性,是WADE-Mobile作为开发框架所必备的基础设施。
五是提供云服务框架,支持WEB服务的快速封装。
接口封装框架(MWJI隶属于WADE基础平台产品,专门用来封装业务支撑系统内部已有的业务逻辑代码。
通过配置即可封装成为供外部访问的WEB 服务,不光同时支持HTTP和WSDL方式,而且安全方面还能得到很好的保障。
基于WADE-Mobile的移动应用同MWJI框架完全兼容,程序员通过快速封装即可完成移动应用后端的WEB服务开发。
另外,即将推出的云计算资源平台(WADE-LC还可以提供原生的私有云计算支持,包括资源智能伸缩、应用自动部署、服务动态路由等特性。
六是提供集成开发环境,辅助开发、调试。
集成开发环境(WADE-Studio为移动应用开发提供工具支持,包括开发工具、调试工作台等。
程序员可以借助向导,快速开发初步的移动应用功能部件,包括项目、功能、文件等。
有经验的程序员还可以封装自己的可复用代码,打包成为WADE-Studio的用户模板,供自己二次使用或者分发给其他程序员开发使用。
如何使用下面将扼要介绍WADE-Mobile的开发环境、关键步骤和使用方法。
熟悉集成开发环境使用获取到的WADE开发环境文件包,开发人员可以快速在本机搭建好开发环境。
Eclipse、WADE-Studio插件集、工作区(Workspace、调试工作台、Tomcat、JDK、开发调试工作台、集成运行工作台等一应俱全。
如果开发人员有自己个性的喜好,已经有了类似MyEclipse之类的开发环境,不用担心被强制替换。
因为WADE-Studio插件集可以同已有的其它Eclipse开发环境融为一体,同样也能提供很好的开发支持。
●Studio,基于著名的跨平台自由集成开发环境(IDE——Eclipse,提供一组标准的Eclipse插件集。
●Workspace,开发工作区,也是Eclipse工作区,用于存放源代码,包括示例项目Quickstart,其中包含单应用工作台,用于开发调试时运行单一应用的功能,便于开发人员进行单元测试。
●服务器,开发环境文件包中自带有Tomcat应用服务器,正式环境可以采用商用产品,如Oracle Weblogic。
●多应用工作台(Desktop、信息推送服务(IM都属于基础设施,集中存放在开发环境文件包的Base文件夹中,默认配置为随同Tomcat应用服务器启动时一并运行。
●另外,开发环境文件包还提供有开发所必须的Java Development Kit (JDK 1.6版本。
开发静态页面具备简单HTML语言基础的开发人员,在熟悉了移动应用静态页面开发框架(ECL4M提供的元素、组件和布局之后,就可以像拼图一般简单快速地开发页面。
以下是包含框架模板沉淀积累在内的完整演进图:●普通开发人员根据业务需求,使用模板拼装初步的静态页面。
这可能是一个反复的过程,根据需求开发页面,用页面反过来印证需求,需求和页面相互作用,最终达到需求和实现的完美统一,●如果存在现有模板无法满足的需求,那么就由框架研发人员修改/补充HTML 模板和CSS样式文件。
在项目中,以业务功能开发、保证工程实施进度为第一要务,框架内容的修改第一时间应用于当前的页面实现之中。
待到主体工作完成之后,再抽象成为正式的可复用模板。
倘若实际情况许可,建议完成从卓越到完美的最后工序——即在最终的静态页面中,将修补的内容替换成为标准的模板复用。
大大改善系统稳定性的同时,还能提高代码的标准化程度,为接下来的维护及将来的升级改造提供极大的便利。
编写页面动态脚本具备一定的Javascript脚本语言基础的开发人员,在了解移动应用动态脚本核心类库(JCL4M提供的API之后,就可以驾轻就熟地开发那些原本技术门槛很高的功能特性。
封装现有业务逻辑代码为WEB服务凡是了解已有业务逻辑代码调用入口的开发人员,在熟悉WADE-MWJI的配置方法之后,就可以封装完成移动应用需要的WEB服务开发。
另外,WEB服务要想成为稳定性和性能都有保证的云服务,也只需要将系统部署到云计算资源平台(WADE-LC上即可,开发人员无需关心。
安装APP壳,测试产品开发人员无需了解APP壳,但测试人员需要在安装好APP壳的移动设备上,逐一验证开发的业务功能。
测试通过后方可发布移动应用产品的支持设备列表,并借助WADE-Mobile提供的产品发布工具制作最终的移动应用安装包。
接下来,就可以通告用户下载或者登录移动应用商店,获取产品开始体验使用。
功能列表WADE-Mobile的功能分为移动应用静态页面开发框架(ECL4M、移动应用动态脚本核心类库(JCL4M和APP壳三个部分,以及可能复用到的原有WADE基础平台产品部分模块,如接口封装(MWJI、云计算资源平台(LC和集成开发环境(STUDIO等。