Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >技术新思路:FinClip助力小程序转App

技术新思路:FinClip助力小程序转App

原创
作者头像
二山山记
发布于 2022-11-09 07:30:18
发布于 2022-11-09 07:30:18
1.3K0
举报
文章被收录于专栏:finclip小程序idefinclip小程序ide

Flutter是谷歌的移动UI框架,可以快速在iOSAndroid上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。

它也是构建未来的Google Fuchsia应用的主要方式。

Flutter的框架结构及特性

Flutter的主要结构包括:

· Flutter engine · Foundation library · Design-specific widgets

框架特性

快速开发。Flutter的热重载帮助你快捷方便的试验、重构UI、添加特性和修复bug。在仿真器、模拟器和ios、android硬件上体验亚秒级的重载,而不会丢失状态。

绚丽UI。通过Flutter内建的漂亮的质感设计和Cupertino(ios-flavor)小工具、丰富的动画API,平滑的自然滚动和平台感知,让用户感到满意。

Flutter优点

Flutter的优点非常明显,如果你选择一个跨平台框架,与众多基于html的跨平台框架相比,Flutter绝对是体验最好,性能与构建思路几乎最接近原生开发的框架。

1、路由设计突出。Flutter的路由传值非常方便,push一个路由,会返回一个Future对象(也就是Promise对象),使用await或者.then就可以在目标路由pop,回到当前页面时收到返回值。

2、性能强大且流畅。Flutter基于dom树渲染原生组件,很难与直接在原生视图上绘图比肩性能,Google作为一个轮子大厂,直接在两个平台上重写了各自的UIKit,对接到平台底层,减少UI层的多层转换,UI性能可以比肩原生,这个优势在滑动和播放动画时尤为明显。

3、可选静态的语言(Dart)。Dart是一个静态语言,这也是相对于js的一个优势。Dart可以被编译成js,但是看起来更像java。静态语言可以避免错误,获得更多的编辑器提示词,极大的增加可维护性。很多js库也已经用ts重写了,Vue3.0的底层也将全部使用ts编写,静态语言的优势不言而喻。

4、优秀的动画设计。Flutter的动画非常简单,动画对象会根据屏幕刷新率每秒产生很多个(一般是60个)浮点数,只需要将一个组件属性通过部件(Tween)关联到动画对象上,Flutter会确保在每一帧渲染正确的组件,从而形成连贯的动画。 这种十分暴力的操作在Flutter上却看不到明显的卡顿,这也是Flutter的一个魔力所在。

Flutter缺点

1. UI细节离原生有一些差距

2. 开发体验不太好,跨端调试工具不完善,调试时间会更长

3. 安装包体积会比较大,开发人员需要做 Flutter 的产物瘦身与包体积瘦身

而且Flutter有个致命的缺点:不得不熟悉源生代码。

Flutter主要的坑就在于需要非常了解原生的环境。Flutter主要的优势在于动画流畅,很多开发者反应比原生安卓还流畅(存疑)

这就意味着Flutter是UI跨平台,最后还是在原生平台运行。

flutter+小程序组合新思路

Flutter具有与原生代码互相调用的能力固然合理。

但是前端框架和源生语法都要熟悉,那么学习Flutter看起来就会是一个很矛盾的点。

那么既然框架内无法调和,能不能试试组装式的技术思路呢?

找了下资料,相比于「H5+App」的 Hybird 方案,小程序 + App」的技术方案优势还是明显的

· 包尺寸有效减少,节省流量和存储 · 服务不再受发版所限制,支持热更新 · 能获取更多系统权限,完成更加丰富的产品设计; · 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象); · 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库); · 具备跨平台的能力,一套代码可以在 iOS 与 Android 两个平台中运行;

小程序的Flutter在各大技术平台都有很多干货,这里就不赘述了。

下面主要讲讲我发现的,用FinClip将小程序转App的实操。

小程序转App的整体示意图,还是挺清晰的:

按照他们的开发者文档和视频教程一步步的操作。

操作步骤

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

敲黑板:如果小程序是用Flutter等主流前端框架写的,官方建议最好是用FIDE编译一下,看看会不会有什么报错之类的。

另外,如果你的登录是用微信授权登录的,建议先操作第2)关联微信授权登录

这样你就不需要禁用微信登录这个功能就可以运行了。

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

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

FinClip有个很好用的功能,就是可以复用微信登录授权

换句话说,在自有App或者用他们家的小程序转App功能,都可以通过这个功能,事先调通App中的微信登录,减少了许多基础开发及调试工作。 第一步:登录 FinClip 管理后台

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

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

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

写在最后

作为当前最流行移动端操作系统android提供商google主推的flutter,厂商加成,技术路线又被证明过,被看好,是很理所应当的。

一般企业开发的时候可以需要有选择的、对部分页面进行flutter的渲染,部分功能运行在小程序上。

相信flutter+小程序组装式的技术思路早晚会成为更主流的前端框架。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用Flutter开发了一个可运行小程序的App
Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。国内很多开发者都将Flutter、Taro、React Native、Weex等列为目前市面上主流的前端框架。
Onegun
2022/07/19
2.5K0
利用Flutter开发了一个可运行小程序的App
小程序容器技术加入到混合App开发队伍
混合开发(Hybrid App开发):是指在开发一款App产品的时候,为了提高效率、节省成本而利用原生与H5的开发技术的混合应用。通俗点来说,这就是网页的模式,通常由“HTML5云网站+APP应用客户端”两部份构成。混合开发是一种取长补短的开发模式,原生代码部分利用Web View插件或者其它框架为H5提供容器,程序主要的业务实现、界面展示都是利用与H5相关的Web技术进行实现的。混合应用开发正是结合原生和HTML5开发的技术,取长补短的一种开发模式,原生代码部分利用WebView插件或者其它的框架为HTML5提供了一个容器,程序主要的业务实现、界面展示是利用H5相关的Web技术进行实现的。比如现在的京东、淘宝、今日头条等都是利用的混合开发模式
pak
2022/09/06
4360
小程序容器技术让混合App的开发效率大幅提升
Hybrid App(混合模式移动应用)是指介于Web-App、Native-App这两者之间的App,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。
pak
2022/07/13
6090
「Native+小程序」的开发模式优势在哪?
Hybrid App(混合模式移动应用)是指介于Web-App、Native-App这两者之间的App,同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用”。
二山山记
2022/11/09
6910
「Native+小程序」的开发模式优势在哪?
App跨平台开发框架分析
随着移动互联网的快速发展,微信小程序、Web、App、 车载等各种形态的“端”悄然盛行。
二山山记
2022/11/09
3.2K0
App跨平台开发框架分析
原来微信小程序已经可以在自己的APP上架运行了
推荐一波移动开发领域热门的前端容器技术,绝对可以提高你的生产力,剩下来的时间来 mo鱼,岂不美哉 大家是不是潜意识一直觉得,只有那些超级APP才具备运行小程序的能力,而且日常生活中使用小程序场景最多的无非就是微信、支付宝、头条、百度这几个 APP,那你们有没有想过「自己的APP也可以具备小程序的运行能力」呢? 虽然互联网大厂并未将这部分小程序运行能力开放出来,但是我们也不必望而生羡,因为小程序技术不再是 BAT 的专属,市面上早就推出了类似技术能力,我们一般称之为小程序容器技术。 今天要给大家推荐的也正是
程序猿DD
2022/05/30
1.7K0
原来微信小程序已经可以在自己的APP上架运行了
让小程序在 APP 运行的高性价比选择 ——FinClip
因此,如果我们在 APP 上运行小程序,那就是 Native+小程序 的架构,一套代码跨平台运行,还可以很方便地使用小程序自身的能力,而且还不会影响 APP 安装包体积,简直是普大喜奔!
winty
2024/07/31
3350
让小程序在 APP 运行的高性价比选择 ——FinClip
FinClip 与 uniapp:轻应用平台与前端开发框架
简单来说,uni-app 是一款为了解决跨端开发问题所设计的前端开发框架,开发者通过 uni-app 所编写出的一套代码,可以发布到 iOS,Android,H5 平台之中。
Onegun
2022/01/05
1.6K0
FinClip 与 uniapp:轻应用平台与前端开发框架
八步走:快速将小程序生成APP!
使用小程序的场景已深入到生活中的方方面面,可一个已有的小程序能否可以生成一个 App 呢?答案是可以的!
海岛船长加西亚
2023/03/07
7300
八步走:快速将小程序生成APP!
2022年了,跨端方案该怎么选呢?
Flutter 是当下移动端领域非常热门的跨端框架,各个大厂都在积极探索这项技术,并在主营业务上实现落地。
二山山记
2022/10/24
1.4K0
Android | 接入小程序容器FinClip
对于小程序这个词,对于普通的用户而言,确实是一个非常方便快捷的东西,不需要下载app就可以直接使用应用,使用完了可以随时离开,不需要关心安装太多的应用。但是对于 Android 开发者而言,在小程序刚开始的时候,传出了非常大的地震,例如 "小程序时代崛起,App 即将被消灭" 等等,但是这么长时间过去了, App 依然好好的,因为 小程序 目前之恩能够针对那些使用低频率、服务类型、轻量级的 App ,因此,小程序只能被视为一个简单的轻应用,在功能和体验上并不能和原生的相媲美。
345
2023/03/08
1.6K0
Android | 接入小程序容器FinClip
有意思,小程序还可以一键生成App!
小程序是一种 无需安装、即开即用、用完即走 的轻量级应用程序,并可以实现类似原生一样的使用体验。
米开朗基杨
2023/09/09
4370
有意思,小程序还可以一键生成App!
基于跨平台的移动应用开发框架研究
当前由于移动互联网技术的日益发展,人们对移动互联网程序的要求也是越来越高,以往的互联网程序已经不能满足人们日益增长的需求,对此相关的工作技术人员要不断努力,研发出与时俱进的移动互联网程序。
二山山记
2022/11/25
1.5K0
基于跨平台的移动应用开发框架研究
15分钟把微信小程序变成鸿蒙APP
最近一段时间传闻 Google 对团队进行了比较大的调(裁)整(撤)。其中有不少人认为这可能会影响 Flutter 未来的发展。再加上确实最近有 Flutter 团队的核心成员 Tim Sneath 等多名核心团队离开。这也加剧了业界对于 Flutter 命运的担心。
开发内功修炼
2024/05/28
9210
15分钟把微信小程序变成鸿蒙APP
浅谈轻应用平台FinClip与移动应用开发平台mPaaS
在本文中FinClip的产品经理和我们将会深入地探讨 FinClip 与 mPaaS 之间的差异,彼此间的长处与弱点。mPaaS 是蚂蚁金服出品的移动应用开发平台,功能很丰富,但为移动应用提供小程序支持还有其他更好的选择。
金牌打杂仔
2022/01/11
3.3K0
技术分享|如何运用FinClip轻松将微信小程序转成商业App
移动互联网时代,对于企业来说,自有APP是企业品牌推广的有力工具。开发自有的商用APP,不仅可以满足电商销售,还能够帮助企业宣传自身,同时还能收集用户相关数据,及时帮助企业调整发展方向和目标。
用户10245619
2022/12/14
6230
前端跨平台框架对比分析,看这篇就够了
前端跨端实践是指在开发过程中,使用统一的代码库或框架来实现在不同平台上运行的应用程序。
winty
2023/08/23
5.9K0
前端跨平台框架对比分析,看这篇就够了
跨平台技术演进
随着移动互联网的普及和快速发展,手机成了互联网行业最大的流量分发入口。以及随着5G的快速发展,未来越来越多的“端”也会如雨后春笋般快速兴起。而“快”作为互联网的生存之道,为了占领市场,企业也会积极跟进,快速布局。同一个应用,各个“端”独立开发,不仅开发周期长,而且人员成本高。同时,作为技术人员,也不应该满足于这种重复、低能的工作状态。在这样的形势下,跨平台的技术方案也受到越来越多人和企业的关注。接下来,我将从原理、优缺点等方面为大家分享《跨平台技术演进》。
用户2356368
2019/04/03
2.5K0
跨平台技术演进
关于移动互联网的跨平台技术演进
随着移动互联网的普及和快速发展,手机成了互联网行业最大的流量分发入口。以及随着5G的快速发展,未来越来越多的“端”也会如雨后春笋般快速兴起。而“快”作为互联网的生存之道,为了占领市场,企业也会积极跟进,快速布局。同一个应用,各个“端”独立开发,不仅开发周期长,而且人员成本高。同时,作为技术人员,也不应该满足于这种重复、低能的工作状态。在这样的形势下,跨平台的技术方案也受到越来越多人和企业的关注。接下来,我将从原理、优缺点等方面为大家分享《跨平台技术演进》。
Android技术干货分享
2019/05/21
1.8K0
关于移动互联网的跨平台技术演进
借用FinClip把微信小程序打包生成App
随着小程序时代的全面的来临,加之开发门槛较低,很多企业或个人都拥有了自己的微信小程序,甚至这些大部分企业都没有过自己的App。因为开发难度大,成本高让很多想要开发App的企业望而却步。
Onegun
2022/05/26
1.2K0
借用FinClip把微信小程序打包生成App
推荐阅读
相关推荐
利用Flutter开发了一个可运行小程序的App
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文