如何开发鸿蒙应用,如何开发鸿蒙应用程序

华为鸿蒙手机应用开发上手体验

之前测试过使用华为DevEco开发智能电视应用。前几天华为发布了手机的测试版,不能免俗,抓紧尝试一下。

公司专注于为企业提供网站设计制作、成都网站设计、微信公众号开发、商城网站定制开发,成都小程序开发,软件按需网站开发等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,成都创新互联公司更提供一系列网站制作和网站推广的服务。

手头没有华为手机测试系统,现在试一下开发环境跑模拟器感受一下。

以前DevEco里是没有手机选项的,现在该选项可以看到了:

这里测试一下Business Card Ability(Java)开发。

DevEco和Android Studio一样基于开源的Idea版本开发的,其结构与安卓开发环境非常像,熟悉安卓的小伙伴应该能很快上手。

入口程序是一个MyApplication,从AbilityPackage继承。

它首先找到了连接的荣耀手机,但这个手机不是鸿蒙系统。

编译是成功了,但提示设备无法使用:

点击Tools - HVD Manager

首先提示登陆华为账号,登陆后,选择一个模拟器运行:

启动以后长这个样:

点击设置,先看看关于:

上面显示大大的HarmonyOS。但感觉画面很模糊,不知道模拟器到底是运行在本地的,还是云端的。但DevEco上显示是Remote Device字样。

鸿蒙OS版本号 2.0.0 Developer Beta1。

再点运行,在指定的模拟器上运行程序。

不过仍然运行失败:

鸿蒙OS版本与平板是一致的,

程序终于跑起来了:

看起来安卓程序好像真能在鸿蒙直接运行,安装一个快手试试:

还真能看:

我真分不清这是安卓还是鸿蒙了 。

鸿蒙系统怎么下载应用 鸿蒙系统如何下载应用

1、工具:华为手机、安卓系统 

2、首先用户需要打开系统自带的应用商店,然后搜索已经适配了鸿蒙系统的应用。

3、点击应用进入到应用的详情介绍页面,然后划到最下方,在【同开发者的其他应用】中可以看到图标右下角带有【HMOS】角标的应用,或者是名字后面带有【鸿蒙版】或者是【HM版】的都是纯鸿蒙应用。

4、只需要点击这些应用,进入到软件下载界面,点击下载就可以下载纯鸿蒙应用,下载完成后,软件的名字就是有显示的。

5、支持鸿蒙系统的应用,都会在应用商店的名字下面标注【含HarmonyOS 服务】,用户也可以根据这个信息来选择下载纯鸿蒙系统的应用。

6、纯鸿蒙系统的应用的后缀依然是APK,但这样的纯鸿蒙应用是不能安装到其它系统的手机上的,也就是说不可以安装到苹果或者安卓上。

鸿蒙3.0系统与华为仓颉编程语言,从系统级6层架构上深入分析

华为的鸿蒙系统3.0开始对9款手机的公测,这其中就包括p50系列的3款手机,mate40系列的5款手机,和一款12.6英寸的matepad pro。这让咱手里拿着的mate30备受冷落。但我自己心里就更加期待华为的仓颉编程语言。这么屈指一算,仓颉编程语言从4月2号开始内测以来已经两个多月了。因此,我预判,鸿蒙系统3.0会跟仓颉编程语言一起来到咱们的身边。

那么在准备迎接鸿蒙系统3.0和仓颉编程语言之前,我这一期帮大家打一个坚实的基础。我相信许多朋友当说起来操作系统或者是编程语言的时候,脑子里其实是有点支离破碎,或者是一头雾水。我帮助大家从一个宏观的角度去鸟瞰,去把握和理解计算机科学体系中的坐标,让你独具一双慧眼,单单靠着你的直觉就能获得专业的视角。计算机科学包括六层架构,操作系统在第四层上,华为仓颉编程语言这样的应用级编程语言则处在第五层上。

咱们先从底部开始,所谓万丈高楼平地起嘛。咱们来先看基础:信息理论。任何学科的基础都是数学,当然计算机科学也不例外。这第一层就是关于数学理论的。咱们日常用的是十进制,计算机则是由0和1构建起来的是二进制。那数学也很简单,就是关于0和1的加法。比如1加1,在十进制中是等于2,而在二进制1加1等于10,这就是所有的数学基础,也就是这么简单。

但是还有更加往上抽象的一个层面的基础,就是咱们在高中时候学习的“布尔代数”。看似不起眼的“布尔代数”研究的是机器如何思考,如何让机器来获得智能这样的问题。

布尔在1854年就解决发表一篇“研究人类的思考规律”的论文,提出了“布尔代数”,为机器如何思考打下了理论基础。

布尔当时的想法很简单。他认为人是理性的,那么人是按照理性逻辑来思考问题的。于是,如果他能把大脑思考问题的逻辑,提炼抽象出来的话,那么是不是就能用这逻辑在大脑之外去思考呢?布尔的这项雄心勃勃的构思就是人工智能的雏形。你想呀,如果把这个逻辑提炼出来用在机器机械零件上,机械零件就会开始思考。如果用在电路上,这个电路是不是也就开始思考了呢。布尔代数咱们就很熟悉了,我就在这里就不带展开,我前面有一期就专门来讲述了这个机器来如何用布尔代数来思考,大家感兴趣可以看下那一期,我在这不展开浪费时间。

再往上第二层就是硬件,布尔他把理论抽象出来,将布尔代数应用到电路上,电路是不是也就能开始思考?哎,到了1938年,香农就首次把布尔代数应用到了电路上,于是这个电路就开始思考了。从最早的真空管到半导体晶体管(我前面那一期也专门讲过“机器如何用晶体管来思考”)然后到集成电路,再到现在这个大型的集成电路芯片。我们知道麒麟9000芯片用的Arm架构的指令集,指挥CPU工作的指令又叫机器码。比如“加法”就是用一串数字机器码00000011来表示。

然而你会发现,用机器码来指挥这个cpu或者电脑工作太麻烦了。一般人哪里能记住像前面的6个0和后面两个1来表示加减乘除的加呢。

正是困扰于此,科学家就此提出来编程语言。最早编程语言是汇编语言。比如前面表示加法的机器码00000011,汇编语言中将其抽象为add。然而,汇编语言也需要大量的记忆,一个指令一个指令的对应,也是太机械了。再往前一步,往上一层抽象就是系统级的编程语言:面向过程的C语言。

一门编程语言所要做的一个主要工作就是在机器和我们人类思考之间建立一座桥梁。我们是人类的思考逻辑,机器是机械 式逻辑思考问题。越高级的编程语言越符合我们人类的思考逻辑,越初级的编程语言则越贴近机器的逻辑。因此,我们用高级的编程语言比如C语言,将想做的事情表达出来,它会自动转换成机器码。

我喜欢的编程发展史上的第二大古老的语言:Lisp语言。

就是直接使用我们的抽象思考的语言。比如重复地来做一件事,重复说五遍“Hello”这个单词。Lisp将重复抽象为dotimes,do是做, times是多次,dotimes反复多次做。看见没,编程语言成了我们抽象的思考工具。

当然,华为仓颉语言也是在编程语言这里,但不是系统级的编程语言,咱们后面再说

当在第二层硬件之上发展出来高级的编程语言,有了系统级的编程语言比如C语言之后。大家就发现,我需要一个操作系统来处理日常的基本任务,比如文件管理,进程管理,内存管理,设备管理和用户管理等等。于是科学家着手用编程语言写操作系统。而事实上C语言在1969年的发明,也正是为了移植与开发UNIX操作系统。C语言的设计者丹尼斯·里奇同时也是Unix操作系统的发明人。到了1991年Linus用C语言写了Linux内核,也是目前安卓和鸿蒙系统的内核。

华为的EROFS超级文件系统并入Linux内核之后,无论是Linux还是安卓都打上了20%的华为烙印。

操作系统再往上一层就是我们日常的应用。比如听歌、看视频等apps就是在操作系统之上。这也好理解,先有了操作系统,才有我们的各种应用。由此也能理解,为什么像鸿蒙系统3.0如此重要,因为应用程序要运行在上面。这些应用程序就是用华为仓颉编程语言等应用级编程语言开发的。不过,目前咱们手机上的应用程序都是用Java开发。未来鸿蒙系统将会使用自研的仓颉语言开发鸿蒙应用。

应用程序的主要功能之一是沟通和交流。我们用Email发邮件,用通讯视频聊天,而Web应用技术构建起来当前的互联网信息大厦。

好了,我们总结一下。计算机科学的六层架构。

第1层是信息理论,研究如何在大脑之外实现思考,布尔代数是人工智能的雏形。第2层是硬件,布尔代数应用到电路上,晶体管开始思考,将数以亿计的晶体管雕刻到集成电路CPU中,CPU的机器码指挥计算机工作。第3层编程语言,从枯燥难记的机器码里发展出来汇编语言,再到系统级的C语言,构建起来人类思考与机器逻辑之间桥梁。第4层操作系统,C语言不是凭空而来,是为了开发Unix操作系统而发明,而操作系统是计算机里最大的软件。第5层应用软件,日常所有的apps都运行在操作系统之上。仓颉编程语言是给鸿蒙系统开发应用程序的专属开发语言。第六层沟通互联,就是我们目前的互联网技术,在网络里看书、听音乐,点一份外卖等等。

这就是计算机科学六层架构,鸿蒙操作系统与仓颉编程语言各就各位。用架构去思考和看问题,不仅能心中有数,还能独具一双慧眼。

「鸿蒙开发 3」华为鸿蒙应用开发的低代码(Super Visual)开发方式

开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建

开发前的准备:「鸿蒙开发 1」华为鸿蒙应用集成开发环境DevEco Studio安装和设置

了解鸿蒙应用开发的基本开发流程:「鸿蒙开发 2」第一个华为鸿蒙(HarmonyOS)应用程序(App)

本章目标:

1 了解华为鸿蒙应用开发的可视化(低代码)方式

2 通过构建一个简单的具有页面跳转功能的应用

低代码开发方式,即通过可视化界面开发方式快速构建布局、编辑UI界面,可有效降低用户的上手成本并提升用户构建UI界面的效率。

1 打开DevEco Studio,创建一个新工程,选择支持Phone / Tablet / Wearable(手机 / 平板 / s可穿戴)的模板,我们在此直接选择Empty Ability

Project name工程名称填SuperVisual

Development mode开发方式选择Super Visual

其它的可以使用默认设置,点击完成,进入编辑界面

1 在Project(项目)窗口,删除工程运行默认的入口文件夹:“entry src main js default pages index”文件夹

2 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”

JS visual name填first,点击完成,进入编辑界面

创建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目录结构

3 第一个页面内有一个容器、文本和一个按钮,通过Div、Text和Button组件来实现

(1)分别选中first.visual画面中的Text、Div组件,单击鼠标右键,选择Delete删除

(2)选中UI Control中的Div组件,将其拖至画布

点击右侧属性样式栏中的通用样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕

点击右侧属性样式栏中的样式图标(Flex),设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的AlignItems样式为center,使得其子组件在交叉轴上居中显示

(3)选中UI Control中的Text组件,将其拖至Div组件的中央区域

点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hello World ”

点击右侧属性样式栏中的通用样式图标(General),设置Text组件的宽(width)为100%,高(height)为100px

点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为60px,使得其文字放大;设置组件的TextAlign样式为center,使得组件文字居中显示

(4)选中UI Control中的Button组件,将其拖至Text组件下面

点击右侧属性样式栏中的属性图标(Properties),设置Button组件的Value属性为 “ Next ”,

点击右侧属性样式栏中的通用样式图标(General),设置按的宽(width)为40%,高(height)为60px

点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为40px

至此,第一个页面创建完成

我们可以在预览窗口中看效果,点击右侧边栏的Preview打开预览窗口

1 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”

Visual配置界面,JS visual name填second,回车(Enter键)或者点击完成,进入编辑界面

2 第二个页面中有一个容器和文本,通过Div、Text组件实现,现在编辑器已经为我们创建好了,我们就来修改下它们的属性(你也可以删除原有的自己创建,具体步骤参考本章第二节“二 创建第一个页面”)。

选中Text组件,点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hi,I'm always here. ”

点击右侧属性样式栏中的通用图标(General),设置组件的宽(width)为100%,高为60px

点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为36px,TextAlign样式为center

这样我们的第二个页面创建成功了

1 在Project窗口,打开工程中的“entry src main js default pages first first.js”, 导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下:

2 打开或者切换到first.visual页面,选中画布上的Button组件,点击右侧属性样式栏中的事件图标(Events),鼠标点击Click事件的输入框,选择launch事件

3 在预览窗口中查看项目效果,点击Next按钮后发现我们的页面成功跳转了。

到此,本章的目标就完成了。

鸿蒙系统发展喜中有忧,5大问题必须重视

7月8日,鸿蒙系统升级量就已达3000万部手机,这是一个很理想的速度。加上升级用户普遍反映体验非常好,这让大家普遍认为鸿蒙大有希望,成功在即。

的确,初出茅庐的鸿蒙,这样的成绩很优秀,但这个时候要注意千万不可以盲目乐观。我们必须清醒地意识到,鸿蒙的成功之路,这才是小试牛刀、刚刚开始,更艰难的工作,还在后头。

一、鸿蒙系统的体验,还基本上没有发挥出其比安卓、iOS领先一代的优势。鸿蒙还需要尽快地把其优势性能体现出来,以持续增加对广大用户的吸引力。

目前升级用户最普遍的反馈,主要集中在日常操作的流畅性、升级的平滑、便利以及对安卓应用的兼容性等方面。

但要知道鸿蒙系统是面向万物互联时代的统一的物联网操作系统,并不只是安卓系统的一个平行替代品。真正体现出鸿蒙作为 领先安卓一代 的优势,才是鸿蒙系统获得稳定市场地位的法宝,不可以疏忽。

比安卓系统强,甚至在很多方面也要比iOS强,这才是鸿蒙成功、成熟的一个标志。 强大的多设备协同、超低时延、更高的存储及文件管理性能、更强大的安全性 等充分发挥,才是战胜安卓系统的真正利器。

这些领先优势的闪亮展现,才会 吸引更多用户,才会督促其它手机厂家也参与到鸿蒙大家庭中来 ,这很重要。

二、适配、升级的节奏要快,要更快。

现在的升级速度当然已经很快了,华为工程师们肯定也是在提速、再提速。工程师们辛苦了,但适配、升级速度对鸿蒙之成功确实很关键,还是要加把劲、再加把劲。

华为手机的增量恢复常态,恢复到每年2-3亿部新机出货,短期内解决的困难很大。这个时候存量手机就是适配、升级的主要载体。但是要知道毕竟 手机的寿命是有限的 。再好用、再可靠的手机,使用寿命也不过三、五年。

此前适配、升级的主要是新机型,往后才逐步拓展到更早的机型。目前的适配、升级已经开始拓展到二、三年前的一些机型,无论如何,这些手机使用寿命已经进入后期。 晚一点儿适配,能升级的存量手机就会少一些 。

三、鸿蒙原生应用开发及生态建设。

这同样是保持对用户吸引力的一个关键因素。用户用的,就是手机上的一个个app,没有足够的app,就谈不上操作系统的成功。目前鸿蒙应用还主要以兼容的安卓应用为主,需要尽早推动更多原生app的开发上线。

真正的原生app,也才能最大程度展现鸿蒙系统的技术优势 。绝大多数主流移动应用都推出原生的鸿蒙app,且功能不弱于相应的安卓应用,鸿蒙才具备了独立发展、繁荣生态的根基。

四、越早升级的用户,要么是铁铁的花粉,要么是对新事物、新技术感兴趣的人。

他们对鸿蒙系统的热情度很高,升级要求也很迫切。但是随着这些用户逐步完成升级,其它用户对于升级鸿蒙系统的热情可能就会弱了。加上更多人其实很难对操作系统有准确、深入的认识,他们其实并不关心系统升级,或是根本就不懂系统升级这个事。

很多手机用户其实从来就不关心系统的升级,或者是清理、重置系统等。要想说服他们升级鸿蒙系统,可就没那么容易了。如果华为新手机还能如2020年之前那样,每年2亿部以上的新机出货量,通过预装鸿蒙就可以达到普及的目的。

但 现在主要靠的是从旧的安卓系统升级而来,这就要求用户要有主动升级的意识,难度要大很多 。越往后,铁粉和有主动意识升级鸿蒙者,就会越少,这个趋势要值得关注。

五、鸿蒙系统成功的根本,还在于华为手机必须恢复到以正常的节奏推出新机,至少也要达到2019年那时的出货量。

每年保持2亿部以上的新机出货,并且直接搭载鸿蒙系统,这才是鸿蒙系统的彻底成功和成熟标志。毕竟存量手机要逐步退出使用的,2021年年底能完成升级的一些早期机型,可能已经使用了3-4年,这些手机大概率在1-2年内就要换新了。

尽管目前 很多铁杆花粉纷纷推迟了换机计划,期待升级、体验鸿蒙系统,并热切期待着华为能彻底解决缺芯困难,华为手机能王者归来 。 但这个过程,显然未必是那么顺利,这个时刻的到来,可能不会那么快。

市场上的存量华为手机也就那么几亿部,而且从明年起每年不得不淘汰的老手机,一年下来也得上千万部。如果短期内不能恢复新手机的正常出货,2年以后的华为存量手机不可避免地开始快速减少,一年换新量就可能达到大几千万部以上。

而今年华为新手机出货能达到1亿部已经很难了,这还基本上是靠存量芯片支撑。明年存量麒麟芯片肯定也剩不下多少了,用高通等芯片也不是办法,毕竟明年了再推4G手机,市场接受度也更低。

但彻底解决缺芯问题,华为手机王者归来,确实是一个大工程,而且还 不能只靠华为自己 。鸿蒙系统的成功,与华为手机的制造、出货恢复正常紧密相关,这其实就是与芯片(半导体)产业的国产化进程密切相关。这需要全国协同,团结一致,共同解决我国半导体产业的太多短板。

期待芯片这座大山尽早彻底攻克,期待华为手机王者归来,期待鸿蒙系统一统天下。


分享标题:如何开发鸿蒙应用,如何开发鸿蒙应用程序
当前地址:http://cdiso.cn/article/dsddipg.html

其他资讯