前端新机遇!为什么我建议学习鸿蒙?

简介: 【10月更文挑战第4天】前端新机遇!为什么我建议学习鸿蒙?

为什么要学习鸿蒙开发

大家好,我是石小石!最近一直在寻找新的工作机遇,但是行情确实不好,几乎没人理我。机缘之下,我搜了一下鸿蒙开发,看起来还不错!

于是,我深入的探索、学习了一下鸿蒙,得出一个重要结论:

前端非常适合学习鸿蒙,而且越早越好

首先,我并不是贩卖焦虑,我并不是想表达前端已死、前端开始没落之类的意思!我一直认为,前端正在茁壮成长,前端永远不会被淘汰的!

之所以说前端适合或者应该学习鸿蒙,我的看法如下:

  • 鸿蒙方舟开发语言ArkTs保持TypeScript(简称TS)基本语法风格的基础上,对前端来说,接入难度低。
  • 鸿蒙ArkTs融合了很多优秀的语言,学习鸿蒙可以大幅度提升前端的代码水平。
  • 前端核心竞争力弱于后端,学习鸿蒙可以提升我们的地位和价值。
  • 随着华为生态的壮大,鸿蒙开发将是未来一大热点,目前鸿蒙开发者很好,现在学习,以后找工作什么的都具备优势。

鸿蒙开发简介

作为一门新语言,大家一定关注的是学习成本和产出性价比。那么很高兴的告诉前端同学,咱们学习嘎嘎快!

鸿蒙开发基于方舟开发语言ArkTs,只要我们开发一套代码,就可以部署手机、平板、TV、智慧屏(含车载)和穿戴设备,这一点,还是有一定优势的。

其次,鸿蒙的开发文档也是非常详细全面,完全满足我们的开发需求,大家感受下:

再者,鸿蒙开发生态也很完善,HarmonyOS SDK几乎提供了我们所能涉及的所有开发工具

前端学习鸿蒙开发的优势

之所以说前端学习鸿蒙开发有一定优势,主要基于方舟开发语言ArkTs本身。

基础语法接近TypeScript

首先,ArkTs保持了TypeScript的基本语法风格,前端看起来会比较熟悉

// 导入模块
import {
    collections } from '@kit.ArkTS';

// 声明一个字符串变量
let greeting: string = "Hello, ArkTS";

// 声明一个数字变量
let age: number = 25;

// 声明一个数组
let numbers: number[] = [1, 2, 3, 4, 5];

// 声明一个对象
let person: {
   
    name: string;
    age: number;
    isDeveloper: boolean;
} = {
   
    name: "John Doe",
    age: 25,
    isDeveloper: true
};

// 声明一个函数
function greet(name: string): string {
   
    return `Hello, ${
     name}`;
}

// 其他语法
let concatArray : collections.ConcatArray<string> = new collections.Array<string>('a', 'b', 'c');
let joinedString = concatArray.join('-'); // 返回 "a-b-c"

当然,ArkTs也具备java中装饰器的概念,对后端来说,也是比较亲切地

// 构造一个用户自定义的Sendable数据结构
@Sendable
class CustomData implements lang.ISendable {
   
    data1: number;
    data2: string;
    constructor(data1: number, data2: string) {
   
        this.data1 = data1;
        this.data2 = data2;
    }
}

UI框架可以完全用前端三件套开发

鸿蒙也是有一套UI框架的,叫做ArkUI

简单来说,ArkUI是基于ArkTS的声明式的UI开发范式, 是ArkTS语言的一个具体应用或扩展,用于构建用户界面。ArkTs和ArkUI前端同学可以简单理解为js和element UI的关系。

借助ArkUI,我们可以直接写出类似小程序、vue的代码

一个简化的项目结构

// 目录结构
app.js                              用于全局JavaScript逻辑和应用生命周期管理
├── pages                           pages目录用于存放所有组件页面
│   ├── index
│   │   ├── index.html              描述当前页面的文件布局结构
│   │   ├── index.css               描述页面样式
│   │   └── index.js                处理页面间的交互

app.js是应用的一些声明周期

export default {
   
    onCreate() {
   
        console.info('Application onCreate');
    },
    onDestroy() {
   
        console.info('Application onDestroy');
    }
};

html是基于ArkUI组件的布局

<div class="container">
    <text class="title">你好!鸿蒙!</text>
    <text>跳转</text>
</div>

index.css 和前端css没有区别

index.js是页面的一些交互逻辑,像极了vue

export default {
   
    data: {
   
        title: ''
    },
    onInit() {
   
        this.title = this.$t('strings.world');
    }
}

注:对于一些大型的app开发,官方不建议使用这种类js的开发范式,要使用ArkTs声明开发范式

综上,完全可以证明前端确实适合学习鸿蒙开发,简单易上手!

最佳实践

这篇文章介绍了前端为什么需要学习鸿蒙,及学习鸿蒙开发的优势,算是开了个头。要想入门鸿蒙开发,大家可以去官网学习:https://developer.huawei.com/consumer/cn/arkui

也希望大家关注本专栏,本专栏将持续更新鸿蒙开发,帮助大家快速入门开发!

专栏地址:https://juejin.cn/column/7392535991972266035

相关文章
|
1天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1506 1
|
28天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
4天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
452 17
|
1天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
176 0
|
7天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
20天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
8天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
392 3
|
6天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
300 2
|
22天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
24天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2603 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析