你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

鸿蒙和安卓的区别

[复制链接]
gaosmile 发布时间:2020-11-26 19:43
对于开发者来说两个最关键的点值得关注:一个是 Beta 版的开发工具,一个是开源网站。
微信图片_20201126194153.png
开源网站
" g! w0 `/ q% H% S
在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。
2 n; l$ }- g# \+ f/ X; i
OpenHarmony 官方源码地址:https://openharmony.gitee.com/openharmony
+ _# D# \- y0 _- f" C

6 J; ~( }) w, ?" k
开发工具

7 R+ ~( b2 c1 o1 m1 ^1 [6 Y1 _
鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。

, ^) w- V2 ]0 V% J* L: M
DevEco Studio 下载地址:https://developer.harmonyos.com/cn/develop/deveco-studio
3 u. P. b; P& b5 q
( U. {* b( C& A8 L. S8 M- H3 B$ J
那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐?

* z; f; T7 z* ]8 ]
HarmonyOS 项目和 Android 项目对比
" E6 }# h+ g8 \& `2 Q0 @
资源目录的变更

, e0 M! b4 Q& x
①资源目录名称有更改

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

% J4 c# c* J6 z) \. W4 d2 f4 R3 D' K* y
安卓是 res/values 目录,这里是 resources/element 目录。安卓 raw 目录,这里用 rawfile 目录。
2 V8 E- W# p( E' V3 v8 T) W1 w
②资源目录分门别类,统一管理

1 r* j0 ?( N! H! a0 L- ]0 v
Android 目录结构就比较松散,没有统一的文件夹管理,res/values 目录里面可以创建各种资源的 xml 文件,只能去官网查看有哪些可以创建。

; U3 M8 D8 q* ?2 a- e2 e0 T
这里有 base 目录统一管理。

$ A5 Y1 F% h# v/ {; `8 Y5 C
③部分资目录删除,新增一些资源目录类型

4 Z$ e$ J/ z$ q  l+ d0 p
比如 float.json 文件,plural.json 文件,profile 文件夹等。
+ e- R9 r4 h& X* A3 u2 S) s* B/ _
④编写方式有改变,xml 变更为 json
/ O) y1 R2 q% y+ u$ f5 Q9 c1 ^
安卓的 values 里面是 xml 写的,这里是 element 目录里面的,都是 json 格式的。

2 n2 X& i+ ~6 B4 n9 W7 J- i
最后来一张同类型资源对比图: 微信图片_20201126194156.png
微信图片_20201126194200.png
微信图片_20201126194203.png
完整的资源目录的具体变更对比如下图所示:
微信图片_20201126194206.png
配置文件的变更

; Y) R1 L) N, n9 J+ z2 U' r
清单文件  AndroidManifest 变成了 config.json 文件。
( t9 d0 f) e7 N2 m5 q; G! E* N; P
Java 代码的变更

! ^. H2 }! b" }8 d3 n
完整的 Java 目录的变更对比如下图所示:
微信图片_20201126194210.png
HarmonyOS 项目和微信小程序项目对比

' |: H" v+ \) A" W% h) L
完整的 JS 目录和微信小程序对比如下图所示:
微信图片_20201126194213.png
HarmonyOS 优点( T$ s" }+ r9 o; n; L

9 ?6 j3 Q; q- K4 j. B
多终端开发调试便捷

, G6 h! f/ `/ n5 v) ~' I( B
鸿蒙目前支持可以开发 TV,wearable, LiteWearable 几种设备类型,未来还会扩展到其他设备。并且一次代码就可以在不同设备快速部署和调试,操作非常简易。1 U5 C2 H- r' y0 x  s

/ |+ r( M* b( s6 y
对开发者友好,开发难度和学习成本低

/ ^7 E( g4 |4 O" r
①IDE 开发工具方面; [3 t+ k8 [" l9 `# I! t" N
DevEco Studio 是基于 Intellij IDEA 工具定制化深度研发的一个工具,所以对于那些熟悉 IDEA,或 Android Studio 或 WebStorm 这些 IDE 开发工具的朋友们来说应该是很熟悉的,不熟悉的朋友们也可以很快就上手。
% v4 Z7 F) \7 t1 _, m% [" P# p& n. b
另外正是由于是定制化的,所以去掉了 IDEA 里面杂七杂八的东西,只保留与鸿蒙项目有关的 SDK 和工具与设置,开发工具简洁纯净清爽,非常好用。

$ W( i1 H, T$ v" e6 Z/ g& i
②语言平台
, E& h: [1 v+ l- b
开发 TV 和 Wearable 项目可以选择 Java 或 JS 语言作为开发语言,开发 Lite Wearable 项目仅支持 JS 语言,都是大众喜爱和用的多的开发语言,大家的接受程度很高。
8 ^* w' m# k+ {; |/ w- l+ {
另外开发 Lite Wearable 项目需要用到 **.hml** 后缀的文件,这是鸿蒙团队自研的一个标签性语言,类似于 html,学习起来一点都不费力。

6 V" H6 M0 D/ ^( n3 [% @
③框架方面
1 e' O/ O# _, y8 `, }9 R
如果使用 Java 开发项目,你通过 Ctrl+鼠标左键点进去查看源码,你会发现 SDK 里面有很多 API 都是跟 Android 类似的,似曾相识的感觉。
+ i* O7 n9 z: Z3 S2 `, e
不过也有一些是基于鸿蒙内核和底层一些特性新增的。如果你使用 JS 开发,你会发现和微信小程序写起来很类似。
9 N9 e) w5 O% s  C/ f, O/ z4 K
所以框架层大家一看基本都可以看明白是怎么操作了,很好理解,也是大家都可以接受的,学习起来也不是难题。
% k. v4 O4 p: I6 S+ H
④权限处理/ N5 r8 ^' @* f  o! M
另外安卓权限的处理是很麻烦的,鸿蒙里面在 config.json 里面可以配置全局的权限,被别人使用的权限,单独模块的权限,以及自定义属于自己的权限。
2 a" \) @. T7 w4 v
! B# Z$ x) n8 ]: B7 |7 B7 b& Q* n
而且 Java 代码里面也可以用代码动态申请权限,鸿蒙的权限处理的颗粒度更细,对开发者来说,处理起来也是非常方便的。
2 B9 _/ g; [4 \2 r
⑤测试方便,无需下载模拟器& A6 B! ]+ ?# A: I! L7 |3 \
鸿蒙使用的是云测试,登陆开发者账号即可连接云设备,无需下载模拟器,还是很便捷的,即使换一台电脑,也不用担心因为没有下载模拟器而耽误测试进度,只要有网络,登陆账号即可进行测试。

3 i1 t: E1 M" i% }' K2 B  w
赞 收藏 评论0 发布时间:2020-11-26 19:43

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版