当前位置:   article > 正文

鸿蒙应用开发,比 React 体验更好,2024年最新高级HarmonyOS鸿蒙开发简历

鸿蒙开发简历

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img

img
img
htt

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
img

正文

并且当我们在思考如何复用原子化 CSS 的时候,其实就表示,开发者确实在期待一套完整的,全新的 UI 布局表述方式。

这就是鸿蒙应用开发中, ArkUI 的布局思路。

在设计上,arkUI 充分吸收了 HTML 等客户端方案发展这么多年的经验教训,在设计上完全摒弃了文档流的概念,转而强调容器的概念。为了应对不同的场景,arkUI 目前已经支持了 26 种容器组件。因为其明确的语义化,学习成本也非常低,例如如下容器组件,我们一看就能知道这是用来干嘛的

Row
Column
Flex
Grid
List
Scroll
Swiper
Tabs
Refresh

并且布局方式到底是什么情况,由容器组件说了算,而不是子元素的类型说了算。

// 表示从左到右布局
Row() {
Text(‘hello world’)
Text(‘hello world’)
Text(‘hello world’)
}

// 表示从上到下布局
Column() {
Text(‘hello world’)
Text(‘hello world’)
Text(‘hello world’)
}

除了在语义化上非常重视之外,arkUI 并不支持结构与样式分离,而是把设置样式的行为当成一个 set 方法,支持一种链式调用的方式来做到样式与结构合并的最终结果

Text(‘width: 10px’)
.fontSize(‘12fp’)
.color(‘#333’)
.border({
width: ‘10px’,
color: Color.Red,
style: BorderStyle.Dotted,
radius: 15
})

这其实是原子化 css 的进化版。如果你觉得原子化 CSS 真香,那么这种方式的好处你也一定能够快速理解到。

而且他比原子化 CSS 学习和记忆成本更低,更灵活,可以说是原子化 CSS 的理想化实现。

ArkUI 在设计上,还引入了一个风险较大的设定:样式后置。

这个最开始是在 Swift UI 中出现,可能许多前端开发都没见过

Column() {
Text(‘hello text’)
.fontSize(‘12fp’)
.fontColor(Color.Black)
.fontStyle(FontStyle.Italic)
}
.width(20)
.height(20)
.border({
width: 10,
color: Color.Blue
})

之所以说他风大,是因为这种书写方式大家都没见过,可能会容易给人的第一感觉就是:什么玩意儿 …

哪怕是在 Flutter 的设计中,也是可前置可后置,然后不管是文档案例,还是大家在开发中,其实也是让样式前置

// 伪代码
Widget build(BuildContext context) {
return new Container(
width: 20,
height: 20,

child: new Text()
)
}

我刚开始在学习 Swift 使用的时候也会担心这种样式后置的方式会让样式堆在一起比较难受,但是用了一段时间之后发现,真香!

我们来看一下这样一段代码。

Column() {
Text(最新值:${this.counter})
Column().block()
Column().block()
Column().block()
.onClick(() => {
this.counter ++
})
}
.margin(10)
.border({width: 4})
.width(‘50%’)
.height(‘400lpx’)
.justifyContent(FlexAlign.SpaceEvenly)

.block 是样式的复用。

@Extend(Column) function block() {
.width(40)
.height(40)
.backgroundColor(Color.Orange)
.border({
width: 2,
color: Color.Red
})
}

之所以我觉得真香的原因是因为我们在开发过程中,其实子元素的样式重复非常多,因此我们会考虑将子元素的样式封装起来,用一些方式来复用它

这样,当我们将样式后置之后,虽然我们依然对父元素添加了一串样式,但是前面一部分的代码结构就依然非常简洁。

以前在刚开始接触学习 Flutter 的时候,也觉得 Flutter 的 UI 表现形式太糟糕太复杂了,为什么不学着 JSX 那样搞简单一点,并且其他人的这个类似想法还在 github 上有非常激烈的探讨。

图片

直到后来我才理解到,这种注重语义化和容器的 UI 表达方式,可能比 JSX 更好,这才是最佳实践。

除此之外,这种声明式语法的编译速度会比 JSX 更快,性能上会更好

总结

鸿蒙应用开发的 ArkUI,和基于 HTML + CSS 的 React 相比,能够更方便的使用语义化,提倡样式与结构合并,并在 UI 设计上,简化了视觉格式化模型,注重容器特性,学习理解成本得到了极大的降低,并且基于 set 的思维方式链式调用样式,大胆的将样式后置,在我个人的主观感受里,这是一种比 React,比 Flutter 更舒适的开发体验

大多数前端开发多半都有一个坏习惯,写点代码就想看看布局现在已经长什么样了,这样其实挺影响开发效率的。

最后,为了能够让大家跟上互联网时代的技术迭代,赶上互联网开发人员寒冬期间一波红利,在这里跟大家分享一下我自己近期学习心得以及参考网上资料整理出的一份最新版的鸿蒙学习提升资料,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-FTncJJap-1713220457017)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/688010
推荐阅读
相关标签
  

闽ICP备14008679号