VueConf2021话题,用Vue和JS开发Flutter应用?

简介: 本篇主要围绕Vue构建高性能 Flutter 应用话题展开

在当下,跨端已经是前端绕不开的一个话题,随着 IoT 设备的普及越来越多的“端”涌现到我们的日常开发中。自 Hybrid 、React Native(Weex)后,Flutter 凭借其精简的渲染管线以及自绘渲染的特性,一跃成为这两年跨端的新宠。


但其用 Dart + Widget 的开发模式以及与前端割裂的生态造成了研发成本过高。基于这个背景,我们探索一种基于 W3C 标准的 Flutter 应用方案,向上对接前端生态,向下通过自绘保证多端一致性。


image.png


以上是本次VueConf2021中,由阿里巴巴淘系技术部染陌带来的分享。不过在他的分享的前半部分,几乎都在讲述跨端的历史,以及Flutter之所以出现并流行的原因。像是一个用于阿里内部的报告:p ,不过他的分享后,更有VueConf2021全场最佳绿哥的灵魂拷问:


Weex已经黄了,你这个能坚持维护多久?


开个玩笑,有些小伙伴还不了解Flutter,我分享一下我对于Flutter的理解


Flutter究竟好在哪?


  1. 跨端一致性
  2. 跨端一致性
  3. 跨端一致性


这里真不是跟大家开玩笑,Flutter当然还有一些其他的优点,但在我看来,那些优点和跨端一致性相比都不足一提。或者说,跨端一致性是Flutter能在跨端框架圈能立住脚的核心原因之一,正因为这个非常sexy的特性,开发者们愿意去适应和接受Flutter框架的“固执”...


Flutter的固执?


我并不了解Flutter为何固执的设计成今天这个样子,它并不难学,但是对于一个已经习惯了Web前端开发习惯和生态的开发者而言,要去适应另一套风格和习惯自然是有不小的成本。


另外,Web前端工程师的生存环境越来越艰难!内卷成灾:p


即使掌握了Flutter,却往往不能一直写Flutter,要时常在Dart/JS

Flutter/Vue之间来回横跳,这就相当难受了。


比如笔者就是如此,所以经常大脑缺氧,记忆错乱...


举几个例子大家感受下


  • 异步函数


//javascript
async function func(){
}
//dart
func() async{
}


  • 随机值


//javascript
Math.random();
Math.floor(Math.random()*5);
//dart
Random().nextDouble();
Random().nextInt(5);


  • 日志打印


//javascript
console.log();
//dart
print();


  • 数组


//javascript
var arr = [];
arr.push(1);
arr.push(1,2,3,4,5);
//dart
var arr = [];
arr.add(1);
arr.addAll([1,2,3,4,5]);


这种差异我仅列举冰山一角,你如果日常要在这两种习惯间反复横跳,会不会疯?


所以,既利用Flutter的跨端一致性,但又可以用沿用Web前端开发者们习惯来编写代码,完成开发多好呢?kraken就在这个背景下诞生


Kraken是个啥


Open Kraken(openkraken.com/)


阿里巴巴历时 3 年自研开发的 Web 渲染引擎 北海(英文名:Kraken)正式开源,致力打造易扩展,跨平台,高性能的渲染引擎,并已在优酷、大麦、天猫等业务场景中使用。


所以kraken到底能干嘛,大家可以去看官网,我的理解是


Weex = JS+Vue+原生渲染


Kraken = JS+Vue/React/Rax+Flutter自渲染

而Flutter脱胎于web标准,是chrome团队去掉一些乱七八糟的web规范后...


image.png


所以我可不可以理解为,Kraken把那些乱七八糟的web规范整回来了~


也就是说,Kraken = 用Flutter实现了一个Webkit,这个理解,我特意向Flutter中国的朋友请教了一下...


image.png


一篇观后感的水文,没什么干货...

评论区畅所欲言吧~大家怎么看?



相关文章
|
6月前
|
JavaScript 前端开发
如何减少Node.js应用中的全局变量?
如何减少Node.js应用中的全局变量?
404 133
|
6月前
|
监控 负载均衡 JavaScript
有哪些有效的方法可以优化Node.js应用的性能?
有哪些有效的方法可以优化Node.js应用的性能?
356 69
|
3月前
|
存储 监控 JavaScript
基于布隆过滤器的 Node.js 算法在局域网电脑桌面监控设备快速校验中的应用研究
本文探讨了布隆过滤器在局域网电脑桌面监控中的应用,分析其高效空间利用率、快速查询性能及动态扩容优势,并设计了基于MAC地址的校验模型,提供Node.js实现代码,适用于设备准入控制与重复数据过滤场景。
184 0
|
2月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
227 3
|
3月前
|
缓存 前端开发 大数据
虚拟列表在Vue3中的具体应用场景有哪些?
虚拟列表在 Vue3 中通过仅渲染可视区域内容,显著提升大数据列表性能,适用于 ERP 表格、聊天界面、社交媒体、阅读器、日历及树形结构等场景,结合 `vue-virtual-scroller` 等工具可实现高效滚动与交互体验。
424 1
|
3月前
|
资源调度 负载均衡 JavaScript
使用PM2工具部署Vue.js应用于服务器
以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。
179 0
|
5月前
|
JavaScript API 开发者
Vue框架中常见指令的应用概述。
通过以上的详细解析,你应该已经初窥Vue.js的指令的威力了。它们是Vue声明式编程模型的核心之一,无论是构建简单的静态网站还是复杂的单页面应用,你都会经常用到。记住,尽管Vue提供了大量预定义的指令,你还可以创建自定义指令以满足特定的需求。为你的Vue应用程序加上这些功能增强器,让编码变得更轻松、更愉快吧!
119 1
|
6月前
|
监控 算法 JavaScript
公司局域网管理视域下 Node.js 图算法的深度应用研究:拓扑结构建模与流量优化策略探析
本文探讨了图论算法在公司局域网管理中的应用,针对设备互联复杂、流量调度低效及安全监控困难等问题,提出基于图论的解决方案。通过节点与边建模局域网拓扑结构,利用DFS/BFS实现设备快速发现,Dijkstra算法优化流量路径,社区检测算法识别安全风险。结合WorkWin软件实例,展示了算法在设备管理、流量调度与安全监控中的价值,为智能化局域网管理提供了理论与实践指导。
179 3
下一篇
oss云网关配置