OpenHarmony - 应用开发入门指南

news2024/12/24 8:54:30

一、了解OpenHarmony

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目, 目标是面向全场景、全连接、全智能时代, 搭建一个智能终端设备操作系统的框架和平台, 促进万物互联产业的繁荣发展。

  • 开放原子开源基金会: 由阿里巴巴、百度、华为、浪潮、360、腾讯、招商银行联合发起, 于 2020 年 6 月成立的非营利机构. 为各类开源项目提供各种支持

开放原子开源基金会是中国内地首个开源领域的基金会, 成立于2020年6月, 由阿里巴巴、百度、华为、浪潮、360、腾讯、招商银行等企业联合发起, 是在中华人民共和国民政部注册的非营利性独立法人机构. 基金会涵盖OpenHarmony、TecentOS Tiny、AliOShings、UBLM、TKEstack、XuperChain等项目. )

和HarmonyOS有什么关系

华为的说法HarmonyOS是基于OpenHarmony开发的商用版本, 如下方右图所示

框架结构

对比JS的类Web开发范式 eTS无需JS Framework进行页面DOM管理, 渲染更新链路更为精简, 性能更好, 在进行大型应用开发时, 更推荐使用eTS进行开发。

TypeScript

TypeScript是在JavaScript的一个超集并支持 ECMAScript 6 标准, 本节会简单介绍TS和JS的主要不同点

类型提示

TypeScript 的核心功能是它的类型系统. 在 TypeScript 中, 可以使用类型提示来识别变量或参数的数据类型. 使用类型提示, 可以描述对象的形状, 这样可提供更好的文档, 使 TypeScript能够验证代码是否正常工作。通过静态类型检查, TypeScript 在开发初期就能发现 JavaScript 通常直到代码在浏览器中运行才会发现的代码问题。

Class

TS是面对对象语言, 使用class关键字申明一个类, class内部可以包含变量, 构造和方法, 示例如下:

三、开发环境搭建

安装DevEco Studio. IDE 3.0 Beta4支持HarmonyOS和OpenHarmonOS应用开发, 且提供了信息中心InfoCenterView->ToolWindows->InfoCenter方便快速查阅应用开发资源使用IDE Beta4打开旧版本创建的项目存在白屏问题, 推测是因为新版本编译器版本变更导致的, 所以仅建议使用Beta4开发新项目。

四、 使用JS语言开发

创建一个OpenHarmony工程项目, 选择JS语言, 从下面目录结构可以看出OpenHarmony应用项目和HarmonyOS应用项目差别不大, 主要有两个区别:

  1. 构建工具从gradle变为了hvigor, 这个对于我们应用开发基本无影响。

  2. OpenHarmony应用项目src/main目录下没有了java目录。

  • JS项目目录结构

  • 配置签名, 打开项目配置页面, 选择Project->Signing COnfig->OK, 完成自动签名。

编写逻辑代码, JS语法和Web网页类似

五、使用eTS语言开发

  • eTS项目目录结构

  • 那么OpenHarmony入门需要注意哪些,我在下面整理一套思维导购图给大家参考,大家有什么疑问也可以找我进行解答,希望可以帮到大家,小伙伴们可以:点击此链接了解做鸿蒙应用开发到底学习些啥? (qq.com)

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

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

相关文章

前置接口数据引用指南:自动化测试流程优化技巧

当进行 自动化测试 编排时,测试步骤间的数据传递是至关重要的。 在传统的方式中,一般通过复杂的脚本配置,或者手动复制这些数据,然后再慢慢地粘贴到每个需要它们的地方,以此来实现接口之间的参数传递。这种方式往往效…

openwrt 搭建web

折腾 软路由 有几年了,最近试了下 移动的 IPV6, 既然可以拿到 公网的 IPV6, 所以想折腾下, 经过不懈努力 实现了:通过 ipv4/ipv6 地址访问我的 web站点 (白飘不花钱的方式) 1 动态DNS 折腾 DDNS 无非是想 白飘 公网IP,但是 仅仅…

力扣题:数字与字符串间转换-12.25

力扣题-12.25 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:481. 神奇字符串 解题思想:首先将字符串构建出来,然后进行遍历即可 class Solution(object):def magicalString(self, n):""":type n: int:rty…

微信小程序校园跑腿系统怎么做,如何做,要做多久

​ 在这个互联网快速发展、信息爆炸的时代,人人都离不开手机,每个人都忙于各种各样的事情,大学生也一样,有忙于学习,忙于考研,忙着赚学分,忙于参加社团,当然也有忙于打游戏的&#x…

arcgis javascript api4.x加载天地图cgs2000坐标系

需求&#xff1a;arcgis javascript api4.x加载天地图cgs2000坐标系 效果&#xff1a; 示例代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"wid…

别小看它!现货黄金趋势通道的作用

在现货黄金市场中&#xff0c;我们对趋势通道的熟悉程度不如趋势线。实际上&#xff0c;趋势通道是从趋势线演化而来的&#xff0c;没有趋势线就没有趋势通道。然而很多人不重视趋势通道&#xff0c;认为它只是趋势线的附庸&#xff0c;下面我们就来讨论一下趋势通道的作用。 为…

现控散落知识点梳理【自用/最新】

这里写目录标题 悬而未决之谜✅结合能控分解思考&#xff0c;非奇异线性变换会不会导致某变量的可控可观性发生变化&#xff1f;✅如图所示与时域结合时&#xff0c;传递函数是开环or闭环&#xff1f;✅对于一般状态&#xff0c;给出ABC&#xff0c;怎么判断每个变量的能控能观…

Python入门必看,python语言特点及差别

文章目录 前言一、高级语言分类二、认识Python三、Python 解释器总结Python技术资源分享1、Python所有方向的学习路线2、学习软件3、精品书籍4、入门学习视频5、实战案例6、清华编程大佬出品《漫画看学Python》7、Python副业兼职与全职路线 前言 Python (发音:[ paiθ(ə) n; …

Echarts自定义样式实现3D柱状图-长方体-圆柱体,两种样式

Echarts自定义样式实现3D柱状图-长方体-圆柱体&#xff0c;两种样式 效果图代码series配置项目 效果图 长方体 柱状体 代码 <!--此示例下载自 https://echarts.apache.org/examples/zh/editor.html?cbar3d-dataset&gl1 --> <!DOCTYPE html> <html lang…

手撕分布式缓存---多节点的调取

经过上一个章节的学习&#xff0c;我们已经知晓了如何搭建了HTTP Server&#xff0c;通过HTTP协议与我们定义的路由&#xff0c;我们可以远程访问这个节点&#xff1b;基于这一点&#xff0c;我们可以部署多台实现了HTTP的缓存服务从而实现分布式的特性。这一章节我们要基于此背…

win环境下启动kafka Port already in use: 6688; nested exception is

背景 zk启动成功后&#xff0c;接下来启动kafka&#xff0c;再启动kafka后一直说端口被占用。 端口占用解决办法: netstat -aon|findstr 9092 taskkill -f -pid 7780 杀掉后&#xff0c;再次启动kafka时&#xff0c;问题并未解决 后来修改了批处理文件kafka-run-class.bat中…

验证码:防范官网恶意爬虫攻击,保障用户隐私安全

网站需要采取措施防止非法注册和登录&#xff0c;验证码是有效的防护措施之一。攻击者通常会使用自动化工具批量注册网站账号&#xff0c;以进行垃圾邮件发送、刷量等恶意活动。验证码可以有效阻止这些自动化工具&#xff0c;有效防止恶意程序或人员批量注册和登录网站。恶意程…

RK3568 android11 调试mipi摄像头 gc2093

一&#xff0c;摄像头简介 GC2093是一个高质量的1080P CMOS图像传感器&#xff0c;用于安全相机产品、数码相机产品和手机相机应用程序。包含了一个1920H x 1080V像素阵列、片上10位ADC和图像信号处理器。高性能和低功耗功能的全面集成使GC2093最适合设计&#xff0c;减少了实…

【05】GeoScene海图或者电子航道图批量出图

出单张000数据参考上一篇博客&#xff0c;如果想同时出多张海图000数据&#xff0c;也是可以实现的。思路如下&#xff1a; 1 批量创建产品 GeoScene海事模块通过ProductDefinitions表和ProductCoverage要素类定义产品和AOI覆盖区&#xff0c;可支持批量导入产品信息和AOI覆盖…

PFA烧杯可高温加热ICP-MS实验室适用耐强酸碱本底纯净

聚四氟&#xff08;PFA&#xff09;烧杯可用于痕量分析、同位素分析等实验&#xff0c;ICP-MS实验室适用。半导体、多晶硅、光伏电子 锂电池行业均适用。杯体刻度清晰&#xff0c;方便观察&#xff0c;尖嘴方便倾倒溶液。 技术参数 品名 规格 材质 耐受温度 PFA烧杯 10ml…

ASP.NET Core MVC依赖注入理解(极简个人版)

依赖注入 文献来源&#xff1a;《Pro ASP.NET Core MVC》 Adam Freeman 第18章 依赖注入 1 依赖注入原理 所有可能变化的地方都用接口在使用接口的地方用什么实体类通过在ConfigureService中注册解决注册的实体类需要指定在何种生命周期中有效 TransientScopedSingleton 2…

开源学习项目推荐

文章目录 koodo-reader凤凰架构学习项目NPS 内网穿透客户端 koodo-reader 项目地址&#xff1a;https://github.com/koodo-reader/koodo-reader 介绍&#xff1a;一个开源的阅读器&#xff0c;阅读pdf也有目录&#xff0c;作为epub阅读器和pdf阅读器看资料挺好 凤凰架构 项…

NPDP证书含金量高吗?跟PMP相比含金量怎么样?

两个证方向不太一样&#xff0c;含金量都挺高的&#xff0c;具体怎么选呢&#xff1f;接着往下看~ PS&#xff1a;不想看长篇大论的&#xff0c;来找我&#xff0c;直接把你的经历甩出来&#xff0c;我帮你判断~ 一、产品经理跟项目经理的区别 表面上&#xff0c;项目经理和产…

WEB渗透—PHP反序列化(四)

Web渗透—PHP反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩…

7+单细胞+分型+机器学习,最近大热的生信思路,要拿分趁现在

今天给同学们分享一篇生信文章“Machine learning-based integration develops a neutrophil-derived signature for improving outcomes in hepatocellular carcinoma”&#xff0c;这篇文章发表在Front Immunol期刊上&#xff0c;影响因子为7.3。 结果解读&#xff1a; 单细…