当前位置: 首页 > Web前端 > HTML

都是让小程序运行在app里面,FinClip和uniapp有什么区别?

时间:2023-03-28 13:43:39 HTML

近两年,为了解决代码堆积、迭代慢的问题,很多公司都在尝试使用“原生+小程序”的架构模式。微信、百度、阿里等大公司的小程序容器技术,要么不对外开放,要么过于沉重,无法接管底层,不太适合。FinClip和uniapp是目前市场上比较成熟的可以实现app运行小程序的软件。FinClip和uni-app有什么区别?有什么优点和缺点?所以在这篇文章中,我们将深入探讨FinClip和uni-app的区别,各自的优缺点。uni-app是一个很棒的前端应用开发框架,但它并不能解决企业数字化转型和编写小程序所面临的所有问题。设计区分uni-app是一个前端框架,旨在解决跨端应用开发问题。简单的说,uni-app是一个为解决跨终端开发问题而设计的前端开发框架。一套代码可以发布到iOS、Android、H5平台。配合uni-app官方提供的IDE工具HBuilderX,您还可以直接在第三方小程序开发工具(如微信开发者工具、百度开发者工具等)中使用HTTP服务,编写代码IDE可以由第三方开发。在作者工具中编译预览,打包成相应的小程序资源。uniMPSDK是一个运行小程序的前端框架。如果想在已有的APP中集成小程序的能力,也可以使用uni-app推出的appletSDK(官方名称为uniMPSDK,只能用于app开发的基于uni-的原生应用)。在iOS或Android应用中集成相应的uniMPSDK,也可以达到维护一套小程序代码,运行在两个客户端的效果。此外,uni-app还为开发者提供了丰富的生态资源。比如DCloud官方就提供了插件市场的功能。开发者可以根据自己的业务选择,在自己的应用或小程序中集成插件,或者成为插件。开发者,上传分享自研插件资源。经过多年的发展,uni-app已经具备了高度的成熟度和开发社区资源。很多开发者可以从学习Vue.js前端语法入手,借助uni-app可以快速编写跨端移动应用。借助新推出的uniMPSDK,开发者也可以在自主开发的移动应用中运行小程序。但是uni-app还是没办法解决原生开发中的一些问题:对性能的优化有限,适用于一些简单场景的应用或者小程序。如果要实现复杂场景和业务的应用,还是要依赖原生;维护和迁移成本高,比如uni-app只能使用官方的云打包、部署、统计和广告联盟服务,使用第三方服务有比较大的限制(我也能理解,毕竟有使用uni-app无需付费);而如果把话题转到uniMPSDK(uni-app提供的小程序SDK)上,也有一些体验不好的问题:必须使用uni-app框架开发小程序。是的,不支持运行纯wxml的微信小程序;小程序依然采用Webview渲染或原生渲染(ReactNative/weex)的技术架构,性能有限;集成uniMPSDK后,App包大小可能会增加7-16Mb左右;目前仅支持在iOS或Android应用中集成SDK,无法适配其他平台;除了官方社区,在很多地方也能发现来自用户的不同声音。比如在知乎的问答《2021,uniapp发展如何?》中,充斥着各种关于uni-app的声音。FinClip是一个轻应用平台与uni-app不同,FinClip的定位不是跨端应用开发框架,而是一个轻应用(小程序属于轻应用的一个子类)技术平台,它由这些部分组成of:一个可以运行小程序的安全沙箱(即FinClipSDK),通过嵌入式SDK的形式集成了移动端软件、PC端软件、物联网设备端软件;应用商店(FinClip管理后台)提供应用发现(展示、搜索和推荐)机制,下架和灰度发布的管理后台;一系列开发和监控工具(如使用FinClipIDE完成代码编写,使用FinClipApp完成小程序Preview);产品说明书在这里,你可以自己看。通过安全沙箱、应用商店和开发工具的结合,开发者可以方便地使用这一系列工具完成小程序的设计和开发(直至后续管理)。在实际工作中,我们经常遇到的一个问题是“虽然市面上有很多小程序平台(如微信小程序、字节小程序、百度智能小程序、支付宝小程序等),由于微信的top流量状态,很多时候我们会先在微信平台开发小程序,再根据实际业务场景选择将小程序迁移回自己的应用。”在这个过程中,业务方(或甲方)很难在项目之初就决定是否将小程序一次性上传到多个小程序平台。由于“微信”作为国民应用在市场上的作用短期内无法被其他应用所取代,因此大多数企业在权衡利弊后都会做出这样的选择,即“先把微信小程序放在上架,然后将微信小程序投放市场。”程序,迁移到自己的手机应用”,在这个过程中,还可能涉及通过小程序对现有应用中的H5业务进行改造。因此,我们关注的内容会发生如下变化:开发微信小程序→将微信小程序迁移到自己的应用→部分应用小程序微信暂时无法使用,但也需要有统一的语法和框架.迁移成本不要太高随着对FinClip理解的逐渐深入,你会逐渐感觉到FinClip和uniMPSDK的设计思路不太一样(uniapp作为前端开发框架,不做对比):FinClip更注重小程序的全生命周期。我们也把所有的产研精力都放在了“让我们App里的小程序像微信里的小程序一样流畅”这个问题上。因此无论是iOS应用、Android应用、Flutter应用、RN应用,甚至是Windows应用,都可以集成FinClipSDK,无论是微信小程序还是基于第三方框架设计的小程序,都可以在其中运行。并且通过管理后台,我们还可以管理小程序的描述信息(如头像、标题)、关联应用(关联手机应用)和版本,解决小程序的热更新,满足运营需求小程序。即使开发者不在应用商店更新应用,我们仍然可以更新小程序资源。只要用户安装并打开APP,我们就可以根据规则库的配置实现“千面”小程序的功能。2.实际使用上面提到,由于uniMPSDK只支持基于uni-app框架生成的小程序代码,下面我们尝试通过HBuilderX生成一个第三方小程序DEMO,看看区别。接下来我们尝试运行一个原生的微信小程序,看看能不能在FIDE或者uni-app中运行。uniMPSDK官方文档中介绍:uni小程序SDK只支持使用uni-app开发的小程序,不支持运行纯wxml的微信小程序。不过uni-app支持使用wxml格式的小程序组件;目前uni小程序SDK仅支持在原生应用中集成,不支持在HBuilderX打包生成的应用中集成。这也就意味着:如果你想将已有的微信小程序迁移到自己的App中,除非小程序最初是基于uni-app设计的,否则不能使用HBuilder(uni-app);如果你想在现有应用中集成小程序,只能在原生应用(iOS或Android)中集成,HBuilderX打包的多端应用无法集成相应的小程序。另外,对比管理后台,我们会发现,在uni-app中,除了为开发者提供应用管理(包括统计分析)外,更多的是围绕“广告联盟、外挂市场、云打包增值”提供服务服务、短信验证码等,具有“一键登录”功能的增值服务,有限关注小程序本身,在FinClip的管理后台,提供完整的小程序生命流程管理服务围绕小程序、应用、开发和数据统计等功能,无论是小程序相关的版本审核和下架,灰度发布的规则制定和实施,还是安全相关的域名和证书管理,都提供相应的服务围绕小程序和应用本身的服务,为什么小程序的下架和下架可以解决应用热更新的问题呢?届时,用户在App中点击小程序后,会通过网络服务请求小程序相关的资源,如果某个小程序背后的业务出现故障不可用,则必须在App发布更新后修复这个问题。现在,您可以直接将小程序从FinClip管理后台移除,无需对应用做任何改动。当用户点击应用内的小程序时,会直接提示应用已下架,避免业务故障直接出现在用户端。总结从那时起,我们就初步比较了两款产品的不同之处。虽然在刚开始了解产品的时候,可能会因为产品描述和宣传的不同而混淆异同,但读者朋友们应该会觉得这两款产品有着本质的区别。uni-app主要用于解决跨端应用开发问题。通过使用Vue.js开发所有前端应用的框架,开发者可以编写一套代码发布到多个App和小程序平台。但是,不能保证流畅的应用体验和性能加载问题;uniMPSDK作为小程序前端框架,只支持使用uni-app开发框架开发的小程序,不能将已有的微信小程序移植到自己的应用中,也不支持在通过uni-app导出的应用中嵌入小程序;FinClip是一套小程序生态,通过集成FinClipSDK并在后台运行,开发者可以方便的提供相关能力在自己的APP中打开小程序。用户通过uni-app导出的小程序也可以在FinClip中编译运行。待续。.