华为自研的前端框架是什么样的?

华为od-前端面经-22届非科班 这篇文章分享了华为OD招聘全流程经验,重点介绍了机考、性格测试、技术面试等环节的注意事项。作者详细讲解了机考题目结构(3道题150分钟)、技术面准备重点(刷力扣题、掌握前端基础、熟悉项目细节)以及HR面试常见问题。特别推荐了负责的HR栗栗小姐姐全程跟进,提供笔试资料、技术攻略和进度查询服务。文末附栗栗的招聘信息,涵盖多个城市、岗位和部门,并分享了入职OD的心得体会。整体流程强调充分准备和可靠HR支持的重要性。 阅读详情

作者:魔术师卡颂
链接:https://juejin.cn/post/7307451255432249354

华为开源了一款前端框架 —— openInula。根据官网提供的信息,这款框架有3大核心能力:

1.响应式API

2.兼容ReactAPI

3.官方提供6大核心组件

并且,在官方宣传视频里提到 —— 这是款大模型驱动的智能框架。

那么,这究竟是款什么样的前端框架呢?我在第一时间体验了Demo,阅读了框架源码,并采访了框架核心开发者。

顺带吆喝一句,华为OD内推捞人,前后端测试均可投

采访核心开发者

开发Inula的初衷是?

回答:

华为内部对于业务中强依赖的软件,考虑到竞争力,通常会开发一个内部使用的版本。

Inula在华为内部,从立项到现在两年多,基本替换了公司内绝大部分React项目。

卡颂补充背景知识:Inula兼容React 95% API,最初开发的目的就是为了替换华为内部使用的React。为了方便理解,你可以将Inula类比于华为内部的React

为什么开源?

回答:

华为对于自研软件的公司策略,只要是公司内部做的,觉得还ok的自研都会开源。

接下来的提问涉及到官网宣传的内容

宣传片提到的大模型赋能、智能框架是什么意思?

回答:

这主要是Inula团队与其他外部团队在AI、低代码方向的一些探索。比如:

  1. 团队与上海交大的一个团队在探索大模型赋能chrome调试业务代码方面有些合作,目的是为了自动定位问题

  2. 团队与华为内部的大模型编辑器团队合作,探索框架与编辑器定制可能性

以上还都属于探索阶段。

Inula未来有明确的发展方向么?

回答:

团队正在探索引入响应式API,相比于React的虚拟DOM方案,响应式API能够提高运行时性能。24年可能会从Vue composition API中寻求些借鉴。

新的发展方向会在项目仓库以RFC的形式展开。

补充:RFC是Request for Comments的缩写。这是一种协作模式,通常用于提出新的特性、规范或者改变现有的一些规则。RFC的目的是收集不同的意见和反馈,以便在最终确定一个决策前,考虑尽可能多的观点和影响。

为什么要自研核心组件而不用社区成熟方案?

卡颂补充:所谓核心组件,是指状态管理、路由、国际化、请求库、脚手架这样的框架生态相关的库。既然Inula兼容React,为什么不直接用React生态的成熟产品,而要自研呢?毕竟,这些库是没有软件风险的。

回答:

主要还是丰富Inula生态,根据社区优秀的库总结一套Inula官方推荐的最佳实践。至于开发者怎么选择,我们并不强求。

卡颂的分析

以上是我对Inula核心开发者陈超涛的采访。下面是我看了Inula源码后的一些分析。

要分析一款前端框架,最重要的是明白他是如何更新视图的?这里我选择了两种触发时机来分析:

  1. 首次渲染

触发的方式类似如下:

Inula.render(<App />, document.getElementById("root"));
  1. 执行useState的更新方法触发更新

触发的方式类似如下:

function App() {
  const [num, update] = useState(0);
  // 触发更新
  update(xxx);
  // ...
}

顺着调用栈往下看,他们都会执行两步操作:

  1. 创建名为update的数据结构

  2. 执行launchUpdateFromVNode方法

比如这是首屏渲染时:

这是useState更新方法执行时:

launchUpdateFromVNode方法会向上遍历到根结点(源码中遍历的节点叫VNode),再从根节点开始遍历树。由此可以判断,Inula的更新机制与React类似。

所有主流框架在触发更新后,都不会立刻执行更新,中间还有个调度流程。这个流程的存在是为了解决:

  1. 哪些更新应该被优先执行?

  2. 是否有些更新是冗余的,需要合并在一块执行?

在Vue中,更新会在微任务中被调度并统一执行,在React中,同时存在微任务(promise)与宏任务(MessageChannel)的调度模式。

在Inula中,存在宏任务的调度模式 —— 当宿主环境支持MessageChannel时会使用它,不支持则使用setTimeout调度:

同时,与这套调度机制配套的还有个简单的优先级算法 —— 存在两种优先级,其中:

  • ImmediatePriority:对应正常情况触发的更新

  • NormalPriority:对应useEffect回调

每个更新会根据更新的ID(一个自增的数字)+ 优先级对应的数字 作为优先级队列中的排序依据,按顺序执行。

假设先后触发2次更新,优先级分别是ImmediatePriority与NormalPriority,那么他们的排序依据分别是:

  1. 100(假设当前ID到100了)- 1(ImmediatePriority对应-1) = 99

  2. 101(100自增到101)+ 10000(NormalPriority对应10000)= 10101

99 < 10101,所以前者会先执行。

需要注意的是,Inula中对更新优先级的控制粒度没有React并发更新细,比如对于如下代码:

useEffect(function cb() {
  update(xxx);
  update(yyy);
})

在React中,控制的是每个update对应优先级。在Inula中,控制的是cb回调函数与其他更新所在回调函数之间的执行顺序。

这意味着本质来说,Inula中触发的所有更新都是同步更新,不存在React并发更新中高优先级更新打断低优先级更新的情况。

这也解释了为什么Inula兼容 95% 的React API,剩下 5% 就是并发更新相关API(比如useTransition、useDeferredvalue)。

现在我们已经知道Inula的更新方式类似React,那么官网提到的响应式API该如何实现呢?这里存在三条路径:

  1. 一套外挂的响应式系统,类似React与Mobx的关系

  2. 内部同时存在两套更新系统(当前一套,响应式一套),调用不同的API使用不同的系统

  3. 重构内部系统为响应式系统,通过编译手段,使所有API(包括当前的React API与未来的类 Vue Composition API)都走这套系统

其中第一条路径比较简单,第二条路径应该还没框架使用,第三条路径想象空间最大。不知道Inula未来会如何发展。

总结

当前,Inula是一款类React的框架,功能上可以类比为React并发更新之前的版本。

下一步,Inula会引入响应式API,目的是提高渲染效率。

对于未来的发展,主要围绕在:

  • 探索类 Vue Composition API的可能性

  • 迭代官方核心生态库

对于华为出的这款前端框架,你怎么看?

开放原子开源基金会搞了个开源大赛,奖金有35w,有两个选题:

  1. 基于openInula实现社区生态库,比如组件库、图表库、Rust基建、SSR、跨平台、高性能响应式更新方案...
  2. 基于openInula实现的AI应用

由于 openInula 和 React API基本一致,说白了只要你把自己的 React 项目改下依赖适配下就能报名,有奖金拿,还有华为背书,这波属于稳赚不赔。

GPOPSII 对控制量变化率进行约束,避免控制量振荡 在这篇文章中,在GPOPSII中通过对控制量变化的约束,优化求解得到更平滑的控制量曲线,更符合真实控制约束。 阅读详情

相关推荐

复合材料RVE建模与力学性能分析实战指南

代表体积元(RVE)建模是复合材料多尺度分析的核心技术,通过建立微观结构与宏观性能的定量关联,可准确预测材料力学行为。本文基于ABAQUS平台,详细解析三材料(纤维/基体/界面相)RVE建模全流程,包括参数化几何建模、周期性网格划分策略、材料属性定义技巧等关键技术环节。针对碳纤维增强环氧树脂等典型复合材料,提供网格控制参数建议和材料参数参考表,并重点说明周期性边界条件的实现方法与验证标准。通过Python脚本自动化处理和优化分析流程,可显著提升计算效率,为复合材料设计提供可靠仿真依据。

weixin_34062469的博客 549

华为自研的前端框架是什么样的?遥遥领先?

【前端百题斩】小程序,11个模块、300+面试真题,助力进大厂、拿高薪。‍‍最近,华为开源了一款前端框架 —— openInula[1]。根据官网提供的信息,这款框架有3大核心能力:响应式API兼容ReactAPI官方提供6大核心组件并且,在官方宣传视频里提到 —— 这是款「大模型驱动」的「智能框架」。那么,这究竟是款什么样的前端框架呢?我在第一时间体验了Demo,阅读了框架源码,并采访了框架核心...

wang_yu_shun的博客 640

基于云盾构建等保三级Web安全体系:从合规要求到实战落地

网络安全等级保护(等保)是保障信息系统安全的重要制度,其核心原理是通过分级防护、动态调整的策略,构建纵深防御体系。在技术层面,等保要求覆盖物理环境、通信网络、区域边界、计算环境和安全管理中心等多个层面,旨在通过技术和管理相结合的方式,有效应对网络攻击和数据泄露风险。对于Web应用而言,满足等保三级要求具有极高的技术价值,它不仅是合规的刚性需求,更是提升业务系统整体安全水位、建立用户信任、保障业务连续性的关键工程实践。在云计算时代,利用云原生安全服务(如Web应用防火墙WAF、云安全中心、态势感知等)可以高效

weixin_29324877的博客 307

web 项目开发又多一个选择!华为出品的跨端、跨框架的 UI 组件库,有点强(带私活源码)

这是华为云出品的企业级设计体系统,一套前端 UI 组件库。适配 PC 端/移动端等多端,完成度很高。

m0_68103666的博客 1672

一、qt下载与安装

qt与qtcreator 的区别与联系 1、QT Creator只是一个集成的编译器,用于将源代码编译成可执行程序。 QT 是跨平台C++图形用户界面应用程序开发框架,可以简单理解成是一个开发包。 2、Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。 QT Creator 跨平台的 Qt IDE,Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集 ...

yiye_pianzhou的博客 2218

OrthoFinder功能、流程和文件注释

OrthoFinder 的标准输出包括:直系同源组,直系同源基因,有根基因树,解析基因树,无根物种树、有根物种树,基因重复事件以及相关的统计数据。

hs6605015的博客 3046

Opennebula安装配置

控制端安装 安装前准备 //安装相关依赖 yum -y install wget net-tools bridge-utils nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release //桥接网

jinba225的博客 1173

从零到一:YOLOv8在边缘设备上的轻量化部署实战

本文详细介绍了YOLOv8在边缘设备上的轻量化部署实战,涵盖模型优化、TensorRT加速、剪枝与知识蒸馏等关键技术。通过工业质检和智能门禁项目案例,展示了如何将YOLOv8高效部署到树莓派、Jetson Nano等资源受限设备,显著提升推理速度和降低内存占用。文章还提供了动态分辨率调整、多模型级联部署等实用技巧,助力开发者实现边缘AI应用的高效落地。

weixin_29040367的博客 379

手写华为商城前端页面

今天需要完成的是华为商城的个人中心主页面,效果图如下。 首先抽离出来核心功能部分,要先完成的部分如下。 这是我第一次接触前端,自学只有三天时间,我走的是Java后端路线,前端只是为了为完成后端功能铺路。用到的技术是html,css,js。原生代码写的,没用到框架。下面是我的格式架构设计。 给div分块。 如图分成的div,因为不熟前端代码。代码比较冗余,同颜色为同级div。经验条(1000/...

qq_44583531的博客 4732

华为BEM战略解码体系完整版(85页PPT)(文末有下载方式)

在部门层面,战略解码的核心是将公司战略逐层分解到部门,确保部门目标能够有效支撑公司战略。战略解码的关键原则包括:对公司战略和业务目标的支撑、指标选取考虑部门责任特色、对公司业务流程的支撑、战略解码,华为公司实现了从战略制定到执行的闭环管理,确保了战略目标能够通过可衡量的。战略解码,华为公司实现了从战略制定到执行的闭环管理,确保了战略目标能够通过可衡量的。战略解码体系的核心目标是将公司战略逐层分解,确保战略目标能够通过可衡量的。在公司层面,战略解码的第一步是战略澄清,明确公司的使命、愿景、战略目标及。

AI_data_cloud的博客 2400

高速SerDes均衡技术解析

均衡技术是高速SerDes链路中补偿信道损耗和失真的核心技术,通过FFE、CTLE和DFE三种主要方法对抗码间干扰(ISI)。FFE在发射端预补偿前光标干扰,CTLE通过提升高频增益补偿信道损耗,DFE则精准消除后光标干扰。三种技术各具优势:FFE实现简单且不放大噪声,CTLE功耗低易于集成,DFE能自适应调整且保持信噪比。这些技术协同工作可有效提升系统传输速率和可靠性。

一只豌豆象的博客 1948

华为推送php_牛逼,华为云开源的Spring Cloud框架,网友:这是要对标阿里~

哈喽,各位新来的小伙伴们,大家好!由于公众号做了改版,为了保证公众号的资源能准时推送到你手里,大家记得将咱们的公众号加星标置顶,在此真诚的表示感谢~正文如下:大家晚上好哦!一周的工作结束啦,是不是准备今晚就嗨起来呢?其实吧,对于咱们来说,周末闲暇时间,正是提升技术的时候。只有持之以恒的钻研技术,才能牢牢的端住自己的饭碗!这不,今天的推文聊聊技术。今天老鬼给大家推荐一个开源的华为云框架...

weixin_39637924的博客 465

3D视觉实战之双目相机物体尺寸实时测量

视差图滤波能够将稀疏视差转变为稠密视差,并在一定程度上降低视差图噪声,改善视差图的视觉效果,但是比较依赖初始视差图的质量。的目标是获得左右两个相机的内参、外参和畸变系数,其中内参包括左右相机的fx,fy,cx,cy,外参包括左相机相对于右相机的旋转矩阵和平移向量,畸变系数包括径向畸变系数(k1, k2,k3)和切向畸变系数(p1,p2)以及其他一些畸变类型。:相比于昂贵的专业设备,便宜的双目摄像头可以显著降低成本,使得实时点云生成技术更加普及和经济实惠。

qq_53545309的博客 2099

没错,华为开始对前端下手了!

TO:WEB前端从业者/爱好者 华为【WEB前端全栈成长计划】招募以来受到广大开发者欢迎本次课程梳理了华为前端开发经验3个月的课程既有适合0基础入门又有进阶适配高阶开发框架课程满足...

web前端开发 2226

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

这款自研底层框架,你说不定已经用上了

核心技术是买不来的,只有自主创新才能立于不败之地。

Aaron_Zentao的博客 1003

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

华为开源自研AI框架MindSpore!自动微分、并行加持,一次训练,可多场景部署...

点击上方“Python高校”,关注文末干货立马到手乾明 发自 凹非寺量子位 报道 | 公众号 QbitAI华为的开源AI框架,来了!刚刚,华为宣布正式...

Python爬虫和机器学习专栏 1296

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

从0到1集成华为云 DevUI前端框架保姆级教程

本文介绍了如何集成华为云DevUI企业级前端框架到Angular项目中。首先确保Node.js版本20+,安装Angular CLI 18并创建项目。通过npm安装ng-devui包,在angular.json中引入样式。以面板组件为例,演示了组件导入和使用方法。最后启动项目验证集成效果。DevUI作为华为开源的企业级前端解决方案,提供丰富的组件库和设计体系,适用于中后台系统开发。

风中追风 992

低代码前端框架研究

框架底层框架UI组件数画布通信原理AmisReact114在同一个Document中TinyEngineVue51iframeReact84iframePagePlugReact47在同一个Document中。

好女绪的博客 1798

从自研走向开源的 TinyVue 组件库

作者 | 莫春辉 责编 | 夏萌TinyVue 的开源征程OpenTiny 提供企业级的 Web 应用前端开发套件,包括 TinyVue/TinyNG 组件库、TinyPro 管理系统模板、TinyCLI 命令行工具以及 TinyTheme 主题配置系统等。这些前端开发的基础设施和技术已在华为内部积累和沉淀多年,其中 TinyVue 组件库更是历经九年的磨练,从最初的封闭自研逐步走向社区...

优快云资讯 656

基于springboot+vue的Android的乡村研学旅行APP系统app小程序

💗博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、优快云新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌💗主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。✌💗👇🏻精彩专栏 推荐订阅👇🏻。

专注于大学生项目实战开发,讲解,毕业答疑辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。全网粉丝30万+,优快云特邀博主,Java新星计划多届导师,掘金/知乎/华为云/阿里云/51CTO等平台优质创作者。 1016

没错,华为又对前端下手了!

面对IT行业快速革新的理论与技术攻城狮朋友们需要把大量时间用于技术的学习与应用长期面对冰冷代码的攻城狮不禁要问新理论要哪里学习新技术该怎么应用可以一起成长的小伙伴在哪里针对以上问题,华为...

程序员成长指北 953

前端框架的选型、分类、常用框架整理(含官网链接)

前端框架的定义 所谓框架,即提供一套完整的解决方案。 所以前端框架,就是一整套提升前端开发效率的前端编程方案,使用前端框架,就需要按照框架定好的代码结构进行开发。 前端框架的分类 前端框架主要分为JS框架和UI框架 前端框架——JS框架的选型 vue (最易上手) https://cn.vuejs.org/v2/guide/ react (国外最普及) https://react.docschina.org/docs/getting-started.html Angul..

朝阳39的博客 2728

华为前端社招OD面试(已拿offer)

在一天下午在,B某某sAPP上收到了,HR的请求想要一份简历。于是开始了持续1个多月的面试过程。首先是HR给了我一个牛客网上的算法题链接,要求手机打开某个公众号保持常亮,电脑打开相应配置(防止你作弊用的),开始了2个半小时的算法做题时间。碰到了3个题目,其中一题很难。要学会取舍啊 第三题才是大头。肯定挑分多的做呀。 第一面 机试 算法题考试【敏感字段加密】 第一题和第三题因为考试中不视频监控不让用手机所以没有拍照, 但是如果你去多刷刷牛客网和leetcode的算法题没啥问题的 第一题比较简单花了30分钟做出

m0_67401606的博客 6295
上一篇: 从20k到50k再到2k,聊聊我在互联网干前端的这几年
下一篇: 前端开发工程师的薪资,主要取决于哪3个方面?
科叼
博客等级 码龄5年 984粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值