Hybrid App(混合模式移动应用)是指介于 web-app、native-app 这两者之间的 app,兼具 “Native App 良好用户交互体验的优势” 和 “Web App 跨平台开发的优势”。

所谓 Hybrid, 即混合开发,意味着半原生半 Web, 其实在 H5 兴盛之前,Hybrid 模式就已经比较成熟了,但是因为系统以及 html 本身功能的限制一直不温不火。

自从 H5 兴盛之后,大家发现原来很多功能都可以用 web 来实现,然后原生作为容器显示,所以为了提高开发效率,越来越多的人使用 Hybrid 模式进行开发,越来越多的 Hybrid 开发框架,越来越多的前端专职成为 Hybrid 开发,也就是说 Hybrid 也随之兴盛起来了。

混合 App 开发的优势

1、业务灵活性的需求 

在移动时代,用户对版本的概念变得越发敏感。而对 App 的版本管理也成了 CIO 头痛的问题。混合 APP 开发技术能够让用户在打开 APP 时就能获得全新的服务和功能,实现了业务的灵活性需求。

2、信息化安全的需求 

我们在接触互联网都会想到安全怎么保证?混合 APP 就可以实现动态权限绑定和授权模式,能够支持在特定的设备、特定的人之间选择不同的子应用,并且能够随着用户工作内容随时调整。所以能够满足企业对于安全性的需求。

3、开发速度的需求  

因为混合 APP 只需要编写一套代码,可以同步生成 Android 和 IOS 两个平台的 APP,甚至能够部分兼容微信公众号和小程序。这样节省的不仅仅是写代码的时间,更重要的是节省了多个技术团队之间跨知识结构协同的问题,同时也节省了 APP 与服务器端调试的时间成本。

重磅利好:小程序容器技术加入到混合 App 开发主流队列

「Native+H5」和「Native + 小程序」两种混合式 APP 开发模式相比之下,「Native + 小程序」的开发模式更优。

应用优势:

2020 年,受新冠肺炎疫情影响,公众养成了使用小程序的习惯。2019 年 12 月到 2020 年 6 月,短短半年间微信小程序 DAU 从 3.3 亿增长到 4.1 亿,MAU 从 6.2 亿增长到 7.3 亿,截至 2021 年 6 月微信小程序 DAU 为 4.1 亿,MAU 增长至 9 亿。

小程序不仅仅在一二线城市普及,如今在三四线、农村也已覆盖,未来这个数字还会进一步增长,小程序市场会更大。

传统电商平台流量见顶,红利消失,而微信拥有超 12 亿月活流量,小程序天然自带流量优势,加上丰富的应用场景可以帮助企业无时无刻地触达用户,并形成社交裂变闭环。

为此,小程序的引流成本也变得越来越低,加上高活跃用户,小程序已经成为企业线上经营的标配。

技术优势:

  • 是无需下载安装即可使用的类 APP 应用,用户用完即走,高效利用
  • 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
  • 包尺寸有效减少,节省流量和存储
  • 克服各平台的兼容性,一套代码可以在 iOS 与 Android 两个平台中运行,小程序能给用户带来更流畅的体验
  • 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
  • 能获取更多系统权限,完成更加丰富的产品设计;
  • 服务不再受发版所限制,支持热更新

回到分标题,为什么说小程序是混合 App 开发的重磅利好?试想一下,只需要编写一套小程序代码,便可以低成本同步生成 Android 和 IOS 两个平台的 APP,PLUS 无缝连接微信公众号和小程序,真正实现从移动端 “跨端运行”,升级到 “全端运行”。

以一个小程序容器技术(FinClip)为例讲实操

小程序容器技术,市面上也有好多,笔者调研了下,发现 FinClip 的功能比较齐全,比较好用,这里做一下简易实操示例。

1、业务背景

我司是个小业务团队,因为对我们这行业务的热爱,多年来在微信上积攒了快 10W 的用户群体。去年由于机缘巧合吃到了社交平台的一波红利,用户量大增,业务迅猛发展。

可好景不长,有利润的行业总会出现竞争,由于社交平台行业竞争越来越剧烈,增量用户出现大量下滑,业务拓展受阻。于是,我们决定开始经营存量用户,毕竟用户是我们这些小企业的命脉根本,是业务贡献源头。

2、认识 FinClip

知道 FinClip 算是一个机缘巧合吧,一直以来我们只有小程序研发工程师,如果要维护存量,那么多少都绕不开做 App 的。于是在网站上搜索了下「小程序转 app」之类的词碰碰运气,还真给我找到了。

3、实操体验

因为没有开发过 App,也是只能赶鸭子上架,按照他们的开发者文档和视频教程一步步的操作。
我参考的内容如下:
​​​7 步!用小程序快速生成 App!​​​​FinClip:What? 从小程序反向生成 App?​​​​七个步骤利用小程序快速生成 App_哔哩哔哩_bilibili​​还有一个示意图,也挺清晰的:

混合开发+小程序容器,提升效率的必备神器!_小程序组件

4、操作步骤

1)将已有的微信小程序,转换成 FinClip 小程序。

敲黑板:如果你的微信小程序是使用微信语法来写的,那么就不需要用到他们的 FIDE 来预先编译,如果你的小程序是用 Flutter、RN 等主流前端框架写的,最好是用 FIDE 编译一下,看看会不会有什么报错之类的。
另外,如果你的登录是用微信授权登录的,建议先操作第 2)关联微信授权登录,这样你就不需要禁用微信登录这个功能就可以运行了。

这里的步骤包括:创建小程序基本信息 >> 上传小程序代码包(我的是微信语法写的小程序,就没有用 FIDE 预览了)
操作了这两个步骤以后,没啥报错的情况下,FinClip 小程序代码包就已经生产完毕了。

混合开发+小程序容器,提升效率的必备神器!_微信小程序_02

2)关联小程序微信登录授权

FinClip 有个很好用的功能,就是可以复用微信登录授权,换句话说,在自有 App 或者用他们家的小程序转 App 功能,都可以通过这个功能,事先调通 App 中的微信登录,减少了许多基础开发及调试工作。

第一步:登录 FinClip 管理后台

混合开发+小程序容器,提升效率的必备神器!_小程序生态_03

第二步:在 “小程序管理中” 找到:我的小程序 >> 小程序详情 >> 第三方管理。

混合开发+小程序容器,提升效率的必备神器!_微信_04

第三步:将由 FinClip 设计的小程序授权页面增加至已有的小程序代码包之中并提交审核,授权页官方已经直接放到了 GitHub,可直接自取:https://github.com/finogeeks/wechat-auth-page

第四步:紧接第二步,在管理后台页面点击新增登录关联,根据提示填写 “微信小程序原始 ID”、“微信小程序昵称与头像授权页路径”、“小程序手机号授权页路径”。

到这里,基础小程序就已经运行起来了。大家看看 App 里面的小程序效果:

混合开发+小程序容器,提升效率的必备神器!_小程序生态_05


3)App 支付怎么办?

正如大家所看到的,我们企业的是一个电商应用,少不了支付的环节。在微信中,我们主要用微信支付,咨询了下 Native 开发的朋友,将微信支付 SDK 内嵌到生成的 App 中,调试一下就跑通流程了。

用户登录 -- 商品流量–支付下单全链路跑通(支付 SDK 内嵌和调试花了好些时间,毕竟我不懂 Native 开发),除去支付 SDK 的学习时间,大概 1 天内可以搞定,超级开心!

如果想了解更多 FinClip​ 小程序容器技术相关内容,他们官网有详细的介绍和说明。
开发者文档地址:​​​小程序开发帮助中心_小程序常见问题_小程序介绍 - FinClip​​​Github 地址:​​Finogeeks​