基于Mash5的跨平台移动互联技术研究与实践
2017-05-08谭振江杜俊一
谭振江++杜俊一
摘要:跨平台移动互联技术的发展,降低了移动应用软件的开发和维护成本。本文以“基于Mash5的动态发布和评价”为开发实例,具体介绍了Mash5跨平台技术及其基本原理,以及Mash5跨平台技术的可扩展研究。
关键词:跨平台; Mash5; JavaScript; 云数据库
中图分类号: TP393
文献标志码:A
文章编号:2095-2163(2016)06-0047-04
0引言
[JP+1]目前主流的手机系统有IOS、Android和Windows Phone,由其使用的开发语言分别有:Objective-C、C、C++、Java、C#、VB.NET,开发工具有:Xcode、Android SDK、Visual Studio、Windows Phone Dev Tools等。综上可知,系统之间的这些差别随即就导致了为一种手机系统编写的代码将很难在另一种系统上获得移植性使用,而为了提升用户群体数量,并形成应用的优势覆盖,就需要对同一个应用分别展开设计独立的研讨开发。这样一来,为多种操作系统开发和维护应用软件即已成为一项时间及经济成本均将显居高端的项目课题任务。不仅如此,同一个操作系统,还会有多种版本、屏幕尺寸也大小不同等系列问题,这就无疑将造成开发成本的又一次可观上涨,因而同样也成为时下移动应用软件开发者亟待面临现实攻关的重点技术困难。[JP]
另据调研可知,如今手机App井喷式爆发,但彼此隔离,没有做到互联互通,更难以达到万物互联的设计执行效率,若按照“一物一App”的现实运作模式,用户势将无法承受成千上万个App的选择侵扰\[1\],因此也迫切需要推出可跨平台并能承载多个App的应用容器。
针对上述问题,Mash5平台则提出了将开发过程彻底云化,从而使得在一个平台上开发的应用可以在Android和IOS两套系统上实现无障碍的运行,并且开发之后的应用就可即刻付诸部署与实施。
[BT4]1Mash5简介
[BT5]1.1平台简介
随着云计算技术的飞速发展,作为一个全新的云应用开发平台,PaaS(平台即服务)在云生态圈中的重要性也日趋凸显。PaaS的特征实现功能可做如下阐述:
1)PaaS打破了软件的使用者与开发者之间的壁垒,让不具备专业技术的人员也能开发适合自己的应用。
2)PaaS与企业的实际应用相结合,将促进企业的敏捷化发展。
3)PaaS覆盖了软件生命周期中的开发、部署、运营等所有环节,并且支持多租户和应用计费,因此PaaS提供的应用就是SaaS(软件即服务)形态的,PaaS与SaaS合二为一将成为PaaS的主流模式\[2\]。
一个完整的PaaS的架构具体包括有:应用的基础软件和中间件支撑(如数据库、Web服务、应用框架和消息服务)、应用的部署和运行环境、应用的多租户支持与管理、云上可编程的开发环境、共享应用资源库和开发社区支持。研究可得,其原理架构设计如图1所示。
Mash5开发平台,是一个可以使非专业编程人员只是通过协同云编程PaaS平台,即能便捷地构建得到符合用户需求的基本应用的一个标准化集成平台。Mash5平台定义了下一代新型App模式,App的原生应用功能是通过JavaScript代码来生成描述展示,而用浏览器在云平台上开发、部署、修改、管理App的原生应用功能,使移动应用整个生命周期管理实现了彻底云化。如此一来,只需安装一个或几个App,各类功能完全自动获取,即已解决了目前App数量激增且都需要安装才能使用所形成的发展现象瓶颈。另外,使用Mash5开发的App原生应用功能可以像网页那样控制操纵开发、部署、更新、使用、管理、维护等设计流程,大大缩短了开发部署周期,同时也降低了开发成本。
1.2平台基本技术原理
基于Mash5平台实现云编程,代码不需要编辑和生成安装程序即能在移动终端提供得到可视化显示。其使用Web Service技术、并选取rest接口方式来支持多项目间的数据交互,进而实现系统的云部署。该平台技术开发的功能原理可做如下呈现。
1)Web Service 技术。Web Service是一种服务导向结构的技术,可通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以设计实现互相操作。实际上,就是基于SOAP等协议的远程调用标准,通过Web Service可以将不同操作系统平台、不同语言、不同技术规划整合到一起。依据Web Service规范创建实施的应用之间,无论其所使用的语言、平台是什么,都可以处理展开相互数据交换。Web Service是自描述、自包含的可用网络模块,可以执行具体的业务功能。Web Service架構具有连网特性,即可使得Web Service的服务器端和客户端的应用程序都能通过网络进行连接;Web Service的另一个特点是使用SOAP标准作为数据通信格式的标准,且遵循的标准必须具备优良的开放性;此外,在Web Service的客户端和服务器端的系统是松耦合的,因而并不关注客户端和服务器端所使用的操作系统、对象模型或者编程语言。SOAP协议,即简单对象访问协议,是一种轻量、简单、基于XML交换数据的一种协议规范,主要设计理念就是在Web上交换结构化的和固化的信息。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合,定义了一个[CM(26]标准的方法来使用Internet上各种不同操作环境中的分布式[CM)]
[LL]对象。采用Web Service技术进行接口开发,便可以研究得到分布式的应用程序\[3\]。
2)开发语言选择。Mash5平台采用JavaScript作为程序开发语言。JavaScript是一种解释性脚本语言,代码不需要预编译,由浏览器解释执行。而且,还有极强的跨平台性,在绝大多数浏览器的配置兼容下,可以在多种平台下得到实现运行(如Windows、Linux、Mac、Android、IOS等)。
3)应用呈现。一般情况下,使用其他应用框架开发的手机应用需要打包成apk或者ipa送入移动应用商店供消费者下载,然后安装使用。而利用Mash5平台开发的手机应用却无需消费者下载安装,此时只需通过1at移动终端即可直接使用,1at移动终端则类似一个app容器,里面存放多个应用,用户根据自己的需求,点击使用某个应用即可,如此便突破了“一物一APP”的模式,极大地减少了手机存储空间的占用量。
[BT4]2基于Mash5的动态发布与评价
[BT5]2.1实例功能简介
基于Mash5的动态发布与评价主要用于发布动态,查看已发布的动态详情,以及对动态做出评价,可运行于Android系统和IOS系统。总地来说,发布动态时:
1)发布的动态主要由标题和内容组成,通过TextField文本框输入。
2)可以使用Mash5.Tenant.File.uploadFromCamera调用相机拍照或者使用Mash5.Tenant.File.uploadFromGallery读取本机相册为动态添加图片。
3)通过Mash5.Tenant.File.uploadFromRecorder可以为动态添加语音音频。
4)通过数据库的设置给动态定制类别等。
另外,查看某条已发布的动态时,可以对该动态进行再编辑和删除操作;同样当对某条动态具体评价后,亦可删除已有评价。
[BT5]2.2开发环境搭建
1)平台环境组成。Mash5平台主要由3部分组成,组成实现则如图2所示。
2.3应用开发关键技术
[HT5”SS][ST5”BZ]2.3.1界面设计
基于Mash5的动态发布与评价实例中,设计运行后得到的主要结果界面有:查看动态列表界面、添加动态界面以及动态详情和评价界面,限于篇幅,本文仅给出查看动态列表界面图,具体如图3所示。进一步地,当点击添加动态界面的分类时,可以为将要发布的动态添加类别,界面如图4所示。
2.3.2功能实现
该次研发中实现的功能较多,现仅是选取为动态添加图片构建实例,具体给出该功能的实现解析。图片属于多媒体数据类型,在Mash5平台的云数据库中,该类数据以“附件(Attachment)”的形式存在。其中,附件里可以记录多张照片或其他多媒体文件,附件字段本质上即是记录了一组多媒体文件在云存储中的id数组。Mash5.UI.createAttachmentView用于显示附件;Mash5.Tenant.File.uploadFromGallery用于访问手机图库并且上传图片;而通过Mash5.UI.createProgressDialog可以查看照片上传的进度。
2.3.3跨平台测试
以在Android手机上开展测试为例,由此可提取得到如下过程测试结果。点击动态列表页面右上角的“+”按钮,转入添加动态界面,编辑动态的标题、内容,点击“图库”按钮,从手机相册中选择一张合适的图片并上传,点击“分类”,为该条动态设定分类,如图5所示;点击添加动态页面右上角的“√”发布编辑好的动态,发布成功后自动跳转到动态列表页面,如图6所示。
3结束语
[JP3]本文重点围绕“基于Mash5的动态发布与评价”的开发实践,首先设置了符合需求的软、硬件背景开发环境;然后对实例的界面和功能展开了全面的建设研究,具体实现了动态发布、查看、以及评价等众多功能;最后在Android手机系统上提供了完整的仿真设计测试,测试结果表明真正实现了跨平台运行。通过对该次研究的例程开发,可切实体验出在Mash5平台上开发,以及在手机客户端即刻部署和运行的快捷与方便。Mash5平台技术对实现跨平台手机应用的开发具有一定的现实意义。[JP]
而且,Mash5平台通过云编译,将移动应用开发的整个生命周期彻底云化,实现了跨平台原生移动应用的快速、低成本开发,这涉及到多方面的理论、方法和技术。设计中,将App[CM(26]作为一个应用容器,用户可以根据自己的需求加载和使用相[CM)]
[LL]关的应用,但在如下这2个方面,则应成为进一步研究与开发的发展方向:
1)平台对代码的查错能力有待提高。Mash5平台以JavaScript作为程序开发语言,通过浏览器进行JavaScript代码编辑。目前,平台已可自动检测程序是否使用英文半角标点字符,但却还是无法检测关键字的拼写是否有误,因此查错能力有待提高;
2)[JP3]平台开发应用的自动更新能力仍有待完善。基于Mash5平台开发的跨平台移动应用,当在浏览器中执行了代码修改,而在手机客户端却仍需手动更新后,方可查看新的应用效果。如何做到自动更新,仍将需要后续有效深入的探索研究。[JP]
参考文献:
夏宏. 码实:应用开发彻底云化[J]. 创业邦,2014,8(10):84-85.
[2] [JP3]佚名. 码实科技于波:在PaaS云下的移动信息化时代悄然到来[EB/OL]. [2012-07-23].http://mobile.51cto.com/team-352488.htm.[JP]
[3] 罗明挽. 跨平台、跨移动终端的大型项目开发关键技术研究[J]. 通讯世界,2016,23(6):15-17.
[4] 孟凡宁,丛中昌,黄志兴,等. 移动互联网应用跨平台开发研究[J]. 移动通信,2013,41(13):60-63.
[5] 吴吉义,李文娟,黄剑平,等. 移动互联网研究综述[J]. 中国科学:信息科学,2015,45(1):45-69.
[6] 文军,张思峰,李涛柱. 移动互联网技术发展现状及趋势综述[J]. 通信技术,2014,47(9):977-984.
[7] 徐巍. 跨平台移动开发框架的比较分析与实例开发[D]. 长春:吉林大学,2014.
[8] 尹兆冰,王加阳. Web Service及其关键技术研究综述[J]. 软件导刊,2010,9(2):121-123.
[9] 羊小宝. 码实科技:把开发过程彻底云化的云编译平台[EB/OL]. [2014-09-03].http://www.cyzone.cn/a/20140903/262451.html.
[10]admin. 让人惊艳的九款跨平臺移动开发工具、技术与平台[EB/OL]. [2016-07-14].http://www.hiji.cn/Home/news/301.html.
[11]王子新. 移动互联网应用跨平台开发研究[J]. 数码世界,2016,15(3):42-43.