鸿蒙是Android套壳么,当然不是,ArkTS还是很有意思的

news2025/1/24 22:54:44

前段时间看新闻,说是明年开始鸿蒙就要和andorid脱钩了。

大概就是这样的:

看到这个,我兴趣就来了。我有个华为P30,升级过鸿蒙系统,用起来也没啥变化,兼容andorid应用,然后就是开机去掉了Powered by Android。 

华为这个鸿蒙,看网上说有很多人质疑是andorid套壳。说实在的,那种买华为手机就是爱国,要道德绑架我是非常厌倦的。但是华为开发鸿蒙系统这个,说是套壳那确实不可能。华为的研发和产品能力在那,那是做事非常严谨的。华为的法务部门又不是摆设不懂规矩,敢去掉Powered by Android,看起来就是三个单词,但是意义真的很大。

反正这个坎想迈过去是真不容易。如果一直走兼容,那大概率就是一直只能用andorid的apk。andorid SDK升级那鸿蒙还得再去兼容。

想来如果明年真的脱钩,那华为得是说服了不少大厂去适配啊。。。。完全脱钩的时间就得是其他大厂发布应用新的时间节点才行。

捣鼓一个新系统生态确实太难了,总不能让所有公司都为爱发电,在没有任何收益情况下,去给华为鸿蒙做适配,有现成的apk可以兼容,肯定没必要去出这个成本。

本来不打算再玩新语言了,想着把自己会的多研究深一点。学一门新语言不难,但是这个语言的库和生态,使用的技巧和熟练度,真的是需要不少时间和项目才能练上去。

看鸿蒙要脱钩,国产系统要起飞,我就又来了兴趣,决定进去蹚一蹚。

鸿蒙这个IDE叫DevEco Studio,安装是比较容易的,各种检测环境都是自动化,比如nodejs版本限制在16以内,都是点击界面自动化下载安装。华为这应该就是用的npm那一套,名叫ohpm的做的包管理,而且国内的东西啊,这个下载速度没得说,也不用费劲搞各种代理链接啥的。安装过程甚至官网的文档都不用看了,界面点点就行,更不需要去看网上各种三脚猫安装教程。

DevEco Studio,进入就是这个样子。。。嗯,不是左上角那个图标的话,还以为是IDEA。Andorid Studio也是基于IDEA改的,有现成的工具链可以用,也没啥毛病。

不得不赞一个,华为的文档是写的真的好,各种编译问题时候,IDE弹的官网链接进去就看得很详细。

大学毕业实习我在软通动力,去华为的文档部门打过酱油,他们写文档真魔怔了,几个211、985天天讨论语言表述是否合理,语句结构是否符合规范,文档标点符号、换行、格式是否正确。。。然后还有一个部门负责审查写的文档内容对不对。。。不知道他们开发文档是不是也这么玩的,但是想来这个文档肯定是质量是很好的。

比如vue的官网文档,写的这样,这种语句里面带几个...我觉得这么玩的应该也就我等屌丝才对。

华为的文档连同技术层面这种,也得用通俗的语句解释下的。

鸿蒙的开发SDK有2.x和3.x两个大版本。从2.x到3.x是一个巨大的过渡,因为出来了ArkTs,前面的都扔了。如果是之前开发的大项目,那就真巨坑了。

2.x的SDK开发有两种语言可选:

第一种就是java。这玩意工程接收这样的,就是java代码+xml界面。这不单纯是像了,就好像是把andorid的工程一些关键字换了个名字而已。

然后2.x的模式还有一种是JS,工程就是这样的。java+html界面那一套,感觉就类似andorid上的webview开发思路吧。

或许是2.x的一切显得太没有创新,又或者当时是KPI卡得必须要立刻发版本,反正到了3.x来了个巨大的跳跃,语言只能选ArkTS了。

感觉上应该是从新的SDK开始扔掉了之前的一切,不用兼容之前的开发模式,轻装上阵。这种其实挺好的,这种级别的大项目,随着时间推移,越来越臃肿,能重构精简当然最好,不然慢慢的大多数只能是堆屎山,比如看到这样的吐槽:

ArkTS其实挺好的,思路也不错,没有为了创新而创新,一切以实用为主,就是TypeScript超集。

鸿蒙的这一套开发,整体都是围绕大家熟悉的生态环境在做扩展。

ArkTS实现了一套语言同时描述界面和逻辑。

这个模拟器镂空的边框悬浮效果做的挺漂亮,就是你想拖动的时候那是真的不好拖动啊。。右边的工具栏不能拖动的,他这个本质是一个窗口,你得拖动上面的标题栏,然后这个标题栏是给美化没了的,想把鼠标精确移动到上面变成移动还是有些难受的。

这个struct,看起来就好像下面这个VUE CLI的结构:

build函数就像vue的template,就是这种嵌套模式不像vue的setup语法糖那么舒服。这种我喜欢顶头写,不喜欢写的时候一眼望不到头,后面有个花括号这种被一直包在里面的感觉。

而且这种代码方式的嵌套UI写起来真的需要代码质量管理,看人了。对于华为这种体系的,内部都是有编码规范的,写代码都是高压状态,写个测试都能感觉是在休息了。。。什么圈复杂度、函数行数要求、代码重复率。。。这个ArkTS肯定他们也搞了一套编码要求的。对于小公司来说,万一遇到有些兄弟不喜欢抽函数,抽组件的,非要一个函数玩到底,那这个嵌套后面真的是呵呵呵。。。

ArkTS感觉就是融合和现代的前端开发模式和后端,整体还是挺有意思的,值得大家去玩玩。

有个国产的系统真的是个不容易的事情,希望鸿蒙可以越来越好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1279268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多表查询与子查询

问题的引出: 这里有一个留言板,其中一条评论包含了商品名称good(商品表),留言content(留言表)。 那么请问如将这个评论从数据库查询出来?这就涉及到了多表查询。 多表查询是指基于两个和两个以上的表查询.…

mediapipe+opencv实现保存图像中的人脸,抹去其他信息

mediapipeopencv MediaPipe本身不提供图像处理功能,它主要用于检测和跟踪人脸、手势、姿势等。如果您想要从图像中仅提取人脸主要信息并去除其他信息. # codingutf-8 """project: teatAuthor:念卿 刘file: test.pydate&…

【KPDK】概述

DPDK的主要目标是为数据平面应用程序中的快速数据包处理提供一个简单、完整的框架。用户可以使用代码来理解所采用的一些技术,构建原型或添加自己的协议栈。可提供使用DPDK的替代生态系统选项。 DPDK框架通过创建环境抽象层(EAL)为特定环境创…

LeetCode Hot100 169.多数元素

题目: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 方法一:哈希表 ​ class Solution {public int…

记录一次vscode markdown的图片路径相关插件学习配置过程

插件及说明查找过程 csdn搜索markdown图片路径,找到关于这一款插件的回答。打开vscode拓展搜索Paste Image这款插件,看到下载量挺高的,应该不赖。 点击仓库,进入该插件开源的github仓库,查看README文件阅读说明. 淡然在Vscode 插件项目下的细…

C语言之结构体

一.前言引入. 我们知道在C语言中有内置类型,如:整型,浮点型等。但是只有这些内置类 型还是不够的,假设我想描述学⽣,描述⼀本书,这时单⼀的内置类型是不⾏的。描述⼀个学⽣需要名字、年龄、学号、⾝⾼、体…

vue $nextTick 样式私有化

$nextTick 先updated中更新,再nextTick 状态更改做什么事情: updated $nextTick 同步执行完之后,把当前放到队列中 $forceUpdate->sub.update() // 把更新操作放在队列里面 队列机制 基于发布订阅模式,callbacks队列 更新完毕…

Java类的初始化顺序

类初始化顺序遵循以下三个原则(优先级依次递减) 1、静态对象(变量)优先于非静态对象(变量)初始化,其中静态对象(变量)只初始化一次,而非静态对象&…

揭秘原型链:探索 JavaScript 面向对象编程的核心(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

[UnityWebGL]修改webgl启动模板

首先了解什么是WEBGGL启动模板,如下图: 其次,启动模板在哪里设置,如下图: 最后,怎么改启动模板里面的内容(提供最简单的方式,直接改官方的): 1、首先在Asset…

Spring Cloud Gateway与spring-cloud-circuitbreaker集成与理解

官方文档 spring-cloud-gateway文档地址: https://spring.io/projects/spring-cloud-gateway#overview spring-cloud-circuitbreaker文档地址: https://spring.io/projects/spring-cloud-circuitbreaker 两者关系 首先spring-cloud-gateway集成了断路…

[c++]——string类____详细初步了解string类的运用

在成为大人的路上喘口气. 目录 🎓标准库类型string 🎓定义和初始化string对象 💻string类对象的常见构造 💻string类对象的不常见构造 💻读写string对象 🎓 string类对象的修改操作 &#x1f4…

Opencv制作电子签名(涉及知识点:像素过滤,图片通用resize函数,像素大于某个阈值则赋值为其它的像素值)

import cv2def resize_by_ratio(image, widthNone, heightNone, intercv2.INTER_AREA):img_new_size None(h, w) image.shape[:2] # 获得高度和宽度if width is None and height is None: # 如果输入的宽度和高度都为空return image # 直接返回原图if width is None:h_ratio …

git-6

1.如何用project管理issue? 用project看板管理issue 有五种类型:None、Basic kanban、Automated kanban、Automated kanban with reviews、Bug triage 首先选用Bug triage 利用看板就会很直观,很便捷,Issues也支持,有…

OpenTelemetry系列 - 第4篇 OpenTelemetry K8S生态

目录 一、【Helm】添加OTel Helm repo二、【Helm Chart】OTel Collector2.1 daemonset2.2 deloyment 三、【K8S Operator】OTel Operator3.1 安装OTel Operator3.2 部署OpenTelemetryCollector3.2.1 Deloyment Mode3.2.2 DeamonSet Mode3.2.3 StatefulSetMode3.2.4 Sidecar Mod…

思维模型 莫扎特效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。音乐激发无限潜能。 1 莫扎特效应的应用 1.1 莫扎特效应在教育领域的应用-Baby Einstein”公司 在美国,有一家名为“Baby Einstein”的公司,该公司生产和销售专门为…

SQL自学通之简介

目录 一、SQL 简史 二、数据库简史 1、Dr. Codds 对关系型数据库系统的十二条规则 2、设计数据库的结构 3、数据库的前景 4、对于什么是客户机/服务器型电脑系统 BernardH.Boar的定义如下: 5、交互式语言 6、易于实现 7、SQL 总览 三、流行的 SQL 开发工具…

前端小记--2.element-ui中级联选择器cascader如何默认展开下拉框

最近做项目时,遇到一个需求:在一个排班表中,展示人员的值班情况,点击单元格,弹出下拉框,修改人员排班信息。 由于下拉框选择内容是树状结构,这里使用了element-ui中级联组件cascader&#xff0c…

一起学docker系列之十七Docker Compose 与手动操作的比较与优势分析

目录 1 前言2 不使用 Docker Compose2.1 启动 MySQL 容器2.2 启动 Redis 容器2.3 启动微服务容器 3 使用 Docker Compose4 使用 Docker Compose 的优势5 结语参考地址 1 前言 在当今容器化应用的开发与部署中,容器编排工具的选择对于简化流程、提高效率至关重要。本…

6-69.鸭子也是鸟

按要求完成下面的程序: 1、定义一个Bird类,包含一个void类型的无参的speak方法,输出“Jiu-Jiu-Jiu”。 2、定义一个Duck类,公有继承自Bird类,其成员包括: (1)私有string类型的成员na…