小程序和H5真的有孰优孰劣吗?详解两者的适用场景

举报
小西2333 发表于 2021/11/24 16:42:33 2021/11/24
【摘要】 小程序与H5(HTML5)均为前端开发语法之一,二者仅在技术上并不能直接做出诸如“小程序优于H5”或“H5优于小程序”的判断。二者在特定场景下、分别有各自更优秀的表现。因此,本文将尽量公允的就两种技术更适合的场景进行说明。

编辑

小程序与H5(HTML5)均为前端开发语法之一,二者仅在技术上并不能直接做出诸如“小程序优于H5”或“H5优于小程序”的判断。二者在特定场景下、分别有各自更优秀的表现。因此,本文将尽量公允的就两种技术更适合的场景进行说明。

二者在App场景下的适用性

H5很少作为App内唯一的技术栈,通常App均采用原生+HTML5的混合型技术,该类方案在生态化、连接方面有较大的局限性,原因如下:

  • 技术架构实现总体比较紧耦合,对于核心功能稳定、在核心功能之上提供相对独立、多元化的应用逻辑时,难以做到灵活轻量。虽然业界在这方面作了很多尝试,发展出各种框架(一定程度上是自我重新发明一种封闭的“类轻应用”),以HTML5为业务场景的应用逻辑载体,却依然未能达到实现业务场景的生命周期独立于App本身 – 即业务场景的独立开发、独立测试、独立发布、独立跟踪监控、在线管理。
  • 一般不具备“应用市场”机制,没有通过工具去管理独立生命周期的应用场景的能力,只能通过IT人员进行场景的发布,不能通过运营人员、业务人员基于业务需求和行政审批去“上架”。
  • 一般不具备开发者中心和开发者账户的概念,所以无法对IT以为的合作伙伴提供在线测试、发布的服务,也就无所谓生态化支持一说。
  • 基于HTML5封装的商业场景,不是最适合于转发分享、社交传播的技术方式。原因(1)实际上都是网页,通过浏览器可直接打开,在信息安全方面需要做更多更复杂的技术保护,缺乏安全沙盒的管控;(2)分享转发到微信等社交平台,如果希望打开的是该些平台原生的小程序技术所实现的对应页面,则同一个业务场景需要实现两个版本。
  • 较难达到业务平台所需要的要求,即业务部门可以在最大程度降低传统IT运维介入、省去App发版的情况下,自行对App中内容进行运营管理,例如上下架一些内容、升级一些模块、引入一些合作商家等等。

小程序是一个更优的、极度松散耦合的解决方案,正如微信已经充分证明,它能支持百万数量的开发者,超过四百万个的小程序,其根本在于微信App本身与这些小程序之间的耦合是非常低的,每一个小程序由独立的团队、独立的企业开发运营,提交腾讯进行审核上架,每天小程序的诞生与消亡都是海量的,但并不影响微信App自身的稳定性;而微信App本身在苹果应用市场、安卓应用市场的升级,也不干扰任何小程序个体。只有采用这样的技术,才有可能发展生态、建立与外部的连接。

二者在业务应用上的适用性

经过在多家机构的讨论、验证,我们建议参考下表判断业务应用所适用的技术手段:


编辑

除此之外,我再拿实际工作中证券公司开户业务为例,进一步分解小程序开户与H5开户应用的优缺点:


编辑

综上,H5在跨平台和分享行为上有着显著优势,但当业务内容较为复杂、涉及较长的业务逻辑与跳转时,小程序将是更优秀的选择。

混合开发模式:「Native+小程序」

当前大部分app 都会选择混合开发的模式,「Native+H5」是最常见的。而「native+小程序」的架构模式更多的是一些超级APP在使用,比如微信、美团、百度、抖音等,而对于中小公司来说还不够普及!主要原因在于:想在自己的 App 中打造与微信小程序类似的生态,小程序容器技术是无法绕过的门槛,而普通公司显然是没有这个研发成本和人力资源去投入小程序运行沙箱与 SDK 的研发。

在这里要为大家介绍一款小程序开放平台——FinClip,该平台可以为所有企业提供小程序容器技术。只需要几行代码就够将小程序运行环境集成到 App,从而让App具备小程序运行的能力。

 FinClip 是啥?官方介绍 FinClip是与“微信小程序”、“百度小应用”等其他小程序开放平台具有类似属性的技术平台。从技术的角度来说,FinClip的核心是提供一个小程序容器技术。它由能渲染与执行小程序的客户端引擎、统一管理小程序上下架的中心、支撑小程序服务器端运行的云端设施、以及合规监管工具共同组成。

FinClip能干啥?

1、让App拥有运行小程序的能力

谈起小程序开发,大部分开发想到的都是,如何把小程序上架到微信、百度、支付宝这些大的流量平台,但关注小程序平台核心技术的却寥寥无几。

如果你想在自己的 App 中打造与微信小程序类似的生态,必须具备小程序运行沙箱与 相关的SDK 。

而 FinClip 小程序开放平台,可以为所有企业提供小程序容器技术。只需要几行代码就够将小程序运行环境集成到 App,从而让App具备小程序运行的能力。

2、模块化开发,真正实现敏捷迭代

借助小程序容器,可以把App中的业务模块都拆成单独的小程序,各个业务模块之间互相不影响,均可独立更新与发布。即使某个小程序出了问题也不会影响到宿主App和其他的小程序。有效规避“APP发版周期长”“无法再现快速修BUG等弊端”,能够极大的优化我们的工作效率。

以上两点个人觉得算是FinClip的核心能力了,当然仅仅是这些能力还不足以称之为一个强大的技术平台,它的强大之处还体现在其多系框架、多系统支持与开发管理上:

1、FinClip 小程序 SDK 不仅支持纯 wxml 微信小程序运行,还支持包括 uniapp、 Taro、kbone 等第三方框架集成的小程序;

2、FinClip 同时提供 Android、iOS、Flutter、ReactNative、Windows 等多种环境下的小程序 SDK;

3、拥有完善的管理平台,可以协助开发者更好的对小程开发、测试、上下架、App 集成与联调等流程进行管理;

对于前端开发来说,多系统、多框架的支持不仅为公司节约了成本,也提升了咱们开发者的“市场价值”。

关于FinClip的功能很多我就不一一写了,说得再多也不如上手一试。进入FinClip的官网(https://finclip.com/),注册平台账号和创建小程序,最后按照你们app类型,集成SDK就可以了,官方有很详细的文档指引我就不赘述了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200