鸿蒙和安卓,到底有什么区别?

浪子不回头ぞ 提交于 2021-02-18 01:54:15

来自:程序员小枫

在 9 月 10 日召开的华为开发者大会上,宣布了鸿蒙2.0 系统正式面世,同时开启了 Beta 版本的测试和开源网站。


对于开发者来说两个最关键的点值得关注:一个是 Beta 版的开发工具,一个是开源网站。


开源网站

在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。

OpenHarmony 官方源码地址:
https://openharmony.gitee.com/openharmony


开发工具


鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。

DevEco Studio 下载地址:
https://developer.harmonyos.com/cn/develop/deveco-studio

那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐?


HarmonyOS 项目和 Android 项目对比


资源目录的变更


①资源目录名称有更改

安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile 会原封不动打包到生成的应用里面。


安卓是 res/values 目录,这里是 resources/element 目录。安卓 raw 目录,这里用 rawfile 目录。


②资源目录分门别类,统一管理

Android 目录结构就比较松散,没有统一的文件夹管理,res/values 目录里面可以创建各种资源的 xml 文件,只能去官网查看有哪些可以创建。


这里有 base 目录统一管理。


③部分资目录删除,新增一些资源目录类型


比如 float.json 文件,plural.json 文件,profile 文件夹等。


④编写方式有改变,xml 变更为 json

安卓的 values 里面是 xml 写的,这里是 element 目录里面的,都是 json 格式的。


最后来一张同类型资源对比图:



完整的资源目录的具体变更对比如下图所示:


配置文件的变更

清单文件  AndroidManifest 变成了 config.json 文件。


Java 代码的变更


完整的 Java 目录的变更对比如下图所示:



HarmonyOS 项目和微信小程序项目对比


完整的 JS 目录和微信小程序对比如下图所示:



HarmonyOS 优点


多终端开发调试便捷

鸿蒙目前支持可以开发 TV,wearable, LiteWearable 几种设备类型,未来还会扩展到其他设备。并且一次代码就可以在不同设备快速部署和调试,操作非常简易。

对开发者友好,开发难度和学习成本低


①IDE 开发工具方面

DevEco Studio 是基于 Intellij IDEA 工具定制化深度研发的一个工具,所以对于那些熟悉 IDEA,或 Android Studio 或 WebStorm 这些 IDE 开发工具的朋友们来说应该是很熟悉的,不熟悉的朋友们也可以很快就上手。


另外正是由于是定制化的,所以去掉了 IDEA 里面杂七杂八的东西,只保留与鸿蒙项目有关的 SDK 和工具与设置,开发工具简洁纯净清爽,非常好用。


②语言平台

开发 TV 和 Wearable 项目可以选择 Java 或 JS 语言作为开发语言,开发 Lite Wearable 项目仅支持 JS 语言,都是大众喜爱和用的多的开发语言,大家的接受程度很高。


另外开发 Lite Wearable 项目需要用到 **.hml** 后缀的文件,这是鸿蒙团队自研的一个标签性语言,类似于 html,学习起来一点都不费力。


③框架方面

如果使用 Java 开发项目,你通过 Ctrl+鼠标左键点进去查看源码,你会发现 SDK 里面有很多 API 都是跟 Android 类似的,似曾相识的感觉。


不过也有一些是基于鸿蒙内核和底层一些特性新增的。如果你使用 JS 开发,你会发现和微信小程序写起来很类似。


所以框架层大家一看基本都可以看明白是怎么操作了,很好理解,也是大家都可以接受的,学习起来也不是难题。


④权限处理


另外安卓权限的处理是很麻烦的,鸿蒙里面在 config.json 里面可以配置全局的权限,被别人使用的权限,单独模块的权限,以及自定义属于自己的权限。


而且 Java 代码里面也可以用代码动态申请权限,鸿蒙的权限处理的颗粒度更细,对开发者来说,处理起来也是非常方便的。


⑤测试方便,无需下载模拟器


鸿蒙使用的是云测试,登陆开发者账号即可连接云设备,无需下载模拟器,还是很便捷的,即使换一台电脑,也不用担心因为没有下载模拟器而耽误测试进度,只要有网络,登陆账号即可进行测试。


以上只是 HarmonyOS(鸿蒙)应用开发工具 DevEco Studio 简单介绍,还有更多关于 DevEco Studio 的优势及特点等待您的挖掘。



后台回复“加群”,带你进入高手如云交流群


推荐阅读:

网络故障排除的5款软件

一文吃透Linux提权

Linux的文件系统及文件缓存

Linux系统常用命令速查手册

Linux经典的几款收包引擎

这几个 IPv6 问题,你懂了吗

图解一致性哈希算法,看这文就够了!

网络故障排除工具 | 快速定位网络故障

一文详解 FTP、FTPS 与 SFTP 的原理

一文读懂容器网络发展

5 分钟看懂 HTTP 3

一文搞懂CDN加速原理

Linux used 内存到底哪里去了?

免费下载!《阿里工程师的自我修养》

阿里云深入浅出K8s与CDN排坑指南免费领取

5分钟给你讲清楚Kubernetes

容易被遗忘的10个Linux命令,很实用!

经典!服务端TCP连接的TIME_WAIT过多

8 个问题彻底搞透 DNS 协议

三张图彻底搞懂iptables和netfilter

故障排查:K8s中Pod无法正常解析域名

网络排错大讲解~

HTTP/3 原理实战

OVS 和 OVS-DPDK 对比

微软出品的最新K8S学习指南3.0下载



喜欢,就给我一个“在看”



10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024,即可免费获取!!

本文分享自微信公众号 - Linux云计算网络(cloud_dev)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!