189 8069 5689

鸿蒙app开发ppt,鸿蒙app用什么开发

深度解析:华为的鸿蒙系统和你想的可能完全不一样

(杭州健澜 科技 有限公司编辑:张景领 全文约4390字,预计12分钟可以读完)

创新互联公司专注于绿园企业网站建设,成都响应式网站建设公司,购物商城网站建设。绿园网站建设公司,为绿园等地区提供建站服务。全流程按需定制制作,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

华为的鸿蒙(Harmony OS)系统正式发布了,在发布会之后意料之中的出现了两极分化的评论趋势,说什么的都有,像什么忽悠人、改别人的、手机不能用等等,但如果你仔细去分析发布会上有关鸿蒙系统的全程内容,你会发现它和大多数评论中的那个“系统”是不一样的,大家不要盲目去诋毁“鸿蒙系统”,同时也不要肆意吹捧,否则很容易变成“捧杀”,在参与讨论之前,我觉得大家有必要先搞清楚,它是一个什么样的系统。

在发布会上,他们用了很多专业的名词进行功能解释,我相信这是大多数观众听不懂的,甚至大多数媒体的编辑也听不懂,在这种背景下,不管是吹捧的,还是诋毁的,都没在靠谱的频道上。

以下为我个人对鸿蒙(Harmony OS)系统的理解,现在就分享给大家:

目前我们正在使用的各种智能设备,如:手机、PC电脑、平板电脑、智能手表等,它们全都有自己的系统,即使是同一个品牌下的产品,也会有专门为它定制的系统,如苹果公司:

手机 iOS

电脑 MacOS

手表 watchOS

电视 tvOS

平板 iPadOS

虽然苹果公司将它们之间的互动做得很好,但仍然需要大量的人工来编写和维护不同的系统,站在开发者的角度来看,可能需要针对不同的平台调整不同的架构和UI,这是一个比较耗时的工作。

在使用的过程中,不同设备之间的系统需要去判断你的操作,然后根据不同的平台,不同的操作来给你调用不同的程序来执行,对苹果产品来说,自家产品之间互通体验还算不错,但如果和安卓设备或windows设备之间互动就显得麻烦很多,早期用苹果手机的人,想把照片拷贝到电脑上都很费劲,甚至这是很多苹果手机用户需要学习的第一课“如何把照片复制到电脑上”。

对Android系统的设备来说就更别提了,除了系统的碎片化之外,不同厂商之间都有自己的规则,没有一个统一的标准,再加上乱七八糟的第三方APP,导致安卓设备体验极差,相互之间想要达到完美契合的程度,需要比苹果付出更多人力和时间,所以很多大 游戏 或是应用,都是最新上架苹果商店,更新也是苹果设备先更新,因为相对来说,苹果系统更容易维护。

Android系统现在看上去还不错,但其实它有个很狼狈的过去。我学过软件开发,学会网站编程,学过数据库等N种编程语言,甚至稍微有那么一点点开发经验的人都会知道,如果你去修改一个别人的程序,如果这个程序一直在被不同的人,不同的时期维护,这里面就会出现大量的垃圾代码。

有垃圾代码不可怕,可怕的是谁也不敢动,不敢删。这些垃圾代码虽然看上去没用,但说不定某一条就与另一个指令相连,如果你删了就会产生连锁反应,甚至会导致系统崩溃,所以比较稳妥地做法就是,在不改变原有代码的情况下,把自己想要的功能再加进去,备注上自己的名字。

这会造成什么问题呢?我们举个例子:

你想从16楼到1楼拿快递,原本只要从固定的电梯直接到1楼即可,也就30秒不到,结果你从家出来发现楼道有30个电梯,上了一个之后发现它只到13楼,你只好下来再进另一个,运气好能到1楼,运气不好估计还得在6楼停一下,运气最差的情况你可能坐了20个电梯都还没到1楼。

这就是垃圾代码带来的副作用,现在的Android就是这个情况,大家都知道有垃圾代码,也知道它会影响运行效率,但谁也不敢动,或者说谁也不会去动,都不想承担系统崩溃的风险,这是人之常情。

华为的鸿蒙系统提出一个“微内核”的概念,其实这个谷歌新系统Fuchsia OS就是微内核的系统,它们希望用这个全新的系统来替代Android这种老弱病残的现状,因为它身上的顽疾太多了,还是没药可救的那种。

这种“微内核”的系统最大的好处就是,可以让开发者提交的应用,最方便、最快地适配所有硬件,这对消费者来说也有非常大的好处,你可以第一时间更新你手里的所有智能设备,类似苹果每年的大版本系统更新,几乎全球的用户都可以同时更新,这是国内Android用户这辈子都体验不到的,所以我们只能寄托于新的系统。

Harmony OS 鸿蒙,基于微内核的全场景分布式OS。

“基于微内核的全场景分布式OS”这句话是重点,它不是一个专门为单独设备准备的系统,它是一个平台式的系统,可以通过中心网络派发资源和功能,所有功能又可以单独使用,灵活多变但统一和谐。

我们再来深入地拆解一下鸿蒙系统,它与普通系统最大的不同之处在于,它在运行程序的一开始并不是直接执行所有内容,而是先判断你是什么设备,然后直接走单独的通道去执行,而所执行的这些程序,不管你是电视、电脑、还是手机,它们用的都是同一套系统,只是在最开始的时候选择了一下设备,这个系统并不是给某种设备单独定制的,而是一个通用的系统。

这样做的好处就是,每次你需要维护的时候,只需要把第一层的东西做升级,下面的底层是不用动的。这就好像系统是一台CD机,不管谁家的CD都可以在我这里播放,只要你按统一的Copy程序做的光盘就行了,如果你想听其他人的音乐,只要换张CD即可。

而以往的系统就比较麻烦,如果你想换一张CD,可能需要针对这张CD去制造一台CD机,最差也得把这台CD机修改成可以播放的样子。

除了设备间的独立之外,它会让硬件本身的功能成为系统可以调配的东西,比如手机上的摄像头,它甚至可以通过系统间的调度被电视或手表使用,因为它们用的是同一个系统,所以具备了相互通信的能力。

你们有没有看过《速度与激情》这部电影,它里面的天眼系统其实就是在调配所有生活周边的摄像头来获取画面,从而准确地追踪到目标人物。虽然鸿蒙还没有这么高级,但它已经是个雏形了。

相信很快我们就可以用家里的电视屏幕当大疆无人机的显示屏用了,这会给我们带来无限的 娱乐 空间。

当然要实现这种功能上的调用需要二个条件,第一个就是必须是采用了鸿蒙系统的硬件;第二就是必须登陆了相同的华为账号。这里面涉及到了另一个生态的问题,我们后面再讲,还是先说系统。

可以单独调配资源的另一个好处就是,它可以像我们现在的智能路由器一样,根据你正在做的事情来给你不同的性能。如果你正在玩 游戏 ,它可能会保证你玩 游戏 的同时,再去帮你升级一下系统,但它还不能影响你的网速;如果你正在看视频,在这种几乎不需要性能的场景时,它可能会在后台帮你彻底杀毒或自检一次,这种优化能力其实现在的手机也可以做到,但这个逻辑本身就是吃性能的,所以当它以系统的一部分出现的时候,才是最完美的。

这功能其实你是看不到的,但从其它地方你也可以间接发现,如:费电小了、发热小了、打开东西更快了、不用老去清理缓存了,蓝牙耳机玩 游戏 或许都没延时了(我发现了一些端倪,他们已经在做蓝牙耳机玩 游戏 降低延时的测试了,EMUI 10.0见)。

至于系统安全性方面,我并不是专家,所以在这里没办法给大家更深度的普及,但我可以说一下我个人的理解。鸿蒙系统这类微内核的系统,本身是非常小巧的,代码量也不大,所以它可以用到更深度的安全级别措施。

另外它天生就没有root权限,也就是说不会给任何第三方应用或个人系统最核心的权限,这也算是最大限度的保证安全的措施之一了。可能很多人说手机不能root就没什么可玩性了,但我个人认为没有是对的,因为这样可以最大限度的保证系统的安全以及流畅性。

可能你们还没注意到,很多手机第三方主题、字体、甚至动态壁纸,都会明显影响手机的流畅性,这里面字体的影响是最大的,很多莫名卡顿的现象换成系统默认字体立刻就好了。

我们来看一下鸿蒙OS的整体结构,其实它仍然保留了Linux内核,这样一来就可以直接兼容安卓应用,这在初期是非常重要的,毕竟不能让用户买回来没得用,在这段过度期中间,华为方面肯定会联合各大主流厂商定制属于鸿蒙OS的专用APP,这才是发挥它性能的最佳方式。

也就是说,在兼容安卓APP的这个时间里,它的威力还没办法完全施展出来,当那些采用“方舟编译器”开发的应用上线之后,才能发挥它至少八成以上的实力,当鸿蒙OS的生态建立完全时,才可以发挥接近100%的实力。这也是我为什么说,鸿蒙OS需要时间来沉淀,它不可能一上来就是满血状态。

我们可以理解为,现在所有用“方舟编译器”开发的应用,都可以在鸿蒙OS中发挥最快的效率。

当使用方舟编译器的应用足够多时,或者说90%以上常用APP都有方舟编译器的版本时,鸿蒙OS的底层会完全抛弃Linux内核,只保留鸿蒙微内核,这个时候才是鸿蒙(Harmony OS)系统正式独立且完全独立的日子,这一天才是它的真正崛起的日子。

为了早日实现这一天,其实华为方面下了很多功夫,甚至他为开发者提供了非常舒服的便携环境,很多基础操作都可以直接用拖拽的方式来完全设计,模块化编程是未来的趋势,我这种曾经只会手动敲代码的老古董已经被淘汰了。

它可以让你一次开发,同时适配所有搭载了鸿蒙OS的设备,这是无数安卓开发人员的梦想,只可惜在安卓系统上已经没办法实现了。

我估计后面华为会为开发者提供不错的奖励措施,有奖励,有平台,有目标,有未来,生态成型基本上就是时间问题。

【产品的诞生】

现在的鸿蒙OS是可以用在手机上的,但支持的APP并不是很多,而且生态还没有建立起来,这些都需要时间,之前我和瓦力读者说是2年时间,这与发布会上华为方面的规划基本是吻合的。

现在拿出鸿蒙OS的目的很简单,告诉大家鸿蒙OS并不只是PPT,它已经是完整的系统了,顺便让那些喷子闭嘴。另一个原因是,它的电视用上了鸿蒙OS,没必要藏着掖着,同时也是给那些应用开发者一个定心丸,让他们可以放心为鸿蒙OS开发应用。

这里有一个“因素”很重要,如果明天美国不让华为用安卓系统了,鸿蒙OS就必须提前应用到手机上,这是一个没办法的备选方案,至少可以用,虽然和常规安卓没什么大区别。

但如果换了另外一个厂商,如小米、OPPO、vivo等,这几乎是毁灭性的打击,所以防患于未然是必须要做的。但小米他们暂时没办法弄自己的系统,因为这需要很多钱,很多人,很多时间,即使有一天美国禁止全中国的手机厂商使用安卓系统,其实鸿蒙OS也可以给大家用,与其说它是华为的应急方案,倒不如说是全中国手机厂商的应急方案,其实如果不是万不得已,华为也不想这么早就把鸿蒙OS用在手机里,时间点太靠前了。

到了2020年,鸿蒙OS会被用到笔记本电脑、手环、手表中,2021年才是应用到手机上的最佳时机,那时候有没有安卓系统都已经无所谓了。这样做也是为了先把生态和周边做好,手机出来的时候,可以直接整合,用户上手就是完全版本的体验,这也是最稳妥的方式。

如果你对手机系统或是手机行业有一些了解,相信看完我上面的分享之后应该明白了,鸿蒙(Harmony OS)的目标根本不是Android,而是谷歌正在开发的Fuchsia OS,以及苹果正在部署的相应系统。

所以那些经常用Android来和鸿蒙(Harmony OS)说事的人,应该换换思路,是时候接轨下一代系统了。

鸿蒙系统是不是就是改版的安卓系统?

鸿蒙HarmonyOS是基于微内核的分布式OS。众所周知,华为在受到一些限制之后,很快就公布了鸿蒙系统的消息,还说鸿蒙系统将会最快在今年秋天发布,最晚也是明年春天。很多人也希望鸿蒙系统能早日发布,但是任正非曾经一句话说出了这件事的重点,也就是说鸿蒙系统难的不是操作系统,而是生态,毕竟华为的操作系统研发从2012年就开始了,一直到现在,再加上华为的体量,每年的研发的费用投入确实对于华为来说不难。

学java都知道微服务和分布式。那么手机系统怎么分布式呢?难道让你买好几部手机共同运行一个游戏?应该不是。这个微服务应该是适用于物联网的。也就是你家的电视冰箱运行的同样的微内核,只不过内容不太一样。

这样你家的所有电器从内核上就连在了一起,他们比小米家庭比homekit连接得更紧密,因为他们是几个微服务组成的一个系统。

以上功能不是我的猜测,华为的ppt也提到了。运行鸿蒙的电视手机平板可以无缝切换。

目前从华为放出的消息来看鸿蒙肯定不是在开源安卓基础上修改的,但是我没有看过鸿蒙的源码,因为我看不懂,秉着实事求是的态度来说我也不知道他到底是不是修改的安卓。

那么为什么很多人说鸿蒙是在安卓上修改的,因为鸿蒙兼容了安卓。鸿蒙是一个新的系统,软件还不完善,系统再好没有微信支付宝也和平精英对于在座的各位也只不过是一个功能机,所以必须要兼容安卓的软件。

到后来鸿蒙的软件完善后就可以甩掉安卓这个包袱了。下个月华为会发布新机,大家就可以体验到鸿蒙了。

2021-02-05鸿蒙开发(二.五)

Intent

Intent是对象之间传递信息的载体。当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个AbilitySlice时,可以通过Intent指定启动的目标同时携带相关数据。Intent的构成元素包括Operation与Parameters。

Intent的构成元素

Operation

Action: 表示动作,通常使用系统预置Action,应用也可以自定义Action。例如IntentConstants.ACTION_HOME表示返回桌面动作。

Entity:表示类别,通常使用系统预置Entity,应用也可以自定义Entity。例如Intent.ENTITY_HOME表示在桌面显示图标。

Uri:表示Uri描述。如果在Intent中指定了Uri,则Intent将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。

Flags:表示处理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION标记在本地的一个Ability是否可以迁移到远端设备继续运行。

BundleName:表示包描述。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

AbilityName: 表示待启动的Ability名称。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

DeviceId: 表示运行指定Ability的设备ID。

当Intent用于发起请求时,根据指定元素的不同,分为两种类型:

如果同时指定了BundleName与AbilityName,则根据Ability的全称(例如,“com.demoapp.FooAbility”)来直接启动应用。

如果未同时指定BundleName和AbilityName,则根据Operation中的其他属性来启动应用。

鸿蒙应用开发之真机调试

参考 鸿蒙官方文档(点击传送门) ,做一下流程梳理简化,及踩坑记录

华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。

贴一下官方的调试流程图:

总结一下:

上面这个流程可以忽略,没讲到重点。真机调试是需要在   AppGallery Connect 中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。

先决条件:

1. 鸿蒙手机通过USB连接电脑,并开启USB调试。

2. 一个华为开发者账号,实名认证

3. APP开发工具DevEco-Studio

关键流程:

1. Studio创建应用

2. 如果未登录过,File Project Structure Project Signing Configs签名配置页,点击“Sign In”

3. AppGallery创建应用(包名和Studio创建的一样)

4. 官方文档到这在签名配置页就点Try Again可以自动签名,我试了不行,以下全是手动

5. Studio中Build Generate key and CSR   生成p12和csr文件

6. 获取手机udid,命令行hdc shell bm get -udid(下一步设备管理要用)

7. AppGallery主页 用户与访问 左侧设备管理添加udid的设备(生成p7b时要用)

8. AppGallery主页 用户与访问 左侧证书管理生成cer文件(生成p7b和签名配置要用)

9. AppGallery主页 我的项目 左侧HarmonyOS应用 HAP provision profile,生成p7b文件

10. 最后在签名配置页配好 p12、p7b、cer等参数,运行鸿蒙应用到真机就行了


网站题目:鸿蒙app开发ppt,鸿蒙app用什么开发
网页路径:http://jkwzsj.com/article/dsisjed.html

其他资讯