JavaScript、Kotlin、Flutter可以开发鸿蒙APP吗?

自从去年华为宣布推出「鸿蒙Next」版本开始,标志着其操作系统的全面革新。鸿蒙Next将摒弃所有基于AOSP的代码,与Android系统彻底分离,实现完全自主的研发路径。通过精简约40%的冗余代码,鸿蒙Next致力于构建一个更高效、更流畅的系统环境。

当然对于开发者来说,纯血鸿蒙的推出意味着又有新的就业岗位了,也意味着卷王们又有了新的内卷赛道!相信正在看这篇文章的你,已经在卷了。

卷王内卷的第一步:学习ArkTS 语言

ArkTS 是一种基于 TypeScript 的编程语言,专门为鸿蒙应用开发而设计。它继承了 TypeScript 的静态类型检查、类、接口、模块等特性,并在此基础上进行了针对鸿蒙系统的优化和定制。官方宣传的ArkTS 的主要优点包括:

1. 静态类型检查:在编译时进行类型检查,可以在代码运行前发现和修复错误。
2. 更好的 IDE 支持:由于有了类型信息,IDE 可以提供更好的自动完成、导航和重构功能。
3. 更易于维护和理解:类型注解和编译时检查使得代码更易于理解和维护。

ArkTS 还提供了简洁自然的声明式语法、组件化机制、数据-UI自动关联等能力,实现了贴近自然语言的编程方式,为开发者带来易学、易懂、极简开发的优质体验。此外,ArkCompiler 运行时在 HarmonyOS 上提供了 Worker API 支持并发编程,优化了并发运行实例的启动性能和内存开销。

对于已经熟悉 TypeScript的开发者来说,学习 ArkTS 会非常容易,因为很多基础概念和语法是相同的。但是,ArkTS 可能包含一些特定的概念、工具和最佳实践,这些是 TypeScript 标准库之外的,因此需要你学习这些新的内容。

不过,总的来说你不需要“重新学习” TypeScript,但是需要了解和掌握 ArkTS 特有的部分。这通常涉及到阅读文档、查看示例代码以及实践使用 ArkTS 来开发应用。

不学习ArkTS语言,可以进行鸿蒙App的开发吗?

作为反内卷达人,作者今天想分享的是:不学习ArkTS语言,我们应该怎么开发鸿蒙app!

如果选择不学习ArkTS语言,目前可以考虑以下方案:

Java/Kotlin:鸿蒙操作系统支持使用Java和Kotlin进行应用开发,这两种语言在Android开发中广泛使用,如果您已经熟悉它们,可以继续使用这些语言开发鸿蒙应用。但是,由于HarmonyOS是一个独立的操作系统,它可能有一些独特的开发要求。因此,最终开发的效果还是要看HarmonyOS的支持情况和开发动态。

JavaScript/TypeScript:对于Web开发者或那些熟悉前端开发的人来说,可以使用JavaScript或TypeScript来开发鸿蒙应用。鸿蒙支持基于Web的技术栈,使得开发者可以使用熟悉的Web开发工具和框架。采用TypeScript作为开发语言,使用小程序替代原生App在鸿蒙上高度可行。

第三方工具和插件:一些第三方工具和插件可能支持在不学习特定语言的情况下开发鸿蒙应用。比如:在FinClip 提供的IDE中就有针对鸿蒙开发的插件和扩展,在FinClip Stiodu中就支持小程序一键转App的功能,帮助开发者在不学习ArkTS的情况下快速开发出纯血鸿蒙app。

用跨平台框架:目前React Native或Flutter这些跨平台开发框架允许开发者使用JavaScript、Dart等语言来开发可以在多个平台上运行的应用,包括鸿蒙操作系统。不过使用跨平台框架也还是有一些额外的,适配问题需要解决,比如:React Native 需要为鸿蒙平台新增 OpenHarmony Renderer,将前端标签转化为 ArkUI 控件进行渲染;而Flutter应用如果使用了通过channel调用原生功能的三方库,需要库的开发者进行鸿蒙兼容工作。这些都是后续潜在的工作量。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

混合动力电动汽车介绍(二)

接续前一章内容,本篇文章介绍混合动力汽车串联、并联和混联的系统组成和工作原理。 一、串联混合动力电动汽车的系统组成和工作原理 上图为串联混合动力电动汽车的结构简图。汽车由电动机-发电机驱动行驶,电机控制器的动力来自油箱-发动机-发电机-发电机…

Python画图(多图展示在一个平面)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

上位机图像处理和嵌入式模块部署(f407 mcu vs f103)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于一部分嵌入式场景来说,f103其实已经足够了,特别是要求不高的低速场合。如果开发的代码比较多,还可以选用更…

Java面试八股之线程池中submit和execute方法的区别

线程池中submit和execute方法的区别 接口和返回值类型: execute()方法属于Executor接口,它接收一个实现了Runnable接口的任务,并不返回任何结果。它的主要目的是异步执行任务,不关心任务的执行结果。 submit()方法则是ExecutorService接口…

Vue渲染函数与JSX指南

title: Vue渲染函数与JSX指南 date: 2024/6/3 下午6:43:53 updated: 2024/6/3 下午6:43:53 categories: 前端开发 tags:Vue渲染JSX基础性能优化组件对比React JSX大项目测试策略 第1章:Vue.js入门 Vue.js的历史和背景 Vue.js是一个用于构建用户界面的JavaScript框…

模拟堆-java

模拟堆也是对堆的一次深入理解和一些其它操作,可以了解一下。 文章目录 前言 一、模拟堆 二、算法思路 1.结点上移 2.结点下移 3.插入一个数 4.输出当前集合的最小值 5.删除当前集合的最小值(数据保证此时的最小值唯一) 6.删除第k个插入的数 …

初识STM32单片机-ADC和DMA

初识STM32单片机-ADC和DMA 一、ADC(模拟数字转换器)简介二、ADC基本结构三、DMA(直接存储器读取)简介四、DMA框图和基本结构五、DMA应用实例5.1 数据转运DMA5.2 ADC扫描DMA 六、程序编码6.1 ADC单通道-电位器6.2 ADC多通道-电位器和光敏\热敏\反射红外传感器6.3 DMA数据转运6.4…

代码随想录算法训练Day28|LeetCode93-复原IP地址、LeetCode78-子集问题、LeetCode90-子集2

复原IP地址 题目描述 力扣93-复原IP地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 …

贝锐花生壳DDNS:远程访问数据库,仅需简单3步

在当今数字化时代,数据的远程访问和管理变得至关重要。无论是企业还是个人开发者,都需要一种简单、安全的方式来远程访问和管理本地部署的数据库,如MySQL、PostgreSQL、MongoDB等。贝锐花生壳DDNS服务提供了一个完美的解决方案,通…

【YOLOv10改进[Backbone]】图像修复网络AirNet助力YOLOv10目标检测效果 + 含全部代码和详细修改方式 + 手撕结构图 + 全网首发

本文带来的是图像复原网络AirNet,它由基于对比度的退化编码器( CBDE )和退化引导的恢复网络( DGRN )两个模块组成。可以在一个网络中恢复各种退化图像。AirNet不受损坏类型和级别的先验限制,仅使用观察到的损坏图像进行推理。本文中将使用图像修复网络Ai…

SCARA机器人中旋转花键的维护和保养方法!

作为精密传动元件的一种,旋转花键在工作过程中承受了较大的负荷。在自动化设备上运用广泛,如:水平多关节机械手臂(SCARA)、产业用机器人、自动装载机、雷射加工机、搬运装置、机械加工中心的ATC装置等,最适…

R语言安装caret包报错

R语言安装caret包报错:Error: package or namespace load failed for ‘caret’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck vI[[i]]): 不存在叫‘recipes’这个名字的程辑包 https://rbasics.org/packages/caret-package-in-r/ R版本的问题&…

什么牌子的洗地机清洁效果强?618热门品牌推荐与详解

近年来,洗地机的销量急剧增长,已成为清洁类家电中销量第二大的产品。其更新迭代速度也非常快,功能和技术层出不穷,许多消费者不知道如何选择合适的型号。为了帮助大家以最少的花费买到清洁力强的洗地机,笔者特意总结了…

输入法不显示选字框

期望效果: 当前效果: 啥也没干突然就这样了 原因:需要以兼容性运行微软输入法 一、进入输入法设置 右键输入法小图标 选择设置 二、进入常规设置 三、开启兼容性运行 完!

跨越百亿营收的今世缘,全国化进程仍挑战重重?

当前,白酒市场正在经历一场深度调整,随着存量时代到来,白酒品牌地位的更替和竞争格局的重构已经展开。这一背景下,今世缘等地方性酒企也正在凭借对区域市场的深耕,展现出较快的成长速度,并希望能借此占领市…

【JAVA |总结】JAVASE基础大总结(含思维导图)

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈 ✨✨ 帅哥美女们,我们共同加油!一起…

数据动态变化时实现多选及回显

<template><el-dialog title"设置权限" :visible.sync"showDialog" :close-on-click-modal"false" :append-to-body"true" width"800px"><div v-loading"loading"><el-radio-group v-model&…

TDMQ CKafka 版弹性存储能力重磅上线!

导语 自 2024年5月起&#xff0c;TDMQ CKafka 专业版支持弹性存储能力&#xff0c;这种产品形态下&#xff0c;存储可按需使用、按量付费&#xff0c;一方面降低消费即删除、存储使用波动大场景下的存储成本&#xff0c;另一方面存储空间理论上无穷大。 TDMQ CKafka 版产品能…

微服务网关Gateway(上)

大家好呀&#xff0c;我是苍何。 这年头&#xff0c;大家都在开始卷简历了&#xff0c;我也看了很多同学的简历&#xff0c;其中有一个同学的简历&#xff0c;我印象最为深刻&#xff0c;他的项目经历中&#xff0c;写了自定义 Gateway 过滤器实现统计接口调用耗时&#xff0c…

【Hive SQL 每日一题】统计各个商品今年销售额与去年销售额的增长率及排名变化

文章目录 测试数据需求说明需求实现分步解析 测试数据 -- 创建商品表 DROP TABLE IF EXISTS products; CREATE TABLE products (product_id INT,product_name STRING );INSERT INTO products VALUES (1, Product A), (2, Product B), (3, Product C), (4, Product D), (5, Pro…