本文以两种典型的移动中间件类型作为支点进行分析其本质和来源,并以此作为延伸来描述更多中间件的定位和特点。
一、mastudio是什么?
mastudio是一个专业的企业级移动应用中间件,是一个综合全面的移动开发平台,提供了从客户端到服务器端完整的开发环境和数据接入能力。其在实现企业信息移动化上提供了便利的开发手段。
企业级移动信息化的一个重要特点就是原有的企业信息系统不希望受到影响,不希望在原有系统上进行二次开发来实现移动化。这就需要移动中间件能够具有单向接入的能力。mastudio平台在服务器端提供较强的接入能力,可以透过http协议访问各种企业级系统。
二、PhoneGap是什么?
PhoneGap是一个专业的移动应用开发框架,是一个全面的WEB APP开发的框架,提供了以WEB形式来访问终端设备的API的功能。这对于采用WEB APP进行开发者来说是个福音,这可以避免了原生开发的某些功能。
三、开发模式和技术要求
在开发模式上mastudio于PhoneGap有着截然不同的模式,下面以典型的hello world!为示范看两者各实现的过程。
PhoneGap的Hello world!
开发硬件需求:Mac 电脑+ iPhone手机+ Xcode 系统
开发者技术需求:熟悉xcode object c++ html js css
以下开发截图来自phoneGap官方网站,首先打开xcode 创建工程,然后添加index.html文件作为首页显示界面,最后编译启动模拟器执行。
mastudio的Hello world!
开发硬件需求:PC 电脑+ iPhone手机
开发者技术需求:html js css
以下开发截图来自mastudio开发平台,首先打开脚本编辑器,增加一个新文件helloWorld.mas,然后在其中调用wxWEBPAGE组件,组件中定义调用helloWorld.html文件,然后直接打开手机登陆访问。
从上面的过程可以看出PhoneGap是基于xcode的原生开发框架,需要开发者使用mac电脑熟悉object c++开发语言,而mastudio则是脚本开发框架,开发者使用普通PC电脑,熟悉一般性web基础知识即可。
四、优于PhoneGap的客户端优化
mastudio在客户端方面有优于PhoneGap的地方,其针对脚本使用方便性的特点进行了优化使用。这类优化的调用通过html js可以很方便的实现了多窗口交互以及弹出新窗口等功能。
多窗口交互
启动弹出窗口
五、弱于PhoneGap的客户端API
而PhoneGap的侧重是客户端的API调用,其提供了全面的终端上的开发能力,比如调用手机的通讯录、摄像、文件操作等。客户端API是PhoneGap的全部,这是优于mastudio的,而mastudio平台则提供了一般常用的API调用,如短信、拨打电话灯。
六、PhoneGap所不具有的
PhoneGap只是单纯的客户端,mastudio中间件包含了客户端和服务器部分,其提供的服务器具有强大的数据接入能力。
数据库访问能力
mastudio服务器提供了访问sql server、oracle等各种数据库的能力,客户端可以很轻松的通过服务器获取到数据。
http协议驱动能力
对于OA一类的WEB系统,需要登录身份验证后才能访问到页面内容,mastudio服务器提供了wxEXPLORE组件能够轻松访问各种web系统,驱动各种流程引擎、进行身份认证。
数据安全能力
PhoneGap提供了网络访问协议的API,但是无法提供数据安全性的处理,因为这是需要服务器协作进行的。mastudio服务器提供了客户端数据流的安全加密处理,而这个处理是不需要开发者介入就自动集成拥有的。
七、两种类型的总结
客户端类型
PhoneGap属于客户端类型移动中间件,其核心价值在于客户端的全面的API,提供了跨平台的开发便利性,但其近限于客户端应用。
平台类型
mastudio属于综合的移动中间件,其核心价值在于提供了业务数据的接入能力,并和客户端融合为一台,其客户端的API仅为业务数据展现而准备和封装。
八、移动中间件的延生
根据以上两种类型的移动中间件,市场还有众多的延生产品,以客户端类型为主导线的,如appCan、rexcee一类,他们的共同点在于针对PhoneGap的API模式进行的高一层封装,虽然还是提供了大量的API,但是让开发者方便的免去了原生开发环境的搭建。这是一个进步,但是由于进行了高一层封装,又导致了不可避免的调试问题,当封装层出现问题的时候,开发者无能为力。
以平台类型为主导的市场也有众多延生产品,笔者根据各自官方网站的资料分析,以平台类型的移动中间件多用于企业级行业用户,比如xmap、map、mkey一类,这类延生多是开发项目中的模块的简单提炼,并没有形成产品化的平台,虽然官方资料号称中间件产品,笔者认为这类产品还不够成熟,尚且达不到公开发版测试的程度。
总结:
作为移动应用,如果计划采用移动中间件,作为选型的标准,笔者认为应当根据自身的业务特点类型来选择。如游戏、社交、电商、等类型则建议采用PhoneGap一类型的API客户端中间件,而对于企业数据应用、OA、Erp一类型,则建议采用mastudio一类型的中间件,这可以获得成熟的网络和数据接口基础。