`
neolcs
  • 浏览: 750 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Hybrid方式在移动开发上的回归

阅读更多
从去年后半年开始,移动开发似乎到一个瓶颈期,纯Native开发模式开始被质疑和审视,基于React的新的一体化开发方式开始出现,开始吸引大家的眼球。由于纯Native开发需要维护iOS和Android两个项目,管理两份代码,而之间代码共享很差,因此开发和维护的成本太高,不过React方式也需要两份代码,而且目前还有很多地方需要完善(比如ListView)。或许现在是时候重新考虑尝试Hybrid方式回归到移动开发了,相比于Native和React的方式,Hybrid很大程度的满足我们的期望:
  • 能够跨平台,最大程度上实现代码互通
  • 有比较好的运行效率,不能有让人讨厌的延迟和卡顿
  • 开发调试方便,对程序员友好
  • 有比较丰富的第三方类库
  • 可以根据具体移动平台(iOS or Android)进行定制

Native的程序员往往对Hybrid方式嗤之以鼻,认为这不过是JS程序员在移动上的玩具,或者只是做一个容易配置的活动页面。不过现在已和往日不同,由于手机性能大幅提升和SPA框架的完善,H5页面已经基本可以作为一个功能完备的方式来应付移动开发的方方面面了。
两个月前,我们开始了一个新的项目,便是采用了基于Cordova的Hybrid方式。项目的架构如下:

这里我们需要准备三个工程,两个Native工程和一个H5的工程。具体哪些功能放在Native工程哪些放在H5里,可以根据实际情况进行调整,一般来讲,Native工程设置的icon,闪屏页,启动逻辑,更新逻辑,以及一些其他有必要放在Native去实现的需求。H5工程用来实现主要功能,开发过程中独立开发调试,发布的时候生成www文件夹到工程目录里。
Cordova可以提供Native和H5的程序互调。目前Cordova社区有很多Camera,Location等plugin可以使用,而且平台开放,可以自行开发需要的plugin。
Web页面的呈现需要加载各种js, css资源,生成dom和显示,新开一个页面会有比较长时间的卡顿和白屏,因此在移动平台上的Hybrid开发,应该使用SPA方式,避免多页面切换带来的问题。目前SPA已经有很多比较好的框架可以使用,如Ionic和vuejs,提供移动的ui模块和事件处理,js语言的背后又有underscore等util库的支持,有很多轮子可以使用。
根据gulp或者grunt对H5工程进行配置,开发过程中在浏览器中调试,使用Mock的方式调用Camera等Native模块,发布的时候添加webpack,生成www文件夹到Native的工程中。
一般来讲,Native的工程只需开发一次,后面改动很少,而H5工程的功能可以互通使用,只需要开发一份代码即可满足两个平台使用。

目前我们的项目已经使用这种方式完成了第一次尝试,除了程序略微不稳定外(主要与Ionic 2的框架不成熟有关),使用的感受和native差别不大。以目前的手机的性能,基本主流的App需求都可以满足,主要代码不仅可以互通,部分甚至还可以和前端共用。
  • 大小: 41.6 KB
分享到:
评论

相关推荐

    Hybrid App(混合模式移动应用)

    这种方式不仅降低了开发成本,提高了效率,还能在企业转向全Web App策略时,通过简单的调整快速将Hybrid App移植到移动浏览器,具有很高的代码重用性和移植性。 综上所述,无论从技术演进趋势还是经济效益考虑,...

    基于Hybrid的移动应用混合开发模式架构.pdf

    在当今移动应用开发领域,Hybrid开发模式因其独特的优点逐渐成为主流。这种模式结合了原生应用的高性能和Web应用的跨平台特性,使得开发者能够以更高效的方式构建适用于Android、iOS等多平台的应用。本文将深入探讨...

    Hybrid开发

    Hybrid开发是一种融合Web技术和Native技术的软件开发模式,旨在提高开发效率和应用性能。Hybrid模式在移动应用...在未来的开发实践中,随着技术的不断发展和优化,Hybrid模式将更加成熟,并在开发领域发挥更大的作用。

    移动HybridApp实战与架构与微信应用号开发教程

    Hybrid App作为一种结合了原生应用和Web应用优势的开发方式,越来越受到开发者和企业的青睐。本教程将深入探讨移动Hybrid App的实战与架构,同时也会涉及微信应用号(现称微信小程序)的开发。以下是关于这些主题的...

    混合(Hybrid)移动应用开发

    是国内Hybrid App混合模式开发的倡导者,AppCan应用引擎支持Hybrid App的开发和运行。并且着重解决了基于HTML5的移动应用"不流畅"和"体验差"的问题。使用AppCan应用引擎提供的Native交互能力,可以让HTML5开发的移动...

    hybrid混合开发

    混合应用在开发成本上通常低于原生应用,因为开发者可以使用网页技术,而不需要为不同的操作系统单独编写应用程序。同时,混合应用的维护和更新相对简单,用户可以享受到类似于原生应用的良好用户体验,同时具备跨...

    探讨如何应用Hybrid混合开发技术为校园开发移动图书馆APP.pdf

    这种方式使得开发者能够用一种语言编写代码,同时在iOS、Android等多个平台上运行,大大降低了开发成本。 在校园移动图书馆APP的开发中,混合技术的应用显得尤为关键。传统的图书馆服务受限于时间和地点,而移动...

    移动应用开发技术选型策略.pdf

    当前,移动应用的类型和开发模式多样化,企业在选择移动应用和开发技术时面临着很多的挑战。本文对移动应用的分类、开发模式、技术路线和开发团队等因素进行探讨,为企业移动应用开发技术选型提供策略参考。 移动...

    企业移动开发平台

    在技术实现上,NAZA企业移动开发平台采用了Hybrid模式,结合了Native和Web的优点。这种模式利用HTML5的跨平台特性,一次开发即可适配多种终端,同时保持原生应用的高性能和良好用户体验。它还支持调用各种硬件接口,...

    基于mui开发的hybrid移动OA客户端.zip

    在这个项目中,“基于mui开发的hybrid移动OA客户端”指的是使用mui框架构建的一款混合型移动办公应用程序。Hybrid应用结合了原生应用和Web应用的优点,它允许开发者用HTML、CSS和JavaScript编写大部分代码,同时通过...

    Hybrid App开发框架的实现及性能优化.pdf

    综上所述,该篇论文深入研究了Hybrid App开发的核心技术和性能优化策略,对于从事移动应用开发的工程师和研究人员具有很高的参考价值。它不仅提供了实现Hybrid App双向通信的基础,还给出了提高用户体验和降低资源...

    比较几款跨平台移动端开发app框架hybrid app_app开发主流框架

    比较几款跨平台移动端开发app框架hybrid app flutter React WeeX不看好这个 kotlin也不看好 cordova phoneGap ionic hbuilder(uni-app) HERO

    muiAndroid移动开发期末项目

    【标题】:“muiAndroid移动开发期末项目” 这个项目的核心是基于mui框架进行的Android移动应用开发,主要用于期末答辩。Mui是一个轻量级的前端框架,它专为移动HTML5开发设计,提供了丰富的UI组件和便捷的API接口...

    Hybrid APP 与原生开发优缺点

    为了满足不同用户的需求以及更好地利用各种设备资源,开发者们不断探索新的开发方式。本文将围绕Hybrid APP、Native APP、Web APP这三种主流的开发模式进行比较,并详细阐述它们各自的优缺点。 #### 一、开发模式...

    如何合理设计HybridApp: 移动应用跨平台开发经验分享

    这是我5月18日在火龙果讲堂做的分享PPt,详细介绍了HybridApp的适用场景,局限性,技术发展情况,相关技术框架和工具。分享了使用HTML5,AngularJs,Ionic,PhoneGap框架开发跨平台移动应用的实际项目经验

    关于BlazorHybrid的一切研究. 用 c # 和 Razor 创建本机移动应用和桌面应用.zip

    Blazor Hybrid是一个新兴的技术框架,它允许开发者使用C#和Razor语法来构建原生的移动应用和桌面...无论是在企业环境中创建快应用,还是个人开发者探索新的开发领域,Blazor Hybrid都提供了一个值得尝试的解决方案。

    FastHybridKit一套js代码实现iOSAndroid双平台Hybrid开发

    Hybrid开发模式结合了原生应用的性能与Web应用的便利性,使得开发者可以通过熟悉且高效的JavaScript语言进行跨平台移动应用开发,大大提升了开发效率。 一、Hybrid开发模式解析 Hybrid开发模式是将Web技术(HTML5...

Global site tag (gtag.js) - Google Analytics