“没有人能够熄灭漫天星光”。在9月10日的华为2020开发者大会上,余承东掷地有声地说道。
从去年开放的鸿蒙1.0,到今年的2.0。仅仅一年时间,华为就把基础设施全部搭建好。从之前的感知不强,到现在的触手可得,让果核这个半个程序员,觉得无比的震撼,更多的还是对华为的尊敬与佩服。
目前官方开发工具已经能够下载,大家跟着果核去瞧瞧,这个鸿蒙到底是什么吧。
打开官网,https://www.harmonyos.com/ ,首页看起来小清新。
这次华为不完虚的了,直接提供了开发工具和运行环境,允许我们直接上手,开发工具从界面上来看,和IDEA如出一辙,应该是和Android Studio一样,都是基于IDEA软件定制。
IDEA相信大家都很熟悉了,功能非常强大,果核开发程序一直用的也是IDEA系列的软件。
从官网文档来看,也证明了软件是基于IntelliJ IDEA Community开源版本制作。很好,总算国内有一个看得过去的IDE了。
打开软件,华为专属的启动图
目前可以创建的项目是电视和手表,手机应用要等到12月以后就能上线。
很有意思的是,软件开发支持使用Java语言以及JS!!这意味着,你如果会前端的,那么开发起来就更容易了。
先创建一个基于Java开发的手表程序。环境下载非常快,依赖库应该在国内,这一点好评!
下载配置需要的环境,例如gradle,几分钟就搞定了。就这么一个简单的配置,是多少Android初学者的噩梦。
从项目来看,结构基本上和Android项目一致,同样是使用gradle来管理项目。
同Android一样,需要模拟器才能测试。登录华为账号,成功启动手表模拟器。
成功运行Hello Word程序
至此,开发体验到这儿结束了,很简单的一个应用示例,官方的帮助文档也写得非常清楚。
微信广告相信大家都有注意到一点,鸿蒙开发和Android开发太像了,那么是否是直接抄袭的Android,直接改名套壳呢?毕竟我们历史上这么做的人太多了,那么华为能在这么短的时间里面搞定这么多的东西,是不是直接拿Android的东西来用?
Android中,把界面叫做活动:Activity。鸿蒙中,把界面叫做Ability。而进入AbilityShellActivity,可以看到,鸿蒙的Ability,引入了Android的包,这里的代码也正是引起大家争议的地方。
但是,随着深入。HarmonyApplication中的最后一段代码,是和Android进程通信的。鸿蒙作为分布式架构拥有分布式内核,也就是说可能鸿蒙与Linux会同时存在,如果鸿蒙的内核确实是独立于安卓的Linux内核,那么通过上面分析,鸿蒙app启动流程可能是这样:鸿蒙App在鸿蒙的内核中启动运行->鸿蒙内核主动向Linux内核发送请求运行apk包中的代码在安卓虚拟机中创建一个用于与该鸿蒙进程通信的Shell进程,并设置好对应ability的上下文环境->安卓进程通过这个Shell进程与鸿蒙进程通信。
再继续,将鸿蒙的安装包当做压缩软件打开,可以看到,里面居然有apk文件,这可是安卓的安装包啊!!并且和安卓的结构一致。
反编译这个apk中的dex,jar包查看java源代码,发现里面也确实调用到了安卓的api,不过只用到了android.os.bundle,这个类是用来在activity间通讯的。
唔,看到这儿,作为一个开发人员,大概明白是什么意思了。鸿蒙是想兼容Android啊,这么做对于迁移项目真是太方便了。
微信广告当然了,上面的内容也只是猜测,是否确定要等到12月开源手机端才能进一步分析。从技术上来说,果核认为并没有什么不妥的,不过很多人抓着Android的字眼,说鸿蒙抄袭之类的。
不管怎么样,东西已经做出来了,无论大家喜不喜欢,都已经出来了,最后华为要做的就是,把生态搞好,而我们普通消费者关心的是,系统是否流畅,好用安全。其他的交给喷子们吧。
最后附上相关地址
鸿蒙开发工具:
https://developer.harmonyos.com/cn/develop
鸿蒙帮助文档:
https://developer.harmonyos.com/cn/documentation
视频教程:
https://www.bilibili.com/video/BV1mv411179B
果核日记有人知道丛集性头痛怎么治疗的吗,果核已经痛了5年了。每到秋天就时不时的发作,每次痛个一小时,想死的感觉。。各大医院都检查不出问题。
由于微信公众号近期改变了推送规则,如果你想如常看到我们的文章,可以时常点击文末右下角的「在看」;或者按下图将 果核剥壳 星标。这样操作后,我们每次新的推送才能第一时间出现在你的订阅列表中~