0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙2.0操作系统采用JavaScript作为开发语言 可看出JS生态圈未来形势很好

鸿蒙系统HarmonyOS 来源:网易 作者:公母育儿 2020-09-27 15:00 次阅读

华为发布鸿蒙2.0操作系统,该系统应用开发框架采用JavaScript作为开发语言,这对于前端开发工程师来说无疑是一个好消息!果然JavaScript才是全世界最好的语言……

JavaScript优势:

JS 生态圈目前来看形势很好,未来也是第一梯队。

JS 语言发展迅速,开源社区支持广泛,上手入门门槛远低于 Java 和 Native 语言。后期希望可以原生支持 TypeScript。

JS + WebAssembly 性能还是不错的,未来如果能加上 V8 速度会更快,不知道华为未来是否有能力自己做一个 VM 支持 WebAssembly。

Write once,run everywhere。目前来看是对 JS + WebAssembly 最好的描述。


鸿蒙的 JS 框架 ace_lite_jsfwk,从名字中可以看出来这是一个非常轻量级的框架,官方介绍说是“轻量级 JS 核心开发框架”。其核心代码只有 5 个 js 文件,大概也就 300-400 行代码吧。

runtime-coresrccoreindex.js

runtime-coresrcobserverobserver.js

runtime-coresrcobserversubject.js

runtime-coresrcobserverutils.js

runtime-coresrcprofilerindex.js

从名字可以看出来,这些代码实现了一个观察者模式。也就是说,它实现了一个非常轻量级的 MVVM 模式。通过使用和 vue2 相似的属性劫持技术实现了响应式系统。

在「鸿蒙 2.0」上,开发者只需编写形如 Vue 组件式的 JavaScript 业务逻辑,即可将其渲染为智能手表等嵌入式硬件上的 UI 界面。

这里将其分为自上而下的三个抽象层来介绍:

JS 框架层,可理解为一个大幅简化的 Vue 式 JavaScript 框架
JS 引擎与运行时层,可理解为一个大幅简化的 WebKit 式运行时
图形渲染层,可理解为一个大幅简化的 Skia 式图形绘制库

这三个抽象层,整体构成了一套面向嵌入式硬件的 GUI 技术栈。不同于许多高呼「不明觉厉 / 深不可测」的舆论,个人认为至少对于 GUI 部分,国内凡是接触过目前主流 Hybrid 式跨端方案或 JS 运行时研发的一线开发者,都很容易从源码出发来理解它。

对于「鸿蒙 2.0」在 GUI 部分的亮点,个人能想到这些:

  1. 确实有务实(但和当年 PPT 介绍完全两码事)的代码。
  2. 不是 WebView 套壳,布局和绘制是自己做的。
  3. 无需超过大学本科水平的计算机知识,也能顺利阅读理解。

而至于明显(不只是某几行代码写得丑)的缺失或问题,目前看来则有这么一些:

JS 框架层

  • 没有基本的组件间通信(如 props / emit 等)能力
  • 没有基本的自定义组件能力
  • 没有除基础依赖追踪以外的状态管理能力

JS 引擎与运行时层

  • 标准支持过低,无法运行 Vue 3.0 这类需 Proxy 的下一代前端框架
  • 性能水平弱,难以支持中大型 JS 应用
  • 没有开放 DOM 式的对象模型 API,不利于上层抹平差异

图形渲染层

  • 没有实质可用的 GPU 加速
  • 没有 SVG 和富文本等高级渲染能力
  • Canvas 完成度低,缺状态栈和很多 API

对于所有熟悉 JavaScript 的前端开发者们,JavaScript 被鸿蒙这样的「国之重器」采用,可以大大增强前端的道路自信、理论自信、文化自信和技术栈自信。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    215

    文章

    33619

    浏览量

    247156
  • 操作系统
    +关注

    关注

    37

    文章

    6284

    浏览量

    121882
  • 鸿蒙2.0
    +关注

    关注

    2

    文章

    60

    浏览量

    6866
收藏 人收藏

    评论

    相关推荐

    打造开源鸿蒙生态,国产操作系统迎“转折之战”?| 深圳卫视独家对话深开鸿王成录

    作为正在崛起的国产操作系统,开源鸿蒙到底有哪些优势?深圳卫视《大湾区会客厅》主持人何嘉琪独家对话深开鸿CEO王成录博士。探究为什么发展自主操作系统势在必行?开源
    的头像 发表于 04-20 08:32 72次阅读
    打造开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>生态</b>,国产<b class='flag-5'>操作系统</b>迎“转折之战”?| 深圳卫视独家对话深开鸿王成录

    华为鸿蒙操作系统发展战略:2024年完成安卓应用全面迁移

    徐直军指出,2024 年,鸿蒙操作系统的主要任务是打造原生应用生态。目前,鸿蒙操作系统已基本适配各种终端设备,但在应用
    的头像 发表于 04-18 15:38 166次阅读

    纯血鸿蒙系统,拿什么与安卓、iOS比?

    、数码、车载等等一系列生态闭环。 而华为鸿蒙是全栈自研底座,从AI大模型、AI框架、安全隐私、集成开发环境、设计系统、编程框体、编译器、编程语言和
    发表于 02-21 21:04

    未来从事鸿蒙开发?是否会有前景?

    鸿蒙未来发展肯定很有前景的,鸿蒙作为新出的国产操作系统。它不仅只是手机操作系统
    发表于 02-19 21:31

    现在学鸿蒙有前途吗?能找到工作?

    人群还有: 0基础、初级鸿蒙生态、应用开发人员 面临职业困境的前端、Java开发人员 想晋升的Android或iOS开发人员 而且
    发表于 02-18 21:32

    鸿蒙语言ArkTS(更好的生产力与性能)

    ArkTS是鸿蒙生态的应用开发语言 ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式
    发表于 02-17 15:56

    鸿蒙系统优缺点,能否作为开发者选择

    者。 鸿蒙的技术并不完全成熟,未来挑战难度大。与Android、ios等头部操作系统形成对立,竞争巨大。 鸿蒙的优点: 国家主推系统,必定会
    发表于 02-16 21:00

    鸿蒙不再兼容安卓,那么鸿蒙开发者是否会大增?

    8 亿。 而鸿蒙开发不止应用层,它是以1+8+N的生态圈。涵盖了车载、数码、智能家居、家电等一系列生态开发,这么大的市场需求,必定会
    发表于 01-31 22:17

    鸿蒙生态应用开发白皮书2.0 pdf 免费下载

    鸿蒙生态应用开发白皮书》全面阐释了鸿蒙生态下应用开发核心理念、关键能力以及创新体验,旨在帮助
    发表于 01-25 16:42

    诚迈科技应邀参加鸿蒙生态千帆启航仪式

    生态的新里程,共同开启新流量、新商机、新未来。 HarmonyOS作为一款面向全场景的操作系统,从2019年诞生起就秉持开放创新的精神,不断汇聚千行百业的力量,引领着
    的头像 发表于 01-22 10:02 391次阅读
    诚迈科技应邀参加<b class='flag-5'>鸿蒙</b><b class='flag-5'>生态</b>千帆启航仪式

    很多人质疑鸿蒙,那它算不算国产操作系统

    鸿蒙比安卓更加安全。鸿蒙采用了一种名为“微内核”的操作系统内核架构,该架构的安全性和稳定性都非常高。 4、开发者工具
    发表于 01-17 22:04

    又一电商巨头拥抱鸿蒙生态

    鸿蒙生态未来可期近日,鸿蒙生态圈又发布一个令人振奋的消息:京东正式适配原生鸿蒙
    的头像 发表于 01-17 08:32 396次阅读
    又一电商巨头拥抱<b class='flag-5'>鸿蒙</b><b class='flag-5'>生态</b>

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    “纯血”鸿蒙的出现,是操作系统的新篇章。23年秋季发布会宣布了,鸿蒙4.0后不再兼容Android版本,也就意味着鸿蒙采用自己独立的
    发表于 01-16 22:13

    鸿蒙 OS 应用开发初体验

    kotlin 语言了,编程语言变成了类 JavaScript 的前端语言,这意味着我们需要适应用前端的思想去开发
    发表于 11-02 19:38

    鸿蒙操作系统的前世今生

    能力整合,可以实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。 对应用开发者而言, 鸿蒙操作系统采用了多种分布式技术,使应用程序的
    发表于 10-08 19:55