移动开发也称为
手机开发,或叫做移动互联网开发,移动应用开发等。是指以手机、PDA、UMPC等便携终端为基础,进行相应的开发工作,由于这些随身设备基本都采用无线上网的方式,因此,业内也称作为无线开发。移动应用包括早期的WM掌上助理设备,Web os设备、java设备、塞班设备,以及现在现在火热的安卓和苹果设备等移动应用的开发。移动应用的形成对移动设备的功能有了长足的拓展。设备可以不单单只靠自带的简陋功能,而是可以像计算机一样通过安装应用程序、游戏程序等进行扩展,使移动设备成为更能帮助人们解决事物的个人
智能终端。
简介
移动应用开发是为小型、无线计算设备编写软件的流程和程序的集合,像智能手机或者平板电脑。移动应用开发类似于Web应用开发,起源于更为传统的软件开发。但关键的不同在于移动应用通常利用一个具体移动设备提供的独特性能编写软件。例如,利用iPhone的加速器编写游戏应用。
4G时代的到来,使得手机应用日渐热门,由于手机携带方便,并且是生活必带随身用品,而且信号覆盖广,操作便捷,使得人们对其给予了越来越高的期望。大家期待各种常见的或是重要的信息化系统、互联网应用可以被移植到手机上同步使用,使用户无论在何时何地,都可以连线精彩的网络世界,登录信息系统。为此,如何进行
手机开发,如何在手机上催生各种多姿多彩的精彩应用,日渐成为整个ICT产业关注的焦点。
手机应用
由于整个市场还处于发轫阶段,目前大众对于手机应用了解并不很多,但其实在这个市场早已是暗流涌动,春潮泛滥,各种各样有趣的应用层出不穷,新奇创意不断,大量原来PC和互联网上的信息化应用、互联网应用均已出现在手机平台上,一些前所未见的新奇应用也开始出现,并日渐增多。下文将介绍一些目前市场上较为流行的精彩应用。
开发难题
1、
手机操作系统很多: Android ,Windows phone 7, Windows phone 8, iOS,Symbian S60, UIQ, Windows Mobile, Linux, Brew、 Blackberry……,要想克服不同手机平台的差异,实现应用的统一覆盖异常困难;
2、
手机开发很难:开发人员稀缺,成本太高,进度太慢,无线网络太复杂,门槛障碍太多……;
3、软件或互联网公司如果为了实现移动应用,而把精力投入到并非自己所长的领域,无疑将会得不偿失。
4、行业需要专业的角色,来解决开发应用过程中的各种难题,将复杂难题封装简单,把各种异构封装透明,降低大家进入这个市场的门槛。
解决之道
目前,随着移动应用市场的不断扩大,移动开发的市场得到长足的发展。
无线中间件(也称“
移动中间件”)的出现,无疑提供了一个完美的解决方案:
1.
跨平台:中间件系统都号称跨平台,一次开发,可以适用于不同的平台。
2. 门槛高:用WEB开发技术(HTML+JS+CSS)开发移动应用,极大地降低了门槛,提高了效率。
3. 公司转型:软件和互联网公司利用中间件系统开发移动应用,完全是在发挥原有的长处,而无需投入任何资源学习新知识。
4. 专业的人做专业的事:无线中间件(移动中间件)的原理就是把原生的功能封装打包成简单的API,开发人员只需要了解调用这些API的方法,即可完成移动开发。
国内 - Rexsee EMS、MKey、xMobi
其中Rexsee应该是目前唯一支持HTML5的开源的、免费的移动中间件;Mkey的特点是
跨平台云与移动开发
移动设备社区似乎在热烈拥抱云这个事实是无可否认的,云计算领域的供应商,如Cloud Foundry 和VMware正在努力工作来满足不断增长的需求。移动开发者更有可能接受云,乍一看,这一问题的答案应该是“不”。对安全、可伸缩性、可用性以及性能这些东西的担心都不是移动环境所独有的。
时间短显然是一个推动因素。天生就是有特例,移动应用比同行业的兄弟们发布快,更新更快,以及更好的频率。这增加了移动开发团队的压力,给他们施加了巨大的压力,促使他们下载或
外包尽可能多的开发负载,而且越来越多,这意味着转身基于云的供应商可以帮助解决一切,让它托管前端和大
数据管理在后端。
时间短,预算低
伴随着开发团队的生产压力,存在着痛苦的悖论,许多这些移动开发团队需要在紧张的预算之内完成在他们所必须的完成工作。这意味在把精心制作的分段服务器放到一起来测试他们的应用程序负载下的工作,或在网络宽带和可用性下,结合波动性怎样测试性能的下降是,金钱对于移动团队并不是经常够用的。所以,作为一个聪明的项目经理,在面临紧张的预算时,如何在第一个大的版本发布之前,完成所有必须的关于应用程序完整性的调查,而且不能超出预算呢?他们选择了一个低成本的选择,这在今天这个时代意味着向低成本的
PaaS,
SaaS和
IaaS产品越进军。
但是当然,每一个企业开发团队都承受着压力。而且似乎每个IT预算都已经削减或合理化,来作为
组织处理本世纪的第一次大的衰退手段。所以为什么移动团队更可能倾向于云计算,而不是那些,他们正承受着很大的压力,来给他们的客户交付一个全功能的,基于Web的应用程序呢?最大的一个区别往往在于治理。
组织性的云治理
移动开发是新的,而且开发团队经常在交付组织的第一个移动应用程序时,是工作在与企业的其他开发团队公平交易的原则上,几乎像中情局的“黑衣人”部门的运营一样。随着IT组织努力降低关于企业应用程序如何以及何时使用云的治理规则,移动开发团队围绕着整个讨论,弄清楚了请求原谅比获得允许好。当开发团队悄悄的使用云计算来交付一个完成的产品,而且用户喜欢,财会部门没有犹豫时,企业组织没有适当的使用云的政策管理,这样不可避免地发现他们自己在其它名公司利用的名单上。
当然,在做同样的事情时,把热心的拥抱云的移动开发团队与不情愿的企业开发团队要比较时,也许这并不完全公平。毕竟,移动团队拥抱云的一个令人信服的理由是,事实上他们工作的项目正在从头开始,前期他们给定一个规定,说明哪些技术他们允许使用。相反,这对负责增强企业应用程序的在SOA功能,已经开发了五到十年的团队来说,是违背了他们的任务。当一个项目是新的的时候,与一个在项目期间相对稳定而且安全的环境来说相比,引进基于云的技术就容易的多了。
但如果忽略这个原因,那么毫无疑问,移动开发和基于云的技术是很完的组合,是天生的一对。考虑到移动开发团队要在短时间内产出一个应用程序,很多基于云的厂商提供的这种基于服务的混合方法,可以帮助降低所需的时间和金钱,来测试,托管和管理应用程序,我还将继续看到移动应用程序和移动开发者更加依赖于该托管于云中的服务,基础设施和平台。
移动开发工具
一个HTML5应用程序平台,可以让你编写本机应用程序与Web技术,并获得API和应用程序商店。
Sencha Touch
这是一个高性能的HTML5移动应用框架,用于iPhone,Android和黑莓。
jQueryMobile
jQuery Mobile 不仅给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架,是支持全球主流的移动平台。
iOS/Android
用于创建iOS和
Android应用程序,起源Object C和
JAVA。
Appcelerator
混合动力汽车和移动Web应用程序从一个单一的
代码库开发一个
软件开发工具包(SDK)。
Adobe AIR
建立一个框架,以苹果iOS,
谷歌Android,黑莓Tablet OS平台上运行的应用程序。
ComponentOne
在移动开发中,需要控件的支持,比如
表格控件,
label控件,
textbox控件等等. 可以创建两种类型的移动控件,即
移动用户控件和自定义移动控件。用户控件是使用 .ascx 文件创建的,且继承自 MobileUserControl。自定义移动控件是从System.Web.UI.MobileControls.MobileControl 继承的独立对象。通过创建 ASP. NET 移动用户控件和自定义移动控件. ComponentOne
第三方控件为移动开发提供各种UI控件,比如数据显示、文本编辑、布局控制、导航操作等.