当前位置:首页 > 科技  > 软件

体验了一把华为的 OpenInula,谈谈使用感受

来源: 责编: 时间:2024-04-19 09:27:09 300观看
导读华为在今年开源了一款类似于 React 的前端框架, openInula。他的宣传语上面,把 openInula 与大语言模型、前端 AI 赋能结合在一起,主打一个高性能、全场景、智能化。果然遥遥领先在宣传语的设计上还是有点水平的。然后我

eff28资讯网——每日最新资讯28at.com

华为在今年开源了一款类似于 React 的前端框架, openInula。他的宣传语上面,把 openInula 与大语言模型、前端 AI 赋能结合在一起,主打一个高性能、全场景、智能化。eff28资讯网——每日最新资讯28at.com

果然遥遥领先在宣传语的设计上还是有点水平的。然后我就去了解了一下这个框架。eff28资讯网——每日最新资讯28at.com

一、无缝迁移

我想先试一下能不能真的做到无缝切换。如果真的能做到的话,我们就可以非常方便的使用 React 的生态直接搞 openinula 项目了。eff28资讯网——每日最新资讯28at.com

eff28资讯网——每日最新资讯28at.com

这样来看的话,确实能够快速将 React 的生态迁移到 openInula 上面来。但是由于我大多数组件都是基于 useState 来编写的,因此,想要使用 useReactive 的话,只能全部替换掉。eff28资讯网——每日最新资讯28at.com

- const [display, setDisplay] = useState(false)+ const display = useReactive({ show: false })

替换掉之后功能基本上没什么毛病。但是在最佳实践的摸索上还存在一些疑问。比如当我想要将一个响应式数据传递给子组件时,下面哪种方式更好一些呢?我还没有一个定论,还需要进一步的体会和摸索。eff28资讯网——每日最新资讯28at.com

<Dialog show={data.open.get()}}>hello</Dialog>
<Dialog show={data.open}>hello</Dialog>

第一种方式会更加契合解耦方面的思考,但书写稍微繁琐了一点,第二种方式呢,会对子组件逻辑造成更大的干扰。想到这里,突然之间明白了在 arkUI 里的状态设计,如果从父组件里传递一个响应式数据给子组件时,子组件必须使用 @Prop 装饰来接收这个状态。eff28资讯网——每日最新资讯28at.com

这样在子组件中,我们就能够清晰的知道这个数据类型的特性到底是怎么回事了。从而降低了维护成本。这样一想的话,arkUI 在组件状态的设计上,确实有点东西。eff28资讯网——每日最新资讯28at.com

@Componentstruct ChildComponent {  @Prop  private count: number  build() {    Text(`Child Count: ${this.count}}`)  }}

四、意外之喜

当我试图使用解构的方式来拆解 useReactive 时,居然不会失去响应性。eff28资讯网——每日最新资讯28at.com

const {count, open} = useReactive({   count: 0,   open: false });const countText = useComputed(() => {  return `计时: ${count.get()}`;});setInterval(() => {  count.set((c) => c + 1);}, 1000);

这可就解决了大问题了!当数据变得庞大,它的繁琐的程度将会大大的降低。所以在使用上会比 solid.js 方便许多。eff28资讯网——每日最新资讯28at.com

我了解到的 Vue3 和 Solid 实际上在这一点上都做得不是很好,解构之后,Vue3 的状态会失去响应性。eff28资讯网——每日最新资讯28at.com

// 直接使用 count 无法具备响应性const {count} = reactive({ count: 0 })

Solid 的 API 设计,又无法做到把颗粒度细分到每个子属性eff28资讯网——每日最新资讯28at.com

const [count, setCount] = createSignal({n: 1});function clickHandler() {  setCount({ n: count().n + 1 })}

所以,当需要更细的属性时,Vue3 可能会更多的使用 ref 来做,而 solid 则与 useState 一样,单独声明这个属性。eff28资讯网——每日最新资讯28at.com

这么横向一对比,openInula 的响应式 API 就有点厉害了。在设计上充分体现了自己的独创性和先进性,如果其他方面不出什么问题的话,应该会受到一大批程序员的喜爱。eff28资讯网——每日最新资讯28at.com

不愧是遥遥领先。 eff28资讯网——每日最新资讯28at.com

五、总结

openInula 的使用体验与 React 几乎一样。与 React 不同的是,他增加了一个响应式 API。因此能够增加一些不同的开发体验。也正是由于这个响应式 API 的存在,让 openInula 在 API 设计上有了自己的独创性。eff28资讯网——每日最新资讯28at.com

与其他响应式框架相比,我更喜欢 openInula 的 API 设计,在开发体验与维护体验的综合考虑上目前是做得最好的,虽然为了考虑维护体验牺牲了一些开发体验,不过我完全能接受。由于接触了几款华为的框架,可以感受到,他们在设计 API 时,会把可维护性的重要性看得比开发体验更高。eff28资讯网——每日最新资讯28at.com

当然,svelte 我还没有怎么了解过,不过有听到坊间传言说是模仿 Vue3 的,那估计设计模式跟 Vue3 差别不算大。eff28资讯网——每日最新资讯28at.com

var { count, a, b, c } = useReactive({  count: 1,  a: 1,  b: 1,  c: 1})count.set((v) => v + 1)count.get()a.set((v) => v + 1)a.get()b.set((v) => v + 1)b.get()c.set((v) => v + 1)c.get()

本文链接:http://www.28at.com/showinfo-26-84009-0.html体验了一把华为的 OpenInula,谈谈使用感受

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Electron 30 正式发布,新特性详解

下一篇: 接口扩展与设计模式:为何早点学习设计模式如此重要

标签:
  • 热门焦点
  • 小米降噪蓝牙耳机Necklace分享:听一首歌 读懂一个故事

    在今天下午的小米Civi 2新品发布会上,小米还带来了一款新的降噪蓝牙耳机Necklace,我们也在发布结束的第一时间给大家带来这款耳机的简单分享。现在大家能见到最多的蓝牙耳机
  • 2023年Q2用户偏好榜:12+256G版本成新主流

    3月份的性能榜、性价比榜和好评榜之后,就要轮到2023年的第二季度偏好榜了,上半年的新机潮已经过去,最明显的肯定就是大内存和存储的机型了,另外部分中端机也取消了屏幕塑料支架
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 华为Mate60标准版细节曝光:经典星环相机模组回归

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
  • 质感不错!OPPO K11渲染图曝光:旗舰IMX890传感器首次下放

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
  • 苹果MacBook Pro 2021测试:仍不支持平滑滚动

    据10月30日9to5 Mac 消息报道,苹果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后获得了不错的评价,亮点包括行业领先的性能,令人印象深刻的电池续航,精美丰
Top