在编写小程序或企业数字化改造时,可以通过轻应用平台和前端开发框架实现同样的功能。但是有什么区别呢?各自的优点和缺点是什么?下面以FinClip和uni-app为例来讨论一下这个问题。uni-app是一个为解决跨端应用开发问题而设计的前端框架。简单的说,uni-app是一个为解决跨端开发问题而设计的前端开发框架。开发者通过uni-app编写的一组代码,可以发布到iOS、Android、H5平台。配合uni-app官方提供的IDE工具HBuilderX,您还可以直接在第三方小程序开发工具(如微信开发者工具、百度开发者工具等)中使用HTTP服务,编写代码IDE可以由第三方开发。在作者工具中编译预览,打包成相应的小程序资源。此外,uni-app还为开发者提供了丰富的生态资源。比如DCloud官方就提供了插件市场的功能。开发者可以根据自己的业务选择,在自己的应用或小程序中集成插件,或者成为插件。开发者,上传分享自研插件资源。但是uni-app还是没办法解决原生开发中的一些问题:对性能的优化有限,适用于一些简单场景的应用或者小程序。如果要实现复杂场景和业务的应用,还是要依赖原生;维护和迁移成本高,比如uni-app只能使用官方的云打包、部署、统计和广告联盟服务,使用第三方服务有比较大的限制(我也能理解,毕竟有使用uni-app无需付费);而如果把话题转到uniMPSDK(uni-app提供的小程序SDK)上,也有一些体验不好的问题:必须使用uni-app框架开发小程序。是的,不支持运行纯wxml的微信小程序;小程序依然采用Webview渲染或原生渲染(ReactNative/weex)的技术架构,性能有限;集成uniMPSDK后,App包大小可能会增加7-16Mb左右;目前仅支持在iOS或Android应用中集成SDK,无法适配其他平台。FinClip是一个轻应用平台,是企业数字化转型的连接器。与uni-app不同,FinClip的定位不是跨端应用开发框架,而是轻应用(小程序是轻应用的一个子类)技术平台,由以下部分组成:安全沙箱(即,FinClipSDK)可以运行小程序,通过嵌入式SDK的形式,在移动端软件、PC端软件和物联网设备软件中包含一个应用商店(FinClip管理后台)提供应用发现(展示、搜索和推荐)机制,下架、灰度发布管理后台;一系列开发和监控工具(如使用FinClipIDE完成代码编写,使用FinClipApp完成小程序预览)。由于FinClip更注重小程序的全生命周期,无论是iOS应用、Android应用、Flutter应用、RN应用,甚至是Windows应用,都可以集成FinClipSDK运行在其中.或者基于第三方框架设计的小程序。并且通过管理后台,我们还可以管理小程序的描述信息(如头像、标题)、关联应用(关联手机应用)和版本,解决小程序的热更新,满足运营需求小程序。即使开发者不在应用商店更新应用,我们仍然可以更新小程序资源。只要用户安装并打开APP,我们就可以根据规则库的配置实现“千面”小程序的功能。总结从那时起,我们就初步比较了两款产品的不同之处。虽然在刚开始了解产品的时候,可能会因为产品描述和宣传的不同而混淆异同,但读者朋友们应该会觉得这两款产品有着本质的区别。uni-app主要用于解决跨端应用开发问题。通过使用Vue.js开发所有前端应用的框架,开发者可以编写一套代码发布到多个App和小程序平台。但是,不能保证流畅的应用体验和性能加载问题;uniMPSDK作为小程序前端框架,只支持使用uni-app开发框架开发的小程序,不能将已有的微信小程序移植到自己的应用中,也不支持在通过uni-app导出的应用中嵌入小程序;FinClip是一套小程序生态,通过集成FinClipSDK并在后台运行,开发者可以方便的提供相关能力在自己的APP中打开小程序。用户通过uni-app导出的小程序也可以在FinClip中编译运行。根本区别是什么?在上一篇文章中,我们对uni-app和FinClip进行了初步的对比。uni-app是一个前端应用开发框架,而FinClip是一个轻应用平台。作为一个前端开发框架,主要目标是通过封装不同的功能,尽可能的降低开发者的开发成本,并提供一套解决方案。从这个角度来说,uni-app确实解决了前端应用跨端研发所面临的问题。在一些展示或小场景定制项目中,确实可以大大降低前端研发成本,提高人力效率。当然,市面上也有尝试解决同样问题的产品,比如从底层考虑跨终端应用的Flutter,专注于多端小程序统一上市的Taro,还有Antmove,其中侧重于小程序格式的相互转换等等,等等。比较有得天独厚的优势。与上述产品不同的是,在FinClip产品架构设计之初,我们并没有打算将产品定义为跨终端(技术栈)应用的解决方案。我们从来没有局限于一个开发框架。为了讨论清楚这个话题,先说一个有点抽象但很重要的部分:FinClip由哪些部分组成?1.设备端FinClip的设备端主要由嵌入式运行SDK和主机端两部分组成。对于FinClipSDK,需要处理三个主要任务。首先是保证小程序代码可以在App中被解释和渲染,成为用户可读可见的前端页面。二是确保相关业务请求安全。要在可控环境下使用,还需要验证网络请求端口和用户绑定的SSL证书,并通过SDK加载相关小程序插件。宿主端主要是指集成FinClipSDK的宿主应用。无论我们是想在手机应用程序中运行小程序,还是在电脑应用程序中运行小程序,或者是具备系统级运行小程序的能力,我们都需要集成SDK后才能具备运行小程序的能力。目前FinClip已经支持在iOS、Android、Windows、国产操作系统(如同心UOS)、IoT设备(如车载系统)中运行小程序。macOS、Linux、IoT系统的支持适配工作也在进行中。有条不紊地进行着。2、云端FinClip的云端主要由应用商店和开发者中心(目前为小程序开放平台)组成。我们不仅专注于让App具备运行小程序的能力,还提供了一个开发者中心,开发者可以在应用商店中修改小程序的基本细节(如小程序名称、小程序分类、关键字和描述信息),方便用户在设备端搜索小程序。开发者还可以将小程序从云端移除或下架,将小程序设置为试用版进行测试和预览,并根据用户属性和身份信息设置不同的灰度发布计划,让终端用户可以方便地在不同的网络上共享信息.在环境场景中可以看到“千人千面”小程序信息。另外,对于企业内多系统的大型企业客户,也可以在云端的管理后台设置用户和角色,根据不同的业务线,为登录后台的用户设置相应的角色权限或不同身份,或完善企业内部各信息系统间按照统一登录协议进行内部单点登录流程调试。为了更好的根据企业内部的数字化需求提供所需的能力。3、开发工具除了设备端和云端,我们还有丰富的开发工具和生态供开发者使用。例如,用于完成小程序代码编辑调试的IDE工具,用于完成移动端真机效果预览的移动开发助手FinClipApp,用于获取更多小程序资源的小程序应用市场或相关插件等。此外,针对个人开发者用户,可免费部署FinClip社区版产品,包括小程序SDK和管理后台。管理后台对可以创建的小程序和关联应用程序的数量只有很小的限制。大多数功能对开发人员用户都是免费的。以上资源均可在FinClip官网资源下载中心获取,也可在小程序生态中获取。总结uni-app是一个解决跨端应用开发问题的前端框架。如果前端开发者习惯使用Vue.js完成各种前端项目,那么基于uni-app可以轻松生成跨客户端、跨平台的小程序应用。小微项目定制解决方案商也可以通过uni-app快速满足客户需求,并在此过程中降低自身研发成本,提高研发效率。FinClip更注重小程序本身。它不仅提供了跨客户端、跨系统的小程序运行沙箱,方便客户在自己的应用中运行已有的小程序,还拥有完备的开发者中心,帮助开发者管理和控制小程序的全生命周期。除了运行小程序的能力,FinClip还具备管理小程序全生命周期的能力。它还提供相关工具和资源,用于与企业内部现有信息系统的关联,实现自动化和定制化支持。它可以帮助企业更可靠、更可信地完成数字化转型的过程。
