技术开发 频道

移动应用混合开发模式架构,看长虹如何演变?

  【IT168 专场报道】SACC2017第九届中国系统架构师大会于10月19日在北京新云南皇冠假日酒店隆盛大开幕,在大会第一天下午的移动技术专场中,来自四川长虹电器移动业务线产品总监首席架构师孔帅带来了主题为《基于Hybrid的移动应用混合开发模式架构演变》的演讲分享。

  跨平台移动开发框架需求的原因及思想

  演讲的开始,孔帅首先对跨平台移动开发框架需求的原因做出了解释。他表示,跨平台移动开发框架的核心问题是沟通与理解存在差异,面对同一份需求、同一份像素级精确的的UI高保真原型图,不同的程序员有不同的理解。而且,在实际项目的实施中,Android和iOS并行的原生开发始终存在不同程度的冗余开发。最终导致不同平台的视觉、文案、交互细节体验等不一致,维护成本也随之增高。

  而面对这种情况,孔帅将核心架构的思想归结为三点:序中有乱 VS 乱中有序;架构师不应只能停留在应用层,要从系统架构层思考沉淀;要让API有绝对的话语权。

  乱中有序的意思是观察、归纳、抽象,万变不离其宗,序本来就是存在的,等待发现总结。序中有乱表示作为一名架构师应该先架构再使用,序需要自己来创造;为了让API有绝对的话语权必须满足是三个条件:“我定义”、“接口我来给”、“对象我来new”。孔帅说,产业一定会红起来,做行业的架构师一定要看到,但需要时间去酝酿。任督二脉打不通,用户就会不喜欢。

  TopMobi+移动应用平台

  在介绍TopMobi+移动应用平台前,孔帅首先将Hybrid与传统研发模式进行了对比,发现Hybrid节省了70%以上的UI重复开发工作和40%及以上的研发人员投入,使得企业技术团队的开发效率大大提升。

  TopMobi+由“轻应用SDK”和“原生SDK”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。TopMobi+移动应用开发平台是由长虹软件与服务中心移动业务线结合“端云一体”思想构造的移动应用抽屉式模块服务提供商。Hybrid结合原生及Html5混合开发趋势技术潮流重新定义了移动应用开发。

  致力于简化移动应用开发技术,TopMobi+移动应用开发平台通过几行js代码就可以实现与原生风格一致的UI或者完成原生相关的富媒体交互功能。基于TopMobi+进行应用模块,开发者可以沿用之前的Object-C和Java开发习惯,但却可以极大的通过js简化大量的底层业务开发,包括图片选取、列表展现、获取联系人、头像裁剪上传等。可以说TopMobi+重新定义移动应用开发,帮开发者省心省力省事。

  Javascript如何与Native交互?

  据孔帅介绍,Javascript与Native的交互主要分为同步交互机制和异步交互机制。同步交互机制的核心主要分为两部分,第一是Javascript与Android Native交互是通过WebView类提供的addJavascriptInterface(Object object, String name)方法,将Java类中注释为@JavascriptInterface的方法提供给js调用;第二个是Javascript与IOS Native交互是让IOS拦截js 发出的url请求,然后解析url以获得需要调用的IOS方法名及参数,然后通过反射机制实现方法调用。

  异步交互机制的核心是在js异步调用native方法是通过native回调js的方法来传递结果的,但不同的方法其回调函数功能千差万别,难以统一,若js采用统一的回调方法名,就会导致并发访问出错的问题,最后,开发团队经过查阅相关技术资料、进行理论分析和编码实验,确定了如下图所示的异步机制:

  而在这种交互机制中,又分别介绍了JS调用Android和iOS的兼容机制:

  演讲的最后,孔帅还对开发实战应该具备的工具进行了推荐,例如混合开发IDE推荐、Chrome浏览器debug工具推荐等。他还提到,国外的教育是尝试,中国式教育是限制,而苹果打破了这个限制,自定义软件规则并创造顺序,架构的思想应该更推崇乔布斯思想,游戏规则的制定者才会成为最大受益者。


了解更多精彩内容,尽在SACC2017大会专场报道

0
相关文章