“没有人能够熄灭漫天星光”。在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年了。每到秋天就时不时的发作,每次痛个一小时,想死的感觉。。各大医院都检查不出问题。

由于微信公众号近期改变了推送规则,如果你想如常看到我们的文章,可以时常点击文末右下角的「在看」;或者按下图将 果核剥壳 星标。
这样操作后,我们每次新的推送才能第一时间出现在你的订阅列表中~

安卓开发文档_鸿蒙2.0,HarmonyOS开发体验!相关推荐

  1. xiuno开发文档_$ip-XiunoPHP 4.0 开发手册

    $ip 客户端的 IP 地址,格式为:202.106.0.20 . 在开启 CDN 后,它会获取 CDN 转发过来的 IP . [定义] 文件:xiunophp/misc.func.php: $ip ...

  2. php oa 开发,OA开发文档_开源OA二次开发说明 - PHPOA软件文档 www.phpoa.cn

    6.3 Linux下WORD转PDF参数填写 请根据"[Linux]PHPOA配置WORD转PDF操作方法"文档中的安装方式,将第三方软件正常安装,然后将参数配置如下: 注:安装完 ...

  3. tx2 fpga pcie无法读写_Cyclone V SOC(ARM+FPGA)开发文档_之开发流程详解

    双击可查看大图(手动狗头) 目录 Altera Cyclone V soc开发文档 之软硬件开发 1 Cyclone V开发流程介绍 5 专业术语 5 Cyclone V软件开发介绍 6 U-BOOT ...

  4. ubuntu arm qt_Cyclone V SOC(ARM+FPGA)开发文档_之开发流程详解

    双击可查看大图(手动狗头) 目录 Altera Cyclone V soc开发文档 之软硬件开发 1 Cyclone V开发流程介绍 5 专业术语 5 Cyclone V软件开发介绍 6 U-BOOT ...

  5. 银联商务全名移动支开发文档_移动商务

    银联商务全名移动支开发文档 移动商务 (Mobile Commerce) Mobile Commerce (M-commerce, MC) is a special form of electroni ...

  6. 重力加速计低通滤波算法——安卓开发文档

    重力为测量结果中的不变成分.因此在获取到三轴的加速度分量后,可以采用低通滤波的方式分离出重力分量,然后在原始值中减去重力.最后得到不含重力的手机加速度. 手机的x.y.z轴定义如图: 以下为安卓开发者 ...

  7. 容联云通讯php短信接口,短信查询接口_开发文档_容联云通讯

    1.短信模板查询 1.1 请求地址 /{SoftVersion}/Accounts/{accountSid}/SMS/QuerySMSTemplate 1.2 请求包体 属性 类型 约束 说明 app ...

  8. 安卓开发文档!花三分钟看完这篇文章你就懂了!帮你突破瓶颈

    导语 2020年是转折的一年,2021年算是收获的一年,趁着金三银四开始找工作.先分享一下offer的情况 阿里高德(offer) 爱奇艺(offer) 腾讯视频(offer) 小米(被拒) 今日头条 ...

  9. android点对点 sdk,Client(SDK)_开发文档_容联云通讯

    Demo & SDK下载 云通讯平台为开发者提供多语言Demo,让您可以轻松地选择你熟悉的编程语言来体验.以下是官方提供的Demo,这些Demo都是开源的,如果你发现错误,我们欢迎你的反馈,同 ...

最新文章

  1. Java中的多态(for myself)
  2. 【原创】单片系统SoC
  3. 英特尔未来教育核心课程
  4. javacript 裁切图片
  5. ASP.NET vs MVC vs WebForms
  6. fopen、fwrite使用
  7. 拼多多算法笔试2020
  8. 探究.NET的bin引用程序集运行机制看.NET程序集部署原理
  9. Python fullstack系列【2】Python数据类型
  10. R语言在图上标出点坐标_利用R语言的leaflet包根据GPS信息在地图上标点
  11. CSS中filter滤镜的学习笔记
  12. 基于java的薪资工资管理系统
  13. PS给证件照换背景颜色
  14. 苹果手机怎么保存ins上的图片到本地
  15. linux下xz文件如何解压,tar.xz文件如何解压
  16. 看小伙是怎么发现CSDN前10大佬之间的关系的
  17. 最大奇约数(c++实现)
  18. 张召忠:第四次工业革命来了》课堂笔记
  19. 【论文阅读】Dense Passage Retrieval for Open-Domain Question Answering
  20. oracle创建存储过程,hibernate调用

热门文章

  1. Chromium OS 开源项目
  2. 寄存器(内存访问)07 - 零基础入门学习汇编语言19
  3. VMWARE双机安装说明
  4. 明白90/10的原理吗?
  5. python 40位的数减个位数_Python数据分析入门教程(五):数据运算
  6. in最多可以放多少?_汽车最多可以停放多少天不开?维修师傅:尽可能别超过这个时间...
  7. Hive的数据模型-外部表
  8. asc desc排序_21.数据库排序?左连接 ?右连接?
  9. java 责任链模式 链表_责任链模式的实现及源码中应用
  10. [转载] 字符串操作截取后面的字符串_对字符串的5个必知的熊猫操作