HarmonyOS 开发 Java 与 ArkTS 如何抉择?

news2024/11/26 7:50:52

本文详细分析 Java 与 ArkTS 在 HarmonyOS 开发过程的区别,力求解答学员的一些困惑。

何为 HarmonyOS?

在讨论语言的差异时,我们先了解下什么是 HarmonyOS。华为官方是这么解释 HarmonyOS 的:


“鸿蒙操作系统”特指华为智能终端操作系统。“鸿蒙操作系统”具有以下三大特征:

一是一套操作系统可以满足大大小小设备需求,实现统一OS,弹性部署;

二是搭载该操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享;

三是面向开发者,实现一次开发,多端部署。

HarmonyOS 就是 “鸿蒙操作系统” 的英文名,也简称为 “鸿蒙 OS”,是基于 OpenHarmony、AOSP 等开源项目的商用版本。

这里需要注意:

  • 一是 HarmonyOS 不是开源项目,而是商用版本。

  • 二是 HarmonyOS 手机和平板之所以能运行 Android 程序,是因为 HarmonyOS 实现了现有 Android 生态应用(即 AOSP)的运行。

当然,HarmonyOS 的志愿远非如此,未来有可能会完全剥离掉 AOSP(详见 HarmonyOS Next 项目),当然,其结果必然是不再兼容 Android,无法在 HarmonyOS 上运行 Android 程序。

何时发布 HarmonyOS Next?

在今年的 HDC 2023 上,华为宣布了 HarmonyOS NEXT 开发者预览版。开发者如果想体验到 HarmonyOS NEXT,估计要等到明年的第一季度。

HarmonyOS NEXT 除了剥离掉 AOSP 之外,可能是完全只使用自家的 LiteOS 内核。

当然,决定一个系统是否成功,看得是这个系统的生态。如果一个操作系统,连几款像样的应用都没有,自然是不能算成功的。一个良性的操作系统生态,必然是一个广大软件厂商都愿意投入的生态。这也是为什么这么多年 Windows 在国内大行其道,主要还是因为那些国产的 Linux 系统始终没法提供完整的办公体验,比如像这些微信、QQ、Office 这类常用的软件,都没有很好在 Linux 系统上得到良好的支持。

从当前看,HarmonyOS 兼容 Android 就是一个非常成功的策略,即提升了自己的知名度,又能无缝接入 Android 生态。

HarmonyOS NEXT 何时能够成为主流?那就要看鸿蒙的生态何时能够真正的深入人心,看各大软件厂商投资鸿蒙的进度。不过好消息是,近日有消息称网易、美团等企业已经纷纷开辟了鸿蒙的开发岗位,同程旅行、宝宝巴士也宣布启动鸿蒙原生应用开发。相信未来鸿蒙的生态会越来越好。

HarmonyOS 编程语言的发展

前面铺垫了这么多,最终是为了回归到 “编程语言” 这个话题上来。HarmonyOS 的编程语言的发展,是随着 HarmonyOS 的发展而演进的。

早期的 HarmonyOS 支持的开发语言包括 JS(JavaScript)、C/C++。其中,JS 主要用于应用开发,而 C/C++ 主要用于设备开发。因为,早期的 HarmonyOS 只支持手表等智能穿戴设备,所以,用 JS 是能够胜任的。

从 HarmonyOS 2 开始,HarmonyOS 开始兼容 Android,引入了 Java 开发语言,能够支持手机、平板、智能穿戴、智慧屏、车机、PC、智能音箱、耳机、AR/VR 眼镜等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。此时的 HarmonyOS 才算真正意义上的 “鸿蒙操作系统”,因为已经具有 “鸿蒙操作系统” 的三大特征。

从 HarmonyOS 3 开始,引入了华为自研的 ArkTS 开发语言(前身是 eTS)、方舟编译器等。ArkTS 基于 TypeScript(简称 TS)语言扩展而来,是 TS 的超集。其最大的亮点是,ArkTS 在 TS 基础上主要扩展了声明式 UI 能力(即 ArkUI),让开发者以更简洁、更自然的方式开发高性能应用。

但比较遗憾的是,直到 HarmonyOS 4,ArkTS 开发语能实现的功能还是比较有限。甚至无法兑现 “鸿蒙操作系统” 三大特征的承诺。具体表现为

  • 不支持多设备,只支持 “Phone”;
  • 没有相机等功能的开发;
  • 没有平行视界;
  • 没有 AI 功能;
  • 没有流转、跨端迁移和多端协同;
  • 等等。

总之,ArkTS 现阶段上能实现的功能还不如 Java 强大。

HarmonyOS 编程语言的选择

在了解上述 HarmonyOS 编程语言的区别之后,相信各位对于 HarmonyOS 编程语言的选择有了自己的判断能力。学员可以综合考虑以下几个方面。

1、个人的偏好

开发者对于编程语言是有一定的偏好的,选 ArkTS 或是 Java 也是可以尊重个人的喜好。

如果你熟悉 Java 或者 Android 则可以选 Java;如果你熟悉 JS 或者 TS,就可以选 ArkTS。

2、职业的需要

如果想要实现一个强大的完整的 HarmonyOS 应用功能,那么现阶段只有 Java 能做到。ArkTS 还处在初级阶段。

如果你是纯粹想学习一门新语言,想不断跟随语言的演进,那么 ArkTS 也是不错的选择。从未来发展上看,HarmonyOS NEXT 有可能会将 ArkTS 作为主力开发语言。

3、我个人的选择

对于我个人而言,不做选择题,我全要,因为我个人职业决定了。Java 是我司以及大多数互联网公司的主力开发语言。无论是后台、前端、还是移动开发,Java 都能胜任大部分工作。所以学一门语言,能够解决公司项目里面大部分的问题,何乐而不为呢?

为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙 (Harmony OS)开发学习手册》

入门必看:https://qr21.cn/FV7h05

  1. 应用开发导读(ArkTS)
  2. 应用开发导读(Java)

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

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

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

相关文章

2023本人最全的私有笔记分享:pip的基本命令和使用

23年12月1日最后更新。 选择的命令pip。至少都是在python 3.6以上的。 更多内容见:链接:https://pan.baidu.com/s/19mS5N9XJ_AotF20kUwSA3w?pwdp5kx 提取码:p5kx 3. Pip命令相关: 1、注意:所有的pip在命令窗口执…

网络监控:网络故障告警通知

网络警报是向网络管理员发出的指示,表明设备已达到其设置的阈值或面临任何性能异常,网络警报可以通过不同的渠道通知网络管理员,例如电子邮件、短信、松弛、网络警报等。 通过网络监控警报,可以快速了解网络问题,通过…

如何通过内网穿透实现无公网IP也能远程访问内网的宝塔面板

文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔,内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具,适合新手,简单好用。当我们在家里/公司搭建了宝塔,没有公网IP,但是想要在外也可以访问内…

PD-1、BRAF和MEK联合抑制BRAFV600E结直肠癌癌症的2期试验

今天给同学们分享一篇文章“Combined PD-1, BRAF and MEK inhibition in BRAFV600E colorectal cancer: a phase 2 trial”,这篇文章发表在Nat Med期刊上,影响因子为82.9。 结果解读: MAPK抑制增强BRAF V600E CRC的免疫反应 作者之前在BRAF…

架构师-3.用户体系

系统提供了 2 种类型的用户,分别满足对应的管理后台、用户 App 场景。 1.AdminUser 管理员用户,前端访问 s-ui-admin-vue3管理后台,后端访问 /admin-api/** RESTful API 接口。 2.MemberUser 会员用户,前端访问 s-ui-user用户 App,后端访问 /app-api/** RESTful API 接口。…

元宇宙展厅:打破2D展示桎梏,构建沉浸式营销场景

随着智慧生活的理念出现,人们的生活方式以及社交方式都出现了很多变化,传统的实体展厅无法满足人们对于多元化、个性化的需求,3D元宇宙展厅结合VR、3D与AI技术,重新构建全新视觉效果,满足不同用户需求以及行业多样化沉…

客户端配置网络代理

Windows IDEA (2021.1.3)

看了无数文章,今天终于理解这些性能指标了!

如果要问性能测试里那种技术最难,相信很多人都会说出“性能分析”这四个字。确实是,性能测试的执行是比较简单的,难的是执行完成后,如何分析这些数据。如何从一大堆数据里分析哪些数据是优秀的,哪些数据是有问题的。这…

我有才打造知识付费小程序

一站式线上线下活动管理 为用户提供“精彩城市生活和人脉资源”。 在线活动提供创业、互联网、科技、投资、金融、教育、亲子、生活、聚会交友、医疗、设计、分享会、脱口秀、音乐演出等多种活动类型, 为职场白领提升技能、拓展人脉、聚会交友的首选平台。 为主办方提供“一…

JVM 运行时内存篇

面试题: 讲一下为什么JVM要分为堆、方法区等?原理是什么?(UC、智联) JVM的分区了解吗,内存溢出发生在哪个位置 (亚信、BOSS) 简述各个版本内存区域的变化&#xff1…

时间序列预测实战(二十五)PyTorch实现Seq2Seq进行多元和单元预测(附代码+数据集+完整解析)

一、本文介绍 本文给大家带来的时间序列模型是Seq2Seq,这个概念相信大家都不陌生了,网上的讲解已经满天飞了,但是本文给大家带来的是我在Seq2Seq思想上开发的一个模型和新的架构,架构前面的文章已经说过很多次了,其是…

宏工科技:电池装备高效交付“唯快不破”

面向TWh时代的锂电设备供应需求,锂电设备向标准化、模块化方向升级的趋势显现。 “近年来,宏工科技聚焦电池匀浆技术创新与规模化降本,通过电池匀浆工艺段的模块化探索与应用,从项目周期、成本、效率等多维度赋能电池前段制造高质…

微信小程序开发之原生小程序开发和uniapp开发的区别,两种开发方式语法上的区别

目前小程序开发有两种形式,分别是原生小程序开发和使用uniapp开发, uniapp和小程序原生开发都有各自的优缺点,开发者可以根据具体需求选择合适的开发方式。 一、两者区别如下: 编程语言:uniapp使用Vue语法编写应用程序…

高压放大器应用场景分析

高压放大器是一种重要的电子设备,其功能是将输入信号的电压幅度放大,以满足不同领域对于信号处理和放大的需求。下面安泰电子将对高压放大器在各个应用场景中的重要性进行深入分析,帮助大家更好地理解和使用高压放大器。 一、音频领域 音乐制…

Leo赠书活动-12期 【Java程序员,你掌握了多线程吗?】文末送书

Leo赠书活动-12期 【Java程序员,你掌握了多线程吗?】文末送书 ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页&#xff1…

静态住宅代理科普——实际应用场景以及如何配置?

住宅代理IP不仅是理论上的网络工具,它在多个实际应用场景中表现突出,极大地便利了用户的网络操作。接下来,将深入探讨住宅代理IP在市场调研、内容访问、社交媒体管理等方面的实际应用,揭示其在不同领域的实用价值。 ## 实际应用场…

无公网IP环境Windows系统使用VNC远程连接Deepin桌面

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,…

SpringSecurity(五)

深入理解HttpSecurity的设计 一、HttpSecurity的应用 在前章节的介绍中我们讲解了基于配置文件的使用方式,也就是如下的使用。 也就是在配置文件中通过 security:http 等标签来定义了认证需要的相关信息,但是在SpringBoot项目中,我们慢慢脱离…

自媒体原创文章写作技巧,轻松过原创首发

在写作的世界里,原创文章是一种价值的象征,但对于新手小白来说,可能会觉得写出真正原创的内容颇具挑战。然而,实现原创并不是一件遥不可及的事情。在这篇文章中,我将分享10招,教你如何成为一位写作中的原创…

联想范建平:联想混合AI架构具备两大明显优势

12月7日,首届AI PC创新论坛在北京联想集团总部举办。联想集团副总裁、联想研究院人工智能实验室负责人范建平表示,为提供真正可信、个性化的AI专属服务,联想提出了混合智能(Hybrid AI)概念,并已经显现出更强…