自学鸿蒙应用开发原理,自学鸿蒙应用开发原理难吗
「鸿蒙开发 3」华为鸿蒙应用开发的低代码(Super Visual)开发方式
开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建
创新互联公司自2013年起,公司以成都网站设计、做网站、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户成百上千,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。
开发前的准备:「鸿蒙开发 1」华为鸿蒙应用集成开发环境DevEco Studio安装和设置
了解鸿蒙应用开发的基本开发流程:「鸿蒙开发 2」第一个华为鸿蒙(HarmonyOS)应用程序(App)
本章目标:
1 了解华为鸿蒙应用开发的可视化(低代码)方式
2 通过构建一个简单的具有页面跳转功能的应用
低代码开发方式,即通过可视化界面开发方式快速构建布局、编辑UI界面,可有效降低用户的上手成本并提升用户构建UI界面的效率。
1 打开DevEco Studio,创建一个新工程,选择支持Phone / Tablet / Wearable(手机 / 平板 / s可穿戴)的模板,我们在此直接选择Empty Ability
Project name工程名称填SuperVisual
Development mode开发方式选择Super Visual
其它的可以使用默认设置,点击完成,进入编辑界面
1 在Project(项目)窗口,删除工程运行默认的入口文件夹:“entry src main js default pages index”文件夹
2 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
JS visual name填first,点击完成,进入编辑界面
创建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目录结构
3 第一个页面内有一个容器、文本和一个按钮,通过Div、Text和Button组件来实现
(1)分别选中first.visual画面中的Text、Div组件,单击鼠标右键,选择Delete删除
(2)选中UI Control中的Div组件,将其拖至画布
点击右侧属性样式栏中的通用样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕
点击右侧属性样式栏中的样式图标(Flex),设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的AlignItems样式为center,使得其子组件在交叉轴上居中显示
(3)选中UI Control中的Text组件,将其拖至Div组件的中央区域
点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hello World ”
点击右侧属性样式栏中的通用样式图标(General),设置Text组件的宽(width)为100%,高(height)为100px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为60px,使得其文字放大;设置组件的TextAlign样式为center,使得组件文字居中显示
(4)选中UI Control中的Button组件,将其拖至Text组件下面
点击右侧属性样式栏中的属性图标(Properties),设置Button组件的Value属性为 “ Next ”,
点击右侧属性样式栏中的通用样式图标(General),设置按的宽(width)为40%,高(height)为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为40px
至此,第一个页面创建完成
我们可以在预览窗口中看效果,点击右侧边栏的Preview打开预览窗口
1 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
Visual配置界面,JS visual name填second,回车(Enter键)或者点击完成,进入编辑界面
2 第二个页面中有一个容器和文本,通过Div、Text组件实现,现在编辑器已经为我们创建好了,我们就来修改下它们的属性(你也可以删除原有的自己创建,具体步骤参考本章第二节“二 创建第一个页面”)。
选中Text组件,点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hi,I'm always here. ”
点击右侧属性样式栏中的通用图标(General),设置组件的宽(width)为100%,高为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为36px,TextAlign样式为center
这样我们的第二个页面创建成功了
1 在Project窗口,打开工程中的“entry src main js default pages first first.js”, 导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下:
2 打开或者切换到first.visual页面,选中画布上的Button组件,点击右侧属性样式栏中的事件图标(Events),鼠标点击Click事件的输入框,选择launch事件
3 在预览窗口中查看项目效果,点击Next按钮后发现我们的页面成功跳转了。
到此,本章的目标就完成了。
[img]对于鸿蒙的一点见解
鸿蒙对标的是安卓系统,而且鸿蒙为了兼容现在的设备,鸿蒙一定需要兼容安卓的某些特性「 比如adb 」,要不然现在的所有设备使用上就有问题。
OS和内核是两个东西,鸿蒙的内核可以是Linux,也可以是华为自己开发的内核,看代码命名是Liteos_a,这个是一个实时内核,实时内核和非实时内核有非常明显的区分,我们正常使用的windows,Linux等都是分时系统,每个任务都有一个时间片,实时系统调度算法和分时系统是不同的,像嵌入式系统freertos,rtt是实时系统。从这里隐约可以看出来华为的对手并不是Linux。
ps:Linux内核也可以打上实时补丁。
如果鸿蒙VS安卓
安卓开发的应用需要重新开发,这部分不仅需要华为方面的努力,还需要产品公司的人去学习鸿蒙的api,一款应用可能需要ios、安卓、鸿蒙三个系统的开发人员,因为现在世面上的鸿蒙手机还没有,所以这个技术积累还是很少的。
厂商愿意不愿意使用鸿蒙,这个才是最大的问题。
我们知道,手机芯片原厂释放芯片的同时也会释放SDK包,如果需要占领手机市场,那就需要搞定这些芯片原厂,适配他们的芯片,适配他们的外设,虽然安卓发展到现在已经很多个版本了,但是依然每天有很多问题需要解决。
安卓发展到现在,也出现了很多新颖有用的特性,比如我之前在视频里面提到的,Android 9之后有一个特性 「 就是不需要关闭WIFI也能打开手机热点 」, 这是一个非常有效而且有用的功能,这个功能可以让信号覆盖不到的地方组网,而且安卓的很多现有特性对用户来说是非常重要的,用户会为了鸿蒙而抛弃体验吗?
鸿蒙想达到安卓,我觉得路子还是非常长。 但是 Liteos是非常值得期待的。
因为Liteos要打的可能不是Linux而是一些嵌入式RTOS,比如Freertos。
但是这也会遇到同样的问题,芯片厂商愿意不愿意花精力和心思去做这个事情,比如说Nordic,这个是一个非常典型的蓝牙芯片,它有自己的app,协议栈,如果让他们在他们的芯片上重新开发Liteos,不管从稳定性,可量产性,都还是未知的。
我之前做的ESP32,用的是Freertos,如果Liteos想占领IOT市场,就需要在这方面下功夫,比如让厂商在芯片上移植Liteos,相对于搞定高通这样的芯片厂商,搞定乐鑫这样的国产芯片相对容易多了。
鸿蒙的出来,在学生和开发者之中是比较轰动的,学生和开发者都喜欢大牛,喜欢新鲜的技术,而且学生和开发者大部分有情怀,但是鸿蒙想靠开发者和学生去一统江湖,有困难,因为资源在厂商手里,不是在开发者和学生手机。但开发者和学生的作用却很大,他们可以移植Liteos到不同的芯片上去,扩大Liteos的使用,提升Liteos的稳定性和扩展性。
13年,那时候,平板行业非常火热,然后也有一家国内大企业想吃一下这块蛋糕,跟方案公司合作,但是后来没有量产,一个原因是芯片原厂技术支持不到位,出现的问题比较多,做产品跟做技术不一样,做产品的周期非常短,不可能原地等待原厂研究很长时间。
为啥Liteos使用驼峰命名?
这个就是一个习惯的问题,并不能说谁好谁不好,但是如果以前看底层代码都是下划线的形式,突然变成大写,第一时间就有点不习惯。
缩进方式只能用空格缩进我觉得这是一个提升,tab键因为在不同的软件中会显示不同,总是需要设置才能显示正常,也算是制定了好的标准。
中文注释
在每个文件的前面,会有一串英文解释这段代码的作用,有点疑问,为什么不直接写成中文。毕竟中文的话,阅读起来会相对轻松一些。
其他
其他也说不出个所以然,大家看到鸿蒙应该都会有自己的看法,也想知道要不要跟着华为走,现在要不要开始学习鸿蒙,我觉得这些都是太过于着急了。
那天直播结束,我们就联系了一个朋友,说要买点海思的芯片,得到的消息是芯片已经是断货状态,我猜测,可能已经有人开始操作了。
看代码可以看到其实很多技术是相通的,而且因为是中国人维护和开发,文档和交流上会方便很多,我觉得没必要紧张,该怎么学习还是怎么学习,至少我觉得可以说明一点,到目前位置,脱离C语言来写内核还不太现实,好好学习C语言,学习操作系统,不说其他的,学习51单片机也差不到哪里去。
华为鸿蒙操作系统深度解析
根据华为鸿蒙的时间推进表,2021年6月2日,华为将举办鸿蒙操作系统及华为全场景新品发布会。根据华为此前的介绍,相对于鸿蒙 OS 1.0 来说,鸿蒙 OS 2.0 可登录更多智能终端设备,在功能和构架上也会有全新的变化。
2020年报显示,华为在全球的终端连接数已超10亿,其中手机存量用户突破7.3亿,其中大约90%的华为的存量和在售手机,都可以升级鸿蒙系统。#鸿蒙#
HarmonyOS是一款面向未来的全场景分布式智慧操作系统。
对于消费者而言,HarmonyOS用一个统一的软件系统从根本上解决消费者面对大量智能终端体验割裂的问题,为消费者带来统一、便利、安全的智慧化全场景体验。
HarmonyOS技术架构支撑1+8+N战略。
在该战略中,1是手机,8包括平板、PC、穿戴、智慧屏、AI音箱、耳机、VR、车机,N是指万物互联。通过通信连接和应用打通,从手机的优势向外围延展,HarmonyOS技术架构起到了巨大的支撑作用。
在5月21日举行的华为生态大会2021中,华为轮值董事长徐直军强调:华为计划2021年将国内1+8的设备全面升级到Harmony OS,预计到2021年年底整体会超过2亿台。
鸿蒙操作系统的重要商业价值在于,提供了更多的“连接”,从而提升了华为硬件生态的附加值和内涵,将会实现华为系列硬件产品的互联乃至智慧城市的万物互联,并带动华为软硬件生态持续繁荣。
IoT是华为在产业物联网时代的重要布局,华为主要聚焦于基础设施领域。海量低成本终端设备连接需要保证连接可管可控,且全网连续覆盖,以及端侧(终端)、传输、云端安全。
华为已在云侧和端侧拥有升腾、鲲鹏、麒麟等芯片,具备强大算力,叠加鸿蒙操作系统高效、灵活的执行能力,将培育大量高价值应用。
鸿蒙操作系统与华为“云+端”芯片形成强大合力,形成杀手锏应用。
从技术、生态两角度看,操作系统对于ICT厂商而言具有重要意义,鸿蒙操作系统的推出,对华为、对我国自主可控进程的意义不言而喻。
借助鸿蒙操作系统,华为将在生态、硬件、先发+持续创新三方面体现竞争优势,成为5G+IoT产业领军。
1、基于微内核、分布式及跨终端的特性,HarmonyOS能更好的适应物联网时代的需求。
HarmonyOS是一款基于微内核的全场景(移动办公、运动 健康 、社交通信、媒体 娱乐 等)分布式操作系统。
鸿蒙操作系统最重要的特性就是“分布式”,即同一个操作系统可以在不同类型的终端上运行。
通过“分布式多端协同身份认证”来保证“正确的人”、通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”、通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用数据”。
在IoT硬件领域,HarmonyOS革命性的分布式技术,还能帮助硬件厂商实现“产品即服务”的产业升级。对应用开发者而言,鸿蒙更加方便快捷。
目前,华为单系统的安全能力已经做到极致,成为业界第一个且唯一在微内核领域通过了CCEAL5+认证的厂家。
2、开源吸引更多生态伙伴加入
华为从2012年开始研发鸿蒙操作系统,鸿蒙OS以打造生态为目标,服务于华为的硬件产品。
2019年8月9日,华为正式发布HarmonyOS,同时余承东宣布,HarmonyOS实行开源。
HarmonyOS采用Apache licence开源协议,该协议不仅鼓励代码共享,还尊重原作者的著作权,更容易吸引商业进入。
全球开发者均可以使用鸿蒙开源工具包开发各式应用。同时华为也拿出10亿美金作为基金,帮助全球开发者开发创新应用。
此前三星、微软、诺基亚均在闭源操作系统的尝试中失败,而选择开源路线的google,其安卓系统成功抵抗住苹果的iOS系统,成为目前移动端用户最多的开源系统。
3、华为技术积累和海量生态是HarmonyOS发展的保障。
鸿蒙从与硬件的捆绑协同来看,亦类似于苹果;从免费开源的角度看,与安卓相像。
从财报拆分来看,苹果尽管不直接销售操作系统,但是它通过操作系统产生的增值收入超过了150亿美金;谷歌通过操作系统相关的增值业务收入和授权收入超过几十亿美金。
HarmonyOS 2.0与IOS及安卓的区别:
无论是谷歌的安卓还是苹果的IOS,实现收入主要是通过广告和APP销售额提成两种模式。目前阶段鸿蒙系统能达到安卓70 80%水平,HMS生态已经成为全球第三大应用生态。随着后续HMS生态的逐渐成熟,凭借HarmonyOS庞大的终端数量,HMS生态有望成为华为新的收入引擎。
鸿蒙操作系统有望在物联网时代加速国产化方案整合与整体落地进度,国产软硬件自主可控动能加速释放,华为自主可控阵营的合作伙伴有望在鸿蒙生态体系的快速扩张路径中持续受益。
HarmonyOS生态已经发展了美的、九阳、老板、润和软件和中科创达等1000多个智能硬件合作伙伴,50多个模组和芯片解决方案合作伙伴,包括家居、出行、教育、办公、运动 健康 、政企、影音 娱乐 等多个领域的合作伙伴。
目前华为与全球TOP 200的APP厂商也在沟通合作,旨在为他们带来全新的跨终端设备的体验。
京东、百度、优酷、科大讯飞、金山办公等120多家知名应用厂商已开始基于HarmonyOS进行创新,让消费者获得颠覆性的智慧生活体验。
华为生态及整体自控主题相关公司包括金山办公,用友网络,金蝶国际等。东方通(中间件)、中科创达(系统开发),润和软件(多芯片平台适配)、常山北明(ISV)、诚迈 科技 (软件开发)、北信源(移动安全)、高伟达(金融云)等。
华为智慧生活APP活跃用户超过5,400万,智慧生活APP每日请求数超过10.8亿次,连接设备超过10亿台。随着HiLink与HarmonyOS的进一步统一,这或许有望进一步提升鸿蒙接入设备的数量。
鸿蒙OS未来将会承担起华为一系列包括电视、音箱、路由器、智能 汽车 等硬件产品的互联,乃至智慧城市的万物互联,组成更大的华为软硬件生态。
2021-03-23鸿蒙开发(五.二)
定位使用
位置能力用于确定用户设备在哪里,系统使用位置坐标标示设备的位置。有GNSS定位、基站定位、WLAN/蓝牙定位
GNSS定位包括GPS、GLONASS、北斗、Galileo等,通过导航卫星,设备芯片提供的定位算法,来确定设备准确位置。定位过程具体使用哪些定位系统,取决于用户设备的硬件能力
位置能力作为系统为应用提供的一种基础服务,需要应用在所使用的业务场景,向系统主动发起请求,并在业务场景结束时,主动结束此请求,在此过程中系统会将实时的定位结果上报给应用。
使用设备的位置能力,需要用户进行确认并主动开启位置开关。如果位置开关没有开启,系统不会向任何应用提供位置服务。
设备位置信息属于用户敏感数据,所以即使用户已经开启位置开关,应用在获取设备位置前仍需向用户申请位置访问权限。在用户确认允许后,系统才会向应用提供位置服务
本文标题:自学鸿蒙应用开发原理,自学鸿蒙应用开发原理难吗
文章路径:http://hbruida.cn/article/dsopece.html