本篇文章的计划,先体系的介绍一下鸿蒙开发相关的体系内容,希望通过本篇内容构建对鸿蒙开发体系的了解,最后再来一个最简单入门例子。既是自我的学习,也希望对你了解鸿蒙开发的全貌有帮助。
这样安排而没有直接写一个Helloworld例子的原因,很多朋友刚开始学的时候直接上手helloworld例子,虽然感觉动手入门了,但又感觉好像还是不太了解。因此在开始之前先整体的了解一下鸿蒙开发相关的体系内容,做到能够“窥全身、知全貌”而后再入门,这种方式我觉得对于构建学习体系和深入学习会有极大的好处。
再啰嗦一句,对于很多学习编程的朋友建议一定要注重这种全貌、原理的研究,不然你只会在框架大楼里砌墙,而不会设计大楼的全貌,那这样你就真的只是一个会码代码的农民。
1、HarmonyOS开发概述
1.1HarmonyOS开发概要
针对HarmonyOS开发按不同的角度划分,可以有不同的分发:
1、从宏观大类上分为三类:1)通用开发(可安装应用app,兼容安卓和鸿蒙)、2)原子化服务(鸿蒙自己特有的免安装应用服务)、3)智能设备开发(智慧屏、穿戴设备,华为最新的手表已经支持安装应用了,可以说想象无限,未来可以当做微型手机)。
2、如果从开发语言上分:Java、JavaScript(支持传统js和带界面的低代码量开发)、eTS(华为自定义的一种声明式语言,代码简练更符合开发习惯,华为自己宣传更贴近自然语义,更高效、简洁,跨平台,粗看代码非常简练、易懂);
3、从开发内容上分:
1)Ablility框架:包含Ability(各种能力)、公共事件与通知(订阅、发布、通知等消息)、后台任务调度和管控(前台、后台、挂起等)、线程管理(创建、等待、回收)、线程间通信(比如下载完任务完成,通知其他线程应用)、剪切板。
而这其中最核心、最重要的,并会一直伴随鸿蒙开发的要属于:Ability。从字面看鸿蒙把各种设备的任何功能都抽象为一种能力Ability(能力,视频能力、美颜能力、夜视能力,和上文的FA、PA相对应)。
Ability本身又分为Page Ability(带界面的相关能力)、Service Ability(服务能力,比如美颜功能)、Data Ability(数据能力,应用间、设备间数据共享);最后还包含一个Intent,它是对象之间传递信息的载体,当一个Ability导航/切换到另一个(比如外卖饿了吗里面联系商家,饿了吗的商家展示Ability,跳转到电话Ability)通过Intent实现––通过Intent可以指定启动目标(这里就是启动电话),并携带相关数据(这里就是商家的电话直接带过去)。
Ability可以说只要开发任何内容就必须用到,不得不关心(像线程、任务调度虽然重要,但不见得必须得用吧)。
2)UI(界面开发):提供JavaUI(粒度更细、更灵活)、ArkUI(方舟开发框架,支持两种模式:基于JS扩展的类Web开发范式,基于TS(华为自己定义的开发语言模式,华为自己简称TS)扩展的声明式开发范式;这里先简单的理解成方舟开发框架提供两种类似于Java Web开发,但是采用JS和TS的开发方式;后续再详细解释)、多模输入(鼠标、键盘、触摸、语音等)。
3)多媒体:视频、相机、图像、音频、媒体会话等 相关数据的管理
4)安全:权限管理(权限定义、申请、控制)、生物特征识别(人脸、指纹等识别)
5)AI:文字、图片、文档、语音等识别、转换,二维码生成等;
6)网络与连接:NFC(查询是否支持、状态、卡模拟、消息通知)、WLAN、网络管理、电话服务等
7)数据管理:关系型数据库、对象映射数据库、分布式数据和文件服务(创建、打开、关闭、增删改、数据同步)、数据存储、融合搜索
8)设备管理:穿戴设备、智慧屏、传感器(环境、运动等)、位置、设备标识等;
9)原子化服务:服务特点(免安装、快捷直达、轻量、夸设备、独立)、服务发现、展示、分享、流转;
4、从专题的角度划分:服务卡片(一种FA页面,直接展示应用核心内容,并支持快速进入应用)、流转(夸设备流转、多端协同)、华为分享(分享、接收、传输)、平行视界(双视窗支持等)
1.2 HarmonyOS app组织结构
HarmonyOS应用分为两大类:安装的App和免安装原子化服务应用。
用户应用程序以App Pack形式发布,它包含一个或者多个HAP(Harmony Ability Package)以及描述每个HAP属性的pack.info组成。HAP是上文提到的Ability的部署包,鸿蒙的应用是围绕一个个Ability(能力/功能)组件展开的。一个HAP由代码、资源、第三方库及配置组件组成。
HAP又分为两种类型:entry和feature。
entry:是应用的主模块,里面可以包含一个或者多个entry(它是一种HAP)类型的HAP,来支持不同规格的设备(如屏幕规格、API版本等)。
feature:应用动态特性模块(它也是一种HAP,相比于entry表达的固定的屏幕尺寸,feature代表的是动态调度特性),一个APP可以包含N(N>=0)个feature的HAP。
只有包含Ability的HAP才能独立运行。
此外还有一种HAR(HarmonyOS Ability Resources)可以构建应用所需的所有内容,但是HAR不能独立安装,只能作为应用模块的依赖,而被引用。
1.3其他内容
1、开发工具:华为提供IntelliJ IDEA Community开源版本打造的HUAWEI DevEco Studio,与HarmonyOS的各种开发、调试做了深度融合,提供很多方便、好用的功能;另外提供DevEco Service提供安全测试、云测试、远程真机测试;真的试考虑很周全,免去项目开发完毕再扫描漏洞、再做压力并发测试,最良心的还提供远程真机测试。。。
2、测试:DevEco提供性能、安全、兼容、稳定性、功耗、流转等测试,并提供单元测试框架、分布式UI测试框架、综合评分等。
3、穿戴设备:1)智能穿戴设备指搭载HarmonyOS的手表,目前只有HUAWEI Watch 3,可以去手表商城看下,就大概知道支持哪些功能和应用场景(支持多种场景互动、应用安装); 2)轻量智能穿戴设备,目前支持HUAWEI WATCH GT 2 Pro(消息通知、与手机内容互动,自身非鸿蒙因此应用很弱)。
穿戴设备单独列出来,二者(智能、轻量智能到底有啥区别区别困惑了我好久)的核心区别,一个是HarmonyOS,一个非鸿蒙,在最新的WATCH 3中已经支持高德地图、喜马拉雅、新浪新闻、腾讯体育、航旅纵横等;在手表上可以安装应用真的让人很心动,未来鸿蒙才是趋势。下图是华为Watch 3鸿蒙手表中各种app,看得直流口水,真香...
4、OpenHarmony与HarmonyOS的关系
在这里讲一下二者的区别。
OpenHarmony是鸿蒙操作系统的开源版本,免费开源,而Harmony OS本身是闭源的;二者的关系:OpenHarmony相当于安卓,Harmony OS相当于小米的UI、华为的EMUI之间的关系;如果你对Linux比较了解,OpenHarmony相当于Linux的内核,HarmonyOS相当于红帽、Ubuntu等发行版。任何的厂家都可以用OpenHarmony,但是其他手机厂商应该是无法直接使用Harmony OS的;至少因为前者开源谁都可以无条件使用,后者是华为的需要和华为签订某些协议才有可能使用。
OpenHarmony是基础,我们前面讲到的底层大部分特性是OpenHarmony的特性,Harmony OS在OpenHarmony的基础上开发而来;OpenHarmony基本上没法直接使用(即使提供的界面也是最简陋、最基础的东西),只有在其基础上开发定制才能得到可以使用的HarmonyOS。OpenHarmony虽然支持万物互联(各种类型的设备,冰箱、热水器、洗衣机、豆浆机等),但是华为没有那么多的精力(以冰箱为例,华为对使用冰箱场景既不专业,也可避免与冰箱厂商竞争)。华为在OpenHarmony基础上开发的HarmonyOS只涵盖自己的擅长的核心领域:手机、电视、穿戴设备等,而其他领域的万物协同、智慧应用就由各自厂家来开发;比如美的基于OpenHarmony打造的美的物联网操作系统。这样就分工明确、彼此互补––共同构建一个真正万物互联的生态。感兴趣的同学可以思考一下美的没什么要做?可以简单的说让美的的设备使用更简单却更聪明。
因为美的物联网操作系统和HarmonyOS同源,所以数据协同、系统同步、互联等天生的容易;这才是鸿蒙最厉害,最有未来的地方。
以上内容是粗略对HarmonyOS开发内容比较重要部分的梳理,难免有理解不准和错误的地方;接下来就进入helloworld例子。
2、开发前准备(环境配置)
2.1例子概述
1、HarmonyOS支持多种开发模式和语言,具体包括eTS、Java、JS(支持传统JS代码和低代码量代码),官方提供了4个例子,这里就以JS为例,只有能跑起来入了门,看看都大同小异;
2、最好有Java、JS、移动端其中之一的开发基础,如果没有建议从JS开始练习吧,应该最容易上手。
3、官网的HelloWold例子是A页面点击跳转到B页面;同时可以参考官网的HelloWorld例子 : HarmonyOS开发官方入门HelloWorld例子
2.2环境准备
2.2.1 注册成为个人/团队开发者
在开发、创建、发布应用前,需要去华为开发者联盟官网注册成为开发者,可以选择个人开发者和企业开发者,权益有些差别;注册以后都必须实名认证,按着要求填即可,具体可以参考官方文档: 华为开发者注册和实名认证
2.2.2 Devco Studio 开发工具下载及安装
1、去官网下载开发工具DevEco Studio 3,下载地址: 华为操作系统DevEco Studio和SDK下载与升级
2、得到一个exe文件,启动下一步、下一步自动安装
3、配置开发环境
1)设置npm registry:第一次启动进入配置向导页面,DevEco Studio已经内置对应仓地址,这里点击下一步即可;
2)DevEco Studio向导指引开发者下载SDK,默认下载OpenHarmony SDK。剩下根据引导下一步、同意等即可完成安装。
但是默认的OpenHarmony SDK并不是我们需要的SDK,我们需要的是Harmony SDK。
在DevEco Studio的欢迎界面,点击欢迎页中的Configure(六边形的图标) > Settings > SDK Manager > HarmonyOS Legacy SDK,然后点击Edit设置HarmonyOS SDK存储路径。
注意:默认路径应该和上一步的OpenHarmony一样,必须要更改一下,不然OpenHarmony就会被删除。另外SDK以及其他的一些内容较大,不建议方C盘。
根据自己勾选的API版本和语言安装完成界面
同样如果需要更新SDK、其他版本等只需要这里勾选,点击Apply即可实现。
在DevEco Studio打开工程的情况下,点击Files > Settings > SDK Manager > HarmonyOS Legacy SDK进入当前界面。
3)配置HDC工具环境变量
HDC是为开发者提供HarmonyOS应用的调试工具,为方便使用HDC工具,请为HDC工具的端口号设置环境变量。
Windows环境变量设置方法: 在我的电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,添加HDC端口变量。变量名为:HDC_SERVER_PORT,变量值设置为7035。
至此全部准备工作完毕,接下来终于开始新建Helloworld项目啦。
2.3创建并运行一个默认的程序
1、创建一个空的工程Create Project,这里选择JS、Phone,然后Finish。
此时得到一个点击可以直接运行的空工程 ,可以打印你好的页面,接下来先利用模拟器运行一下看下效果再改造例子。
2、添加虚拟模拟器
A、在DevEco Studio菜单栏,点击进入File > Settings > DevEco Labs > Emulator页签,勾选“Enable Local Emulator”,点击OK。
B、点击Files > Settings > SDK Manager > HarmonyOS Legacy SDK页签,勾选并下载Platforms下的System-image和Tools下的EmulatorX86资源。
C、创建本地模拟器
点击菜单栏的Tools > Device Manager,在Local Emulator页签中,点击右下角的New Emulator按钮,创建一个本地模拟器。 还可以在Next中修改、配置创建虚拟机的相关信息如CPU、DPI等。
D、启动本地虚拟机,会得到一个模拟的黑框手机(就不截图了);至此等着运行程序了。
3、运行创建的默认程序
启动本地或者/远程真机,选择entry即可运行程序;这里我实例截图的是本地虚拟机;可以本地、远程都试试;远程更方便、更容易。
2.4通过传统JS代码自定义一个HelloWorld程序
1、修改index页面(创建项目时已经有了,这样是首页)
在Project窗口,选择“entry > src > main > js > default > pages > index”,修改代码:
<!-- index.hml中代码 --><div class=“container“> <!-- 添加一个文本 --> <text class=“text“> Hello World </text> <!-- 添加一个按钮,按钮样式设置为胶囊型,文本显示为Next,绑定launch事件 --> <button class=“button“ type=“capsule“ value=“Next“ onclick=“launch“></button></div>/* index.css 内容*/.container { flex-direction: column; /* 设置容器内的项目纵向排列 */ justify-content: center; /* 设置项目位于容器主轴的中心 */ align-items: center; /* 项目在交叉轴居中 */ width:100%; height:100%;}/* 对class=“text“的组件设置样式 */.text{ font-size: 42px;}/* 对class=“button“的组件设置样式 */.button { width: 240px; height: 60px; background-color: #007dff; font-size: 30px; text-color: white; margin-top: 20px;}// index.js内容import router from ‘@system.router‘;export default { launch() { router.push ({ uri:‘pages/details/details‘, // 指定要跳转的页面 }) }}
2、创建第二个跳转页面
在Project窗口,打开“entry > src > main > js > default”,右键点击“pages”文件夹,选择“New > JS Page”,命名为“detail”,会创建一个detail文件夹,并且下面有三个文件:detail.html、detail.js、detail.css,具体目录结构如下:
修改detail中代码<!-- detail.hml --><div class=“container“> <text class=“text“> Hi there </text></div>/* detail.css */.container { flex-direction: column; justify-content: center; align-items: center; width:100%; height:100%;}.text { font-size: 42px; text-align: center;}
3、利用真机或者本地模拟运行程序,示意效果
写在最后,因为是初次接触鸿蒙,以上的内容基本上是对HarmonyOS官方开发文档的整理,很多内容直接参考甚至照抄了鸿蒙官方的文档,刚开始不得不如此,但是也加入了一些自己的思路和思考!整篇写下来,感觉把最最基础的鸿蒙理顺了,因为看即使是照抄,也要思考如何组成一篇比较通顺、完整、易懂的文章!思考、动手才是真正的学习过程,供大家参考!
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。
2020年9月,华为发布了鸿蒙操作系统(HarmonyOS)2.0,并发布了其开源版本OpenHarmony。从此,鸿蒙操作系统的面纱终于被揭开了。作为国人期待已久的操作系统,鸿蒙不仅承载着华为软件生态的未来,也代表着中国操作系统领域的一次重要尝试和突破。
鸿蒙的本意是指远古时代开天辟地之前的混沌之气,而鸿蒙操作系统则代表了华为从零开始开天辟地的决心和勇气。与学习Android和iOS不同,鸿蒙的软件生态刚刚起步,这是一片全新的领域等待你的探索。我相信,正在阅读这段文字的你一定对鸿蒙操作系统的未来充满信心!
截至截稿,HarmonyOS 3.0升级用户已经突破3亿,而这距离HarmonyOS 3.0的发布仅过去了2个月,如图1所示。当你第一次听说HarmonyOS时,一定想知道它究竟蕴含着什么能量?为什么HarmonyOS在短短几年内就可以得到广大开发者和消费者的认可?这篇文章就让我们细细道来。
■图1 HarmonyOS 3
01、历史的机遇:物联网时代的到来
开发一个完整的操作系统不是一件容易的事。华为消费者业务CEO余承东表示,鸿蒙操作系统在研发上已经投入了上亿的资金,消耗了大量的人力和物力,然而,这些投入在短期内很难获得相应的收益回报。那么,华为为什么还要研发鸿蒙呢?
抛开政治因素和企业竞争不谈,鸿蒙操作系统具有一些其他操作系统所不具备的革命性的创新,如分布式架构、微内核等,而这些创新正满足了目前物联网(Internet of Things,IoT)的高速发展、移动设备互动互联等所带来的新需求。它们支撑着鸿蒙的未来,也是鸿蒙操作系统诞生的意义所在。
事实上,操作系统更迭的背后是设备能力与形态的革新。最初,PC图形显示能力的提升成就了macOS和Windows;21世纪,移动设备的发展成就了Symbian;随后,触摸技术的发展成就了iOS和Android。如今,似乎即将迎来物联网时代。根据Analytics的统计结果,截至2022年下半年,全球物联网设备数量达到了144亿,而中国的物联网设备连接数量占全球的75%。
通过传统的操作系统构建物联网设备体系已经出现了许多弊端:利用RTOS进行物联网设备固件研发扩展性很低,并且研发难度大;利用移动操作系统开发物联网设备固件会出现占用内存大、启动慢、实时性低、高功耗、低能效等问题。另外,许多家庭中已经拥有了不止一个物联网设备,这些设备之间的互联效率很低。常常既没有统一的操作系统支持,也没有统一的指令和数据传输方案,碎片化非常严重,给用户带来较差的用户体验,因此,从操作系统层面解决设备间的有效协同是整个问题的重中之重,这主要包含以下几个方面。
在操作系统层面,统一物联网设备的通信接口,为用户提供统一的使用体验,为开发者提供统一的开发方案。
在设备通信层面,打通物联网之间的桥梁,构建多设备的统一体,方便地进行数据和指令的互通。
在应用程序层面,实现在多个物联网设备上进行应用协同。
这是来源于物联网世界的召唤!
02、鸿蒙操作系统的设计理念
响应物联网世界的召唤,鸿蒙操作系统诞生了!HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统,因此分布式特性是HarmonyOS的核心,如图2所示。接下来,让我们仔细分析一下。
■ 图2 HarmonyOS 3的技术特性
鸿蒙操作系统包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等关键技术。
1●分布式软总线
分布式软总线是鸿蒙操作系统分布式能力最为基础的特性,其设计理念参考了计算机硬件总线:以手机为中心将总线分为任务总线(传输指令)和数据总线(同步数据),如图3所示。
■ 图3分布式软总线
分布式软总线的主要特征有以下几点。
分布式软总线针对不稳定的无线环境进行了优化,相对于传统的传输协议具有高带宽、低时延、高可靠、开放、标准等特点。
通过分布式软总线可以实现设备间快速的自动发现(同一网络且登录同一华为账号)。
分布式软总线支持并可以整合WiFi、蓝牙、USB等多种有线/无线传输协议。通过手机等中转设备,可以打通蓝牙设备与WiFi设备之间的隔离,使其互联互通。
分布式软总线具有极简API和极简协议,不仅方便了开发者,而且有效地提高了网络传输能力。开发者只需面对一个逻辑协议,而不感知其具体的传输协议。
通过分布式软总线,鸿蒙操作系统可以为处在同一网络内的设备提供高效的通信能力,实现万物互联。
2●分布式设备虚拟化
分布式设备虚拟化建立在分布式软总线的基础上,可以实现多个鸿蒙设备性能和资源的整合,形成超级虚拟终端。例如,同一个家庭中的手机、路由器和智慧屏就可以以单一的、超级虚拟终端的方式共用硬件资源。
3●分布式数据管理
分布式数据管理建立在分布式软总线的基础上,可以实现多个鸿蒙设备之间进行高效的数据同步和管理。
4●分布式任务调度
分布式任务调度建立在分布式软总线和分布式数据管理之上,可以显示多个鸿蒙设备间高效地进行应用流转和协同。
应用流转是指同一个应用程序在不同设备上的迁移和迁回。例如,用户正在使用手机进行视频通话,但此时不方便拿手机,就可以将该应用界面迁移到智慧屏上继续进行视频通话。当然,用户还可以再将视频通话界面迁回到手机上。
应用协同是指在不同的鸿蒙设备上显示同一个应用程序的不同功能组件。例如,在手机上显示新闻列表,在智慧屏上显示新闻内容,通过手机的新闻列表就可以流畅地切换智慧屏上的新闻内容。
综上所述,鸿蒙操作系统响应了时代的召唤,微内核是前提,分布式是手段,全场景是目的。鸿蒙操作系统的上述特性让鸿蒙本身不仅是现有移动操作系统的替代品,而是全新的分布式操作系统,为鸿蒙未来的发展提供动力源泉!
03、鸿蒙操作系统的未来
鸿蒙操作系统非常年轻。2019年5月24日,鸿蒙操作系统第一次与大众见面,随后华为首先将其应用在智慧屏设备上。同年9月,华为宣布鸿蒙开源。2020年9月10日,华为发布了鸿蒙操作系统2.0,此时广大开发者才见到了鸿蒙操作系统的真面目:可用的虚拟机、可读的官方文档和由码云托管的OpenHarmony工程。
事实上,鸿蒙操作系统并不孤单,许多企业早已嗅到了物联网发展的味道,并产出了适合于物联网设备的操作系统,其中典型的物联网操作系统包括Google的Fuchsia、三星的Tizen OS、小米的Vela、腾讯的TencentOS tiny、阿里的AliOS等,可以说是百花齐放了。
相对而言,鸿蒙操作系统的设备支持性较强,并且拥有众多自主研发的技术优势。例如,鸿蒙不仅支持互联网设备,还适用于手机、智慧屏等多种设备,成为为数不多的打通“南向”和“北向”的操作系统。
为此,华为提出了“1+8+N”战略,其中“1”代表了手机;“8”代表了8种常用设备(PC、平板、智慧屏、音箱、眼镜、手表、车机、耳机);“N”代表了更加广泛的物联网设备。通过鸿蒙操作系统,这些设备可以有机地结合在一起,形成统一的“超级智能终端”。这个“超级智能终端”既可以实现软件的伸缩,也可以实现硬件的伸缩,如表1所示。
表1 超级智能终端具有可变的硬件和软件
伸缩性
功能机
智能机
超级智能终端
软件可变
×
√
√
硬件可变
×
×
√
通过场景化的设计,依托分布式软总线等技术优势,鸿蒙操作系统的未来应当是光明的。华为消费者业务CEO余承东在2022年华为开发者大会上表示“没有人能够熄灭满天的星光,每个开发者都是华为要汇聚的星星之火。”希望广大开发者一起努力,创建属于鸿蒙操作系统的未来。星星之火,可以燎原!
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。
文章目录
内核方面的对比运行速度的对比作为手机操作系统的对比连接其他设备的对比鸿蒙会取代安卓吗?为什么要学习鸿蒙开发?开发者的角度:使用者的角度:内核方面的对比
安卓系统是基于linux的宏内核设计 ,宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因。好处就是系统开发难度低。
鸿蒙操作系统是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性很高。
而且鸿蒙系统包含了两个内核,如果是手机app是基于Linux内核,而如果是其他的硬件是基于LiteOS内核。
运行速度的对比
安卓程序不能与系统底层直接进行通信活动,是运行在虚拟机上的。如果虚拟机出了问题话的那系统就是卡住。
鸿蒙系统中的方舟编译器解决了这个问题的,任何由编译器编译的软件,是直接运行在操作系统中的,可以直接与系统底层进行通信。
作为手机操作系统的对比
安卓和鸿蒙都是基于安卓开源项目(AOSP)进行开发的。
而安卓开源平台是可以在开源许可下自由使用和修改的。国内外很多手机厂商都根据这套代码制定了自己的操作系统,比如:三星、小米、魅族等。
而华为也是基于这套开源体系,制定了鸿蒙操作系统。 鸿蒙操作系统的构成 : HarmonyOS = 安卓开放平台的开源代码 - GMS - 安卓UI + HMS + 鸿蒙UI + 分布式软总线 + 以Ability为 核心的应用开发框架。
连接其他设备的对比
安卓手机连接其他设备,不管从app开发方面,还有使用方面都非常麻烦,而且如果换一个第三方设备,还需要把发现,配对,连接,组合,验证的过程再次操作一遍。
但是鸿蒙就非常简单了,从app开发方面,只要写很少的代码就可以调用第三方硬件,从使用的角度来讲,不管是多少设备连在一起,鸿蒙的终极目标是都能像使用一台设备那样简单。
鸿蒙会取代安卓吗?
如果有的同学有这样的想法,那么格局太小了。针对于IT行业,一般来讲头部力量或者已经形成生态的东西,很难撼动他的地位。鸿蒙的出现并不是为了取代安卓,而是把眼光放在下下一个时代,也就是5G时代。在5G时代中,最重要的是万物互联的时代。华为是想要在5G时代占据主导权。
为什么要学习鸿蒙开发?
开发者的角度:
安卓操作系统连接外部设备时,发现,配对,连接,组合,验证每一步都不能少。连接上了之后才能调用控制第三方设备。换一个设备之后,所有的代码需要重写。所有用安卓也可以连接外部设备并进行控制,但是太过于麻烦。而且不具备通用性。
鸿蒙操作系统就解决了这个痛点,设备与设备之间的连接就不需要我们开发者自己去写了,每一个设备都安装上鸿蒙操作系统之后,鸿蒙系统会通过软总线把这些设备都连接在一起。我们在应用开发的时候,只需要写很少的代码就可以调用第三方设备,就好像是使用手机本身的设备一样方便。 所以,在鸿蒙的整个体系中,手机不仅仅是手机了,而是一个超控控制终端。这个终端可能会有十个屏幕,十个喇叭等。调用手机本身的硬件跟调用外部的硬件几乎没有任何差别。
使用者的角度:
安卓操作系统中,所有的操作都是在手机上的,比如我们在导航的时候,都是用手机进行导航。但是在有的时候,我们是不方便拿着手机导航的,比如下雨天一个手撑伞一个手拎东西。 而在鸿蒙操作系统中,我们就可以把手机导航直接迁移到鸿蒙手表中就可以了。用户使用起来非常方便。
比如:我在A手机上编辑一封邮件的时候,需要添加一个excel附件。但是这个附件不在A手机上面,而是在B手机上面。传统做法要么就是从B手机上发过来,要么就是电脑复制文件,再粘贴过来,挺麻烦的。但是如果使用鸿蒙系统就方便了。我们可以直接数据迁移,把A手机里面编辑的邮件,迁移到B手机上。或者通过鸿蒙系统连上B手机之后直接使用B手机里面的附件。
除此之外,如果利用安卓操作系统控制硬件还需要下载很多的app,每一个app都有好几十兆,甚至上百兆。比如我要控制美的的冰箱,就需要下载一个app,要控制微波炉,又要下载一个app,如果我家里有100个电器,那么就要下载100个app,太麻烦了。在我们生活中,最烦的事情就是在手机中下载各种各样的app。而且下载完了之后,还需要扫描硬件,发现硬件,连接硬件,最后才能控制。
鸿蒙就为用户解决了这个问题,如果我们要控制冰箱,我们只要利用鸿蒙手机碰一下冰箱对应的芯片,那么鸿蒙手机就会到自己的应用中心,把控制冰箱的模块下载到手机里面然后直接打开控制中心,中间花费时间大约3秒左右,用户根本感觉不到下载和安装的过程。同理,如果我们要控制微波炉,也只要用手机碰一下微波炉对应的芯片,那么鸿蒙手机就会到自己的应用中心,把控制微波炉的模块下载到手机里面然后直接打开控制中心,对于用户来讲,非常的方便。所以鸿蒙一旦在市场铺开之后,用户用起来会非常的爽。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。
本文由 简悦 SimpRead 转码, 原文地址 www.xiaobaixitong.com
有些网友需要在手机上安装 google play 等谷歌应用服务, 帮助进行一些海外的工作和交流. 那么华为新出的鸿蒙系统怎么安装 google play 呢? 下面教下大家鸿蒙系统安装 google play 的方法…
最近有很多使用华为手机的小伙伴升级鸿蒙系统后想使用谷歌的一些服务,但是由于制裁谷歌断供了华为的 GMS 服务, 导致在安装的时候会出现问题,那么鸿蒙系统怎么安装 google play 呢,下面小白系统官网小编就把鸿蒙系统安装 google play 的方法带给大家。
工具 / 原料: 系统版本:鸿蒙系统 2.0 品牌型号:华为 mate40 软件版本:google play
方法 / 步骤:
进入华为市场安装好 GMS 后再安装 google play:
我们打开华为应用市场,在右下方找到 “我的”,点击设置,然后点击其他栏目可以看到“国家 / 地区” 选项。总结: 这就是鸿蒙系统怎么安装 google play 的方法教程,需要先解决好 GMS 服务的问题后,安装就很简单了,希望能够帮助到大家。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。
文章目录
1G时代2G时代3G时代4G时代5G时代1G时代
1980年摩托罗拉开发出了第一部手机,使用的就是1G的技术。只能进行语音通话。就是大哥大。
2G时代
1996年到1997年出现了第二代GSM、CDMA等数字制式手机,增加了接收数据的功能。2G不仅可以通话,还可以数据收发的功能,最开始的速度只有9K/S。如果我想收发一些图片或者音频技术是不可能的,因为速度太慢了。
后来随着互联网多媒体的流行,多了图片,视频等,所以2G在手机上就显得非常的慢。然后就有了一个过渡的版本。EDGE也就是2.5G,大家以前玩手机的时候,看到手机上有小E,就表示你现在用的是2.5G网。这是2G的升级版。理论带宽可以达到172K/S。但是真正使用的时候,也就15-20 KB/S左右的速度。
这个时期,流行的手机有摩托罗拉和诺基亚,常用的手机操作系统就是诺基亚的塞班。这个时代的手机是不能指定手机软件的,所有的手机软件都是出厂的时候,由厂家指定的。
3G时代
到了2009年的时候,出现了第三代通信网络,网速大大提高,理论速度可以达到1Mbps/S。在实际使用的时候,下载速度差不多在120KB/S~600KB/S。基本可以视频通话了,也可以接收一些比较小的视频了。微博兴起,网络大V也渐渐的涌现出来。
这个时期,出现了智能手机,最大的特点就是可以自己指定手机软件了。想要手机有什么功能,就下载对应的app就可以了。常见的操作系统就是安卓和IOS。
4G时代
到了2013年的时候,出现了第四代通信网络,理论速度可以达到10~100Mbps/S的下载速度。在实际使用的时候,下载速度差不多在1.5M/s-10M/s。速度更快了,而且流量比3G时代便宜很多。在3G的基础上也可以接收一些高清的视频,此时,抖音,快手等短视频APP成为了大家的最爱。
安卓和IOS依旧制霸这个时代。
5G时代
到了2020年就开始出现了,理论速度达到10Gbps/S,平时使用的速度也能稳定在1GB/s~2GB/s,并可以实现1080P高清视频的同摄同传。
在这个时代,无人车,无人机,物联网等渐渐出现在了大家的生活,在高网速下,电影分分钟就可以下载完成。
暂时还没有操作系统可以定义这个时代,而鸿蒙操作系统瞄准的也是这个时代。在以前的智能手机中,可以根据自己的喜好自己定制软件。
在鸿蒙系统中,手机不仅仅是手机,而是超级终端的控制器。利用鸿蒙可以根据自己的需求来组装不同的硬件设备。让手机、TV大屏、无人机等形成一个整体。手机作为控制的超级终端,可以轻松的控制 他们。
所以鸿蒙并不是想替代安卓,而是把目光瞄准了下一个移动互联网时代。
所以,鸿蒙的眼光并不只是打败苹果和安卓,如果现在依然有人这么以为的话,我只能说,呵呵,格局小了
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。
参考链接:
1:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/harmonyos-overview-0000000000011903
1:鸿蒙系统介绍
1:官方介绍
HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备
HarmonyOS提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)
2:解读分布式和开发语言
HarmonyOS是分布式操作系统:可以忽略的“分布式“,对于开发者来说,分布式是无感知的,它可以整合多个设备间的开发,在智能设备和手机端相互传递数据,但是对于开发者而言,就是多端数据同步,就算是可以同时在dev studio上开发手机APP和智能设备的APP,进而忽略掉设备间的差异,也无法说明该操作系统的分布式具体的表现。
harmonyOs支持的语言,目前看来官方重点推的是JS和Java语言。
3:技术架构
HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如下所示
如果是APP端开发,前期真正需要关注的就是红线框起来的部分。
HarmonyOS的应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑
4:1+8+N介绍
1+8+N是鸿蒙新推出的设计理念,1代表用户,8代表华为提供的8中设备能力(车机、音箱、耳机、手表/手环、平板、大屏、PC、AR/VR),N代表接入到鸿蒙系统的智能硬件和APP,主要理念为通过N多个IOT设备和APP,联动到华为的8中设备能力,进而为用户提供全场景智慧生活闭环
2:Dev Studio介绍
1:简介
HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向华为终端全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的HarmonyOS应用开发服务
2:开发HelloWord程序
下载安装Dev Studio,目前最新版本是2.1 beta3版本,完成之后,配置harmonySdk,配置完后,直接新建功能如下:
1:打开DevEco Studio,在欢迎页点击Create HarmonyOS Project,创建一个新工程
2:选择设备类型和模板,以Phone为例,选择Empty Feature Ability(Java),点击Next
3:填写项目相关信息,保持默认值即可,点击Finish
4:工程创建完成后,DevEco Studio会自动进行工程的同步,同步成功如下图所示
3:模拟器
1:重点说明
华为的模拟器,在我看来是最好用的,一般的模拟器,都需要下载模拟器外设资源,运行卡顿,并且运行效率低下,华为的模拟器完全颠覆了目前模拟器的使用方式,它的模拟器不是本地生成,而是直接使用华为云测平台,给你模拟一台华为真机(后者其他华为设备),你可以在上面测试你的应用,这样最大的好处是,你可以不用买最新的设备,就可以在该设备上看到应用的适配和运行情况,这个功能非常赞。
2:模拟器的使用
1:在DevEco Studio菜单栏,点击Tools > HVD Manager
2:在浏览器中弹出华为开发者联盟帐号登录界面,请输入已实名认证的华为开发者联盟帐号的用户名和密码进行登录
3:登录后,请点击界面的允许按钮进行授权
4:在设备列表中,选择Phone设备,并点击按钮,运行模拟器
5:点击DevEco Studio工具栏中的按钮运行工程,或使用默认快捷键Shift+F10(Mac为Control+R)运行工程
6:DevEco Studio会启动应用的编译构建,完成后应用即可运行在模拟器上
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。
到此这篇鸿蒙编程入门教程(鸿蒙编程入门教程 菜鸟教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/androidbc/67520.html