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

Taro3.5金丝雀发布:支持适配鸿蒙&&OpenHarmony

时间:2023-03-27 10:32:10 JavaScript

本文作者:京东鸿蒙共建团队-姜尚泽,JJ1,背景作为华为自研的可实现万物互联的操作系统,鸿蒙自开播以来就受到了广泛关注,受到了国人的高度关注。而鸿蒙也没有让人失望。今年Harmony2.0正式上线供用户升级后,短短三个月就实现了1.2亿装机量,而在前不久的华为开发者大会上,华为宣布Harmony2.0。.0的装机量已经超过1.5亿。不少应用厂商也陆续推出了适配的鸿蒙应用。Taro是一个开放的跨终端、跨框架的解决方案。很多开发者都期待将小程序的能力移植到鸿蒙OS上。Taro可以用来开发鸿蒙&&OpenHarmony应用。鸿蒙方舟开发框架提供类Web编程范式,支持使用JS开发UI层,语法接近小程序。经过初步调研,Taro现有的架构可以适配鸿蒙。今年6月,我们提出了支持鸿蒙的新提案,希望实现三个目标:开发者可以使用Taro开发鸿蒙应用。开发者可以将现有的Taro应用适配到鸿蒙平台。开发者可以使用Taro的反向转换工具,将原生开发的小程序转换成Taro应用,再适配鸿蒙平台。目前,太郎已经与OpenHarmony建立了官方合作伙伴关系,并受邀成立了跨平台前端框架兴趣小组(SIG-CROSS-PLATFORM-UI)。同时,太郎与华为鸿蒙&&OpenHarmay保持内部沟通和分享。Taro拥有大量的开发者和优秀案例,可以有效补充华为鸿蒙&&OpenHarmay生态。2.实现细节鸿蒙的JSUI语法和小程序类似,但两者的底层原理毕竟不同,难免有很多差异。下面简单介绍一下鸿蒙和小程序的主要区别,以及Taro是如何处理这些区别的。一、鸿蒙与小程序的异同1.1项目组织鸿蒙的项目组织与小程序类似,包括入口文件app.js、页面、自定义组件。其中,页面和自定义组件由三类文件组成:.hml用于描述布局结构。与小程序的模板文件相比,语法和支持的能力略有不同。.css用于描述页面样式。.js用于处理页面与用户的交互,默认支持ES6语法。1.2配置文件不同于小程序指定的入口文件、页面文件、自定义组件。鸿蒙JSUI只有一个配置文件。鸿蒙的路由和小程序一样是可配置的,需要在JSUI的配置文件中进行配置。1.3在样式CSS方面,鸿蒙和RN一样有很多限制。例如不支持盒子模型,每个组件只支持部分CSS属性等。1.4组件&APIHarmony提供了一系列功能丰富的组件,与小程序的组件在命名和功能上略有不同.API也是一样的。两者的API集合有一些交集,在用法和功能上也有区别。2.兼容细节2.1Taro能解决什么问题?适配鸿蒙的太郎致力于尽可能地抹平分歧,但作为一个框架,注定有它能解决和不能解决的问题。语法差异可以通过编写运行时框架来处理;尽量使用鸿蒙组件和API实现微信小程序规范的组件和API,抹平两者的使用差异。但是CSS的差异,组件和API能力的差异等等,都取决于鸿蒙的底层实现,这不是太郎解决不了的。2.2HarmonyPluginTaro对Harmony的兼容主要是通过@tarojs/plugin-platform-harmony插件完成的,开发者可以将其编译成Harmony应用。它主要做了以下适配工作:a)Templates熟悉Taro的应该都知道,Taro是通过小程序端