首页 > 移动应用 > 正文

移动应用开发技术选型之心得

2014-05-20 17:28:22  来源:移动信息化

摘要:要是你问现在哪个行业最火?哪个名词最热?哪个专业最受社会关注?那肯定当选移动互联网。热透了的B2B、B2C、C2C、O2O、BYOD概念无时无刻不影响着移动互联网应用的发展。
关键词: 移动互联网 移动应用

    要是你问现在哪个行业最火?哪个名词最热?哪个专业最受社会关注?那肯定当选移动互联网。热透了的B2B、B2C、C2C、O2O、BYOD概念无时无刻不影响着移动互联网应用的发展。反之移动互联网应用也在加速地催化和改变各个行业的传统工作习惯、工作方式。改变着各行业各阶层人们的工作方式。可以说全民移动互联的时代已经到来。这给国内大大小小的通信软件厂商带来了无线遐想和发展的空间。


    各种公众性、专业性的APP应用如雨后春笋般涌现。厂商之间如战国般混战厮杀,谁能更快地将需求商机转化为与之对应的APP应用来满足客户的需求将会获得先入为主的优势。将会获得最大的一块“蛋糕”.这就对软件厂商提出了很高的要求,既要如“抓蛇七寸”之精准把握好需求,又要如“势如破竹”之速度推出应用占领市场。所以就对移动应用软件的技术选型提出了很高的要求。


    从我多年从事移动信息化应用的开发来看。现在市面移动APP应用主要分为:跨平台的中间件产品和原生态开发两种方式。但一个项目来了该如何选择哪种开发方式呢?让我们先粗略地了解下这两种开发方式的优劣。


    一、跨平台的中间件方式


    优势:现在市面上主流的智能终端系统主要有:Android、IOS、Windows Phone、BlackBerry.但各智能操作系统之间存在着巨大的差异,各系统开发的方式不同、开发语言不同、开发难度不同、开发要求不同并且对程序员的要求也不同。很难做到让一个程序员能够掌握如此众多的终端开发技术。从而“跨平台的中间件”开发方式营运而生。所谓的“跨平台”方式,从字面我们就能看出这种技术是可以跨越各终端平台之间的差异使得程序员开发一套特定语法规则的程序就可以在不同的智能终端上运行,这个“一次开发多平台支持”的优点不言而喻,节省大量开发的人力成本、缩短项目的开发周期,最主要的是降低了项目的成本预算。并且市面上主流的中间件产品,基本都是就是将各平台原生开发语言封装成类似HTML那样的简单语法或者直接使用HTML5+JAVASCRIP+CSS的模式,只要一个懂得静态页面语言的毕业生就可以胜任移动APP的开发工作,这对软件公司来说也节省了一大笔储备高素质、高薪水软件开发工程师的后顾之忧。值得创业型软件公司加入其中快速挣得第一桶金。对于客户来说也节省了大量的项目预算。


    劣势:所谓的跨平台主要是体现在了“一次开发多平台支持”.但也有其劣势。如:组成APP应用的界面控件都是统一规划出来的,灵活性、美观性不够好,无法最大限度地体现不同只能操作系统的特点。特定的代码只能实现预定的展现方式,无法做到极其炫丽的效果。所以对于政府、财经商行业、教科研、农工电等传统市政行业对于APP的界面美观度要求不高,而对其功能实用性要求高的应用非常适用。而对于公众性、资讯门户类、传媒等行业则适用性不大,主要这类应用对于APP的操作要求非常流畅、界面效果非常绚丽并要求有些个性化的设置等功能。这点中间件方式尤其先天的劣势。


    二、原生态开发方式


    优势:Android、IOS、Windows Phone等主流智能操作尤其特定的原生开发语言、配置环境和技术要求。所以原生态开发可以最大潜力地挖掘和修饰需求中最耀眼的那个“点”.可以将APP的效果做到极致。可以最大程度的满足客户对于界面美观、效果绚丽、操作特别的近乎苛刻的需求。并且可以最大程度地发挥特定智能操作系统的风格。


    劣势:原生态开发只能是针对某一种特定的操作系统进行开发,无法做到“跨平台”.一个程序员只能在一种平台上开发,无法做到同时并行。这样如果一个客户要求产品覆盖多个平台就要同时有多名程序员负责各自的APP应用开发。相对“中间件产品开发”就要多出N倍的工作量。这将直接导致项目工作总量的加大、项目交付周期的加长。最终直接导致项目报价成本急剧增加。对于客户来说预算大大增加。对于软件公司来说需要储备大量不同系统的原生开发人员,公司的成本也将大大提高。


    说完了两种开发方式的优劣我们来讨论下一个项目来了我们该如何进行技术的选型。


    首先项目前期的需求调研特别重要,能够快速地拿捏住客户的需求。从客户对于交付产品的预期效果、客户对于项目投入的预算等诸多因素综合考虑才能确定选择哪种开发方式。切不可一味地贪图“价格便宜”的优势来拿下客户。我们做项目、做产品要抱着对客户负责、对产品负责的原则。不可莽撞行事做过多承诺,导致最终项目预算包不住实际成本而出现“偷工减料”的现象,最大可能导致项目胎死腹中。以无法满足客户的验收条件而失败告终。APP应用界面体验效果要求非常高建议采用原生态开发方式。界面效果不重要只需要满足使用功能的要求则可以采用中间件的方式开发。对应的客户预算也会大大降低。


    举例如客户对于APP产品的界面要求非常高。如:各种滑动效果、各种手势、各种横竖屏切换效果、各种动画效果等我们建议采用原生态开发。但这随之带来的就是项目的成本高、报价肯定高。如果客户的预算有限,古人云“鱼和熊掌不可兼得”.那就要跟客户“晓之以理,动之以情”拿出“语不惊人死不休”的耐心架势,将客户说服。肯定是要客户有所侧重。采用原生开发就要追加预算,或降低APP应用的效果采用中间件开发。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。