十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
华为鸿蒙已经发布快一年了,但是经常还有小伙伴说,鸿蒙不就是安卓系统套个壳么?类似小米的米UI和华为自有的EMUI。
创新互联公司是一家专注于成都做网站、成都网站建设与策划设计,建始网站建设哪家好?创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:建始等地区。建始做网站价格咨询:028-86922220
我们不可否认鸿蒙2.0系统跟安卓的界面确实很相似,但就因此判定鸿蒙系统是安卓换皮了吗?
都知道鸿蒙系统跟安卓一样,采用的是AOSP 开源代码,而安卓自身超过80%的代码都来自于开源项目,谁也不能说谁在换皮吧?
长期以来,谷歌Android和苹果iOS系统占据了全球移动端操作系统的绝大多数市场份额,除了苹果的IOS以外,其他手机基本使用的就是安卓系统,当然,鸿蒙推出以后就三分天下啦。
对于很多用户来说,鸿蒙 系统的推出是国产手机发展的一大步,因为除了苹果手机,其它手机品牌用的全都是基于安卓的底层框架,只有UI是自己设计的,这对手机大厂来说是有很多限制的。
鸿蒙与安卓一样,基于Linux内核研发鸿蒙操作系统,鸿蒙系统与安卓系统能够最大程度地兼容,初衷是对标安卓系统,补齐华为缺失的生态,不是超越、颠覆安卓,而是与安卓长期并存,由于兼容,两者的生态具有高度相似性。
华为鸿蒙系统是一款全新的面向全场景的 分布式 操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现极速发现、极速连接、硬件互助、资源共享,用最合适的设备提供最佳的场景体验。鸿蒙OS是一款基于微内核面向全场景的分布式操作系统。
微内核
华为鸿蒙系统与安卓在系统架构上有着本质的区别,其中 安卓是基于宏内核而鸿蒙则是基于微内核开发的 。
在宏内核模式的架构中,它把很多的东西都集成进内核里面了,使得系统在运行的过程中内核与各个进程的联系非常紧密。虽然在这种架构下,系统运行的效率较高,但是却存在致命的Bug。在运行过程中,开发进程一旦发生故障将会导致整个操作系统出现问题,甚至直接挂掉,所以它的稳定性差。
在微内核模式的架构中,操作系统提供的是最核心、最必要、最精简的功能。在系统运行的过程中,所有的进程都拥有 自己的独立地址空间,彼此之间互不干扰,由内核进行最基本的调度和内存管理。如果某个进程出现错误时,只需要相应地修正某个错误就行了,极大程度地保证了系统的稳定性。
安卓系统架构
Android是用Java语言编写的,很容易学习。但它有一个缺点:不能与系统底层直接进行通信活动,必须通过虚拟机来运行。说直接点就是虚拟机相当于传递者:首先Android应用程序安装在虚拟机上,然后从虚拟机传输到机器的底部,如果虚拟机出了问题话的那系统就是卡住。
Android系统架构分为四层架构,从高到低分别是应用层,应用框架层,系统运行层和Linux内核层。
鸿蒙系统架构
鸿蒙操作系统是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核的开发难度很大,但是系统的稳定性很高。
根据目前华为公布的一些资料信息,我们可以推断出鸿蒙系统是用C、C++语言编写即直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码,这样做的好处就是不需要中转,执行速度快;但这样的操作也有一些缺点就是必须要有大量的静态方案且内存空间要求更高。
鸿蒙系统架构也分为4层分别为:应用层,程序框架层,基础服务层和微内核层。
架构上的主要区别
一、谷歌的安卓系统是基于Linux开发,华为的“鸿蒙”系统也是基于Linux开发,但底层对Linux进行大量优化。
二、安卓系统程序员写APP使用的是JAVA高级语言,打包成APK到安卓系统。方舟编译器,则是让APK打包之前,统一把指令换成安卓系统能读懂的机器语言,省去了"翻译"这个过程。
三、安卓的主要开发语言是基于java,而在鸿蒙系统上可以使用java和js。
应用层面
安卓系统
安卓系统适用于手机,虽然当前有好多设备都是基于安卓开发的,例如车载屏幕等。但实际上都是针对于安卓手机应用的简单扩展。
鸿蒙系统
华为带来全场景 1+8+N 智慧生活,鸿蒙系统 2.0 带来统一控制中心。将会涵盖五大场景,包括智慧出行、智能家居、运动 健康 、智慧办公以及影音 娱乐 。这里提的“1” 指的是手机,手机是未来智慧生活的入口,因此显得额外重要。“8“指的是平板、PC、穿戴、HD、AI音箱、耳机、VR、车机。“N”指的是泛IOT设备。
在应用上,鸿蒙系统显然更强大,并且兼容所有安卓系统的应用。
在安全等级上,鸿蒙采用更高级别的隐私保护功能,开启了多设备的协同认证,全面保护用户的隐私安全。
缺陷与不足
在适配性上,因为鸿蒙系统目前来看只能在华为的手机上使用,但是安卓系统可以在目前所有的安卓手机上使用。
在生态系统上,安卓系统 经过多年发展,软件生态非常完善 ,整体生态系统也变得逐渐的成熟起来,在功能性与实用性上已做得相当出色;而鸿蒙还处在新生阶段,有发展的潜力。
综合来看,说鸿蒙系统是“安卓换壳”是完全不对的,“换芯”应该比较准确。
开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建
开发前的准备:「鸿蒙开发 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按钮后发现我们的页面成功跳转了。
到此,本章的目标就完成了。
鸿蒙os所用的语言开发APP软件,这个只有是内部人员才能够知道的,应该是一些计算机方面的c语言之类的或者是更高级的语言。