前言

今天看了一期 华为云 HMS Core 助力鸿蒙开发的视频。内容干货满满。下面就视频的内容做一下学习记录。

名词说明

文中涉及到的相关名词
鸿蒙OS == HarmonyOS

HarmonyOS是什么

HarmonyOS是一款面向未来,面向全场景的分布式操作系统。不同于安卓系统和IOS系统。HarmonyOS系统期望的是打造一个 1+8+N 的大生态,如下图1所示,让万物互联给消费者带来实实在在的好处。

HarmonyOS的系统架构是啥?

通过上一节的介绍我们了解到HarmonyOS是一款可以实现万物互联的分布式操作系统。要想了解它的实现机制还是需要先了解HarmonyOS的系统架构。如下图2所示:

从图2可以看出HarmonyOS系统分为四层:

  1. 内核层:HarmonyOS系统采用多内核的设置,以满足不同的设备需要,比如;如果你的设备是手机则可以使用Linux Kernet内核,如果你的设备是咖啡机,则可以选用较小的LiteOS内核。上层KAL内核抽象层是为了屏蔽内核的差异
  2. 系统服务层:系统服务层是HarmonyOS系统实现分布式功能的核心层。按照功能粒度可以划分为分布式任务调度,分布式数据管理,分布式软总线。在使用时可以按照功能粒度进行裁剪。通过该层可以实现硬件互助和资源共享
  3. 框架层:框架层有Ability框架以及UI框架,其中Ability框架这是应用开发的核心,后面会详细介绍。
  4. 应用层:应用层包括系统应用和很多第三方的应用。

HarmonyOS系统如何保证安全?

任何一个操作系统,安全需求永远要放在一个不可忽视的位置上。 那么,HarmonyOS是如何保证安全的呢?其安全措施主要体现在如下三个方面:

  1. 分布式多端系统身份认证
  2. 在分布式终端构筑可信运行环境
  3. 分布式数据在跨终端流动过程中,对数据进行分类管理。

Ability以及UI框架了解下

基于鸿蒙操作系统可以进行应用开发以及设备开发。应用开发主要采用Java ,C#等语言,而设备开发的话主要采用C以及C++语言来实现。
这里以应用开发进行展开说明。不过在介绍应用开发之前首先让我们来认识下Ability。

Ability

Ability是代表应用所具有能力的一种抽象,一个应用可以具有多种能力,也就是可以包含多个Ability。应用可以以Ability为单位进行部署。 Ability分为两种类型:

  1. FA(Feature Ability): 只支持Page Ability,也就是说只支持配置页面的能力,一个Page由一个或多个AbilitySlice组成。如果要自定义一个Page Ability的话则需要继承Ability。如果要自定义一个Page AbilitySlice的话则需要继承AbilitySlice。
  2. PA (Particle Ablilty):支持Service Ability和Data Ability。Service用于提供后台运行任务的能力,Data用于对外部提供统一的数据访问抽象。举个例子:我想在手机后台一直播放音乐,那么就可以使用Service Ability。

UI框架

UI框架主要分为Java UI框架和JavaScript UI框架。其中:

  1. Java UI框架:包括布局(XML)、组件(Text、Button、Image …)
  2. JavaScript UI框架:包括类似于HTML的布局语言(HarmonyOS Markup Language)简称鸿蒙系统的标记语言以及组件(Text、Button等等)。

了解完了基础的开发知识之后,接下来就是开始正式的HarmonyOS应用开发了。

正式开始开发

安装及配置过程

工欲善其事必先利其器,开发之前首先就是将开发环境配置好。

  1. 下载及安装DevEco Studio。下载地址是:https://developer.harmonyos.com/cn/develop/deveco-studio,如下图3所示:

具体操作请参见下载与安装软件。
3. 配置DevEco Studio,您需要完成设置网络代理及下载HarmonyOS SDK等相关操作。具体操作请参见配置开发环境。

编写一个简单HelloWorld来验证下

  1. 创建一个新工程
    1.1. 打开DevEco Studio,在欢迎页点击Create Project,创建一个新工程。如下图4所示:
    1.2. 根据工程创建向导,选择需要的Ability工程模板,然后点击Next。关于工程模板的介绍和支持的设备类型,这里以Java为例

    1.3 填写工程相关信息,Device Type选择Phone,Language选择Java ,其他保持默认值即可,点击Finish。如下图5所示:
  2. 项目结构如下图6所示:

其中:
.gradle:Gradle配置文件,由系统自动生成,一般情况下不需要进行修改。
entry:默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录。
entry>libs:用于存放entry模块的依赖文件。
entry>src>main>Java:用于存放Java源码。
entry>src>main>resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。

HMS Core

HMS (HUAWEI Mobile Service) 华为移动服务:是一个开放的生态,助力开发者进行应用创新。它包括两个部分

  1. HMS Apps
  2. HMS Core & Connect
    下面就分别介绍下:
  3. HMS Core 它主要为开发者提供应用领域、系统领域、媒体领域、安全领域等多个领域的开放能力和工具支撑。
    它包括App Service (应用服务),Graphics (地图服务),AI 等等。

那么问题来了,在哪里可以找到HMS Core呢?答案就是在华为云。
找到产品—>移动应用服务—> HMS Core。

点击HMS Core可以找到,可以找到很多服务,这里以推送服务为例。

如果我们想新建一个推送服务的话,可以查看文档,按照文档中的开发流程进行开发。

总结

本文以 华为云 HMS Core 助力鸿蒙开发视频为基础。首先介绍了鸿蒙系统的基本概念以及系统架构,接着介绍如何创建一个鸿蒙应用。最后说到了HMS Core的使用。希望对读者朋友们有所帮助。

华为云HMS Core 助力鸿蒙开发相关推荐

  1. 跑道防侵入,华为云ModelArts平台助力航空器识别AI模型开发

    上海麦图信息科技有限公司,借助华为云ModelArts一站式AI开发与管理平台,开发出跑道防侵入场景中的航空器识别AI模型. 近年来,"AI的应用和落地"逐渐成了具化的关键词,它和 ...

  2. 华为云开发者联盟助力培养数字化人才,加速应用构建质效提升

    摘要:大会第三天依旧热闹非凡,精彩活动纷至沓来.众人瞩目的专题论坛如期举行,专家们围绕技术开发.行业实践最新趋势,分享宝贵经验和深刻见解. 本文分享自华为云社区<华为云开发者联盟助力培养数字化人 ...

  3. AI加持,华为云视频服务助力企业直播行业

    AI加持,华为云视频服务助力企业直播行业 华为云视频服务高级运营总监在"'智能'视界,乐享未来"主题发言中阐述了5G.人工智能等新科技的应用将驱动市场和商业模式的变化,提到:5G时 ...

  4. 华为云IOT的应用侧开发Java Demo使用详细教程(IntelliJ IDEA 开发)

    第0章 简介         最近有很多小伙伴在使用华为云IOT的应用侧开发的Java Demo时遇到一些问题,本期就教大家如何使用这个基于华为云官方提供的Java Demo,本期教程带大家做的是查询 ...

  5. HCIP-IoT——华为云物联网端到端开发

    华为云物联网端到端开发介绍

  6. 华为云桌面,助力企业数字化转型

    华为云桌面,助力企业数字化转型 中国云桌面市场快速崛起,其中华为云桌面在中国桌面云市场中高居第一.其实不仅是今年,在过去的7年间华为云桌面一直都是国内桌面云市场当之无愧的老大.很多人都认为这背后必然会 ...

  7. HMS Core助力宝宝巴士为全球开发者展现高品质儿童数字内容

    本文分享于HMS Core开发者论坛<宝宝巴士携HMS Core为全球家庭用户提供优质儿童数字内容>采访稿整理 宝宝巴士是国内有着十多年出海经验的开发者,其旗下有超过200多款儿童益智互动 ...

  8. HMS Core助力《天谕》,打造高性能手游解决方案

    网易旗舰IP<天谕>手游已全面上线,作为网易东方幻想主题MMORPG旗舰IP,<天谕>手游不仅承载了端游的世界观,同时作为HMS Core 5.0的"明星级" ...

  9. HMS Core助力同程旅行,打造更贴心的用户出行体验

    作为中国在线旅行行业的创新者,同程旅行聚焦年轻.时尚.个性的消费群体,致力于为用户提供更便捷.聪明.安全的出行服务.近年来,同程旅行通过人工智能等创新科技的应用将平台原本的交易撮合角色转变为" ...

最新文章

  1. 舒工自定义AJAX-lite 1.0实用型极简方法
  2. java调用python的函数_java如何调用python的.py文件,以及如何执行里面的函数,和创建...
  3. 计算机系统集成项目的管理及应用
  4. python 读写utf8文件_Python关于 文件读写的总结
  5. linux zookeeper安装并设置开机自启
  6. 【面试题】struts2的工作流程
  7. 大四报了个天价培训班,变成量产型炮灰工程师
  8. 双拓扑排序 HDOJ 5098 Smart Software Installer
  9. 清空select下拉框的方法
  10. pcs7 总结20170607
  11. win10系统优化与防范策略
  12. 沪牌-上海牌照-拍牌经验分享: 我是如何三次拍中的?
  13. linpack学习记录
  14. matlab做拉普拉斯反演,拉普拉斯变换性质和反演.ppt
  15. 怎么做浪漫表白二维码?给喜欢的人制作一个二维码
  16. SQL Sever 2014 使用sql sever身份验证登录
  17. 谷歌插件学习必备准备知识代码提示插件调试
  18. PCL报错:C2248 “pcl::Registration<PointSource,PointTarget,Scalar>::setInputCloud”
  19. 618电商大数据分析可视化报告
  20. 家具生产设备_家具生产线

热门文章

  1. DisGeNET的初步认识
  2. python中如何打出乘方_python 乘方
  3. 电信物联网平台SOTA升级(软件升级)的全流程说明
  4. 实习渗透工程师面试记录
  5. html实训QQ音乐官网首页制作
  6. Java控制手机在同一网下_安卓手机控制另一手机的方法【详解】
  7. 【2021牛客暑期多校训练营7 】 xay loves count
  8. CVPR2019|最新更新论文~持续更新|CVPR2019百度云下载
  9. 2019暑期在校培训总结
  10. canvas实现2019最酷炫3D特效