重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建
彭泽ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
开发前的准备:「鸿蒙开发 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按钮后发现我们的页面成功跳转了。
到此,本章的目标就完成了。
最近看到很多自媒体都在说:华为鸿蒙系统虽然号称有120万开发者,但鸿蒙原生APP到现在却只有300多个。所以华为自提供系统,至于软件,能用安卓的就用。
咋一看,这种说法好像也没有问题,因为系统最重要的就是生态,如果周边生态跟不上,哪怕是强如当年微软搞得WP也皎然于民。
所以当鸿蒙一发的时候,我们都期望它能够迅速占领市场,完善自己的生态圈,当我们看看有120万的开发者,只开发出320APP的时候,这个数字的背后确实让人困惑不已,也对鸿蒙的前景表示担忧也很正常。毕竟这个数量太少了,难道鸿蒙以后就靠安卓软件活下去吗。
关于鸿蒙的面世,这里不做更多详细探讨,总结起来就是一句,备胎的产物。如果漂亮国没有封禁华为的话,鸿蒙也许只会出现在物联网上应用,手机系统?也许后期会有,但至少不是现在这种情况面世。
但计划赶不上变化这句话很好描述了华为这几年的情况,鸿蒙的出现也许不是最正确合适的时候,但它也足够优异,因为它的发展确实比预料要快一些。根据华为官方说法,有300多家企业加入鸿蒙生态,已经有65款硬件设备可以升级到鸿蒙2.0版本,同时搭载鸿蒙系统的终端设备已经接近一个亿,对于一个新生的系统来说,这确实是个不小的成就。
但看似美丽数据背后却带着未知的危机,虽然数据来看,鸿蒙系统确实已经很好,看上去也不会担心它以后的发展之路。
但实际上鸿蒙现在面对最大的难题就是生态,这就是前面提到120万开发者只开发出300多个原生鸿蒙APP的说法。
鸿蒙系统现在最大的问题还是在生态不够健全,借鸡生蛋终究还是临时办法,加上谷歌现在把鸡也杀了,那么只会自己养鸡生蛋了。所以鸿蒙想要独立成第三大操作系统,不走微软和三星的老路,那么鸿蒙就是首先学会养鸡。
当华为称鸿蒙的生态的开发者有120万的时候,人们觉得华为的鸡已经养起来,但当宣称只开发了320个APP的时候,人们就怀疑华为养的是公鸡吗。因为按照这个算法,几千人才才开发一个APP 这显然不正常。
百万人开发几百个APP显然是不正常的,但在这百万人当中,首先我们要搞清楚有多少是鸿蒙系统的开发者,因为按照华为官方的说法,这120万的开发者是HMS的开发者,因为华为在被漂亮国禁用GSM以后,华为就自行建立了HMS服务。原则上来说,这些开发者都算是鸿蒙生态的开发者,根据华为官方的appgallery统计,支持HMS服务的软件有上百万个,所以如果按照这个算法,这些开发者开发的APP也不算少了。但如果是按照鸿蒙原生的APP计算,那么情况就是另外一种说法,这是计算和统计不一样引起的结果。
如果非要给出一个定义,那么只能说这120万是华为HMS生态的开发者,它还不完全算是鸿蒙系统的开发者,毕竟HMS发布要比鸿蒙早很多。因为这部分人大多是开发软件服务,而不是原生软件,所以120万对鸿蒙来说多少有点文字 游戏 数字。
每一个系统生态的建立都需要时间的沉淀,作为一个只发了几个月的系统,它原生APP少主要可能是两个方面原因造成一是它兼容谷歌安卓的应用,一般性的企业不会再独立开发鸿蒙APP。所以也许这120万里有鸿蒙系统的开发者,但他们还在观望当中,毕竟再搞一套,技术、时间、成本都是一个不可能不考虑的问题。
二就是鸿蒙系统硬件支持还不够,虽然前面说到有接近一亿用户,但在手机领域有多少我们没有准确数据。加上华为手机前景的未知性,这会让这120万当中的观望着更有耐心。毕竟做出来的软件它不是说说就可以,要人力时间精力还是后期维护等等,在鸿蒙现在的情况下,有着更多的观望者其实并不奇怪,因为不管从那个角度来说了,只要开发出安卓应用,同时兼容鸿蒙它已经足够应对目前的情况。
客观来说,目前鸿蒙距离安卓和IOS还有很大差距,也许它比当年的WP用户数量还要少。但鸿蒙作为一个挑战者,一个从零开始的挑战者,它开局的艰难是有预估的,存在的劣势也是必然的。要知道安卓和苹果有今天相当成熟的生态优势,他们是经过时间的沉淀才有这样的结果。当相对于安卓在中国就有500万开发者,苹果的440万开发者,鸿蒙全球才120万开发者,而且还是带着不少水货的情况,这显然还是不够的,想要做第三的市场份额,鸿蒙还是很长的时间和努力才会有机会实现。
目前我们对鸿蒙前景也不要太悲观,毕竟它才几个月大,它的潜力还在,而且目前看它还有它自身的优势。按照目前势头发展下去,当有足够的硬件支撑它的时候,相信很多的观望着会纷纷入局,到了那个时候,鸿蒙原生的APP自然就会丰富起来。
对此你有什么不同的看法,欢迎评论讨论!
在我看来,鸿蒙的应用app市场现在短缺是非常正常的一件事情。首先,鸿蒙系统开放只过去了短短的几天时间肯定还有很多企业没有搭建好合适的app。所以现在出现这样的状况也是在意料之中的。我相信随着大量的用户开始使用鸿蒙系统,那么他们必然会跟随客户,构建属于自己的鸿蒙系统app。那么今天我们就来探讨一下,华为鸿蒙系统跟安卓系统的区别以及面临的困境。
第一,他们之间的区别是哪些?
我们都知道安卓系统是一个开源系统,谁都可以拥有它的基础代码,同时可以开发属于自己的系统。但是虽然他是免费的,却并没有哪个企业可以真正做到通过它来开发自己的系统。而现在华为做到了。在最开始的时候,很多人都说华为的鸿蒙系统是安卓系统的套牌。但是从现在的鸿蒙os来看的话,很明显他们具有很大的区别。
第二,华为目前的困境。
虽然我在最开始比较看好华为以后的应用,app肯定能够逐渐的增长起来,但是想要媲美苹果的app以及安卓的app应用程序还是比较困难的。一方面是因为他们都积累了长达十几年的时间,而另外一方面则是因为用户量直接决定了他们的消费群体。
第三,如何评价华为的鸿蒙系统?
从华为的鸿蒙系统以及它的后续发展可以看出,华为的野心是非常大的,他想要从全方位搭建出属于自己的商业帝国,在某种程度上,我们可以把今天的华为看中是以前的苹果。华为不仅仅想要搭建出属于自己的系统,同时他又投资了光刻机领域,而且在信号站,基站以及通信领域都有着自己的想法。如果再发展的话,我相信华为发射一颗卫星也不在话下。
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中的其他属性来启动应用。
之前测试过使用华为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版本与平板是一致的,
程序终于跑起来了:
看起来安卓程序好像真能在鸿蒙直接运行,安装一个快手试试:
还真能看:
我真分不清这是安卓还是鸿蒙了 。
一、在华为如日中天的时候,华为都没敢推鸿蒙系统,而是把鸿蒙系统当作“备胎”慢慢发展。现在,华为被制裁了,只能把鸿蒙系统紧急推出来了。至少,鸿蒙是仓促上马的系统,却要和一个已经发展许多年,非常成熟的安卓系统竞争,还能轻而易举地赢了!三星真要哭死在厕所里了。昔日三星联合了英特尔搞出来的Tizen系统,还是按部就班进行的研发,依旧是无法弄出自己的生态圈,最后只能沦落成家电的系统了。从这个角度来看,安卓工程师不用太担心安卓的生态系统被威胁,鸿蒙的生态圈很难发展到能够与安卓比较。
二、华为自己都说了,鸿蒙系统当初设计就是想做家电的系统,是与三星Tizen类似的东西,主要应用方向是家电和物联网。现在是因为制裁的原因,赶鸭子上架成为了手机系统。这种临时改变用途的系统需要大动干戈才能完善对手机的应用支持。可以想象,如果鸿蒙系统对手机的支持有缺陷的话,做手机应用就会非常困难。也因此有理由相信,现在鸿蒙手机如果对安卓应用的支持特别完美,就更说明鸿蒙的“拉皮”可能性了。如此一来,安卓工程师就安心开发安卓应用就好了,因为鸿蒙一定可以完美运行你的应用,这就没有放弃安卓开发的必要了嘛!
至此,我想现在考虑鸿蒙把安卓的阵地攻破了实在是太早了。所以,大概率,没有哪个安卓工程师会放弃安卓去弄鸿蒙,顶多是测试一下应用能不能在鸿蒙环境下运行罢了。还是把兼容性这件事儿交给鸿蒙去搞吧。
鸿蒙出来的话,安卓工程师并不会失业,取决于自己想不想在鸿蒙上开发软件。
鸿蒙的应用程序开发,主要是基于Java和NodeJS,基于Java的整体框架结构与安卓极其相似,加上其开发环境DevEco Studio与Android Studio同宗,安卓工程师可以极短的时间迅速上手鸿蒙应用程序的开发。当然,一些做前端开发的小伙伴也会进入鸿蒙平台进行开发,但这部分小伙伴往往是会用一套代码、同时适配多个应用平台(类似国产的uni-app),这些本身就在和安卓开发有一种竞争关系,并不会因为鸿蒙的生产而发生多大变化。
另外鸿蒙的开发平台,也可以很轻松在智能屏、智能手表、车载智能设备等设备上调试开发,总体来说,如果鸿蒙火起来,就会有更多的软件开发需求了,安卓开发工程师会更吃香。建议大家多多接触鸿蒙生态,多学一点知识对自己是一个积累储备,总不会是坏事。
错,是谷歌、微软和苹果要倒闭了!
鸿蒙系统配备方舟编译器,兼容安卓应用,但运行效率……(此处省略1000字,翻2019年文章)……鸿蒙系统能在所有设备运行,支持手机、电脑、平板、物联网……(此处省略1000字,翻2019年文章)……
我想说的是你们太不懂华为了,其实鸿蒙早已开发完成并且随时可用!他一直在忍,在等一个机会……
非常肯定的说不会失业。我们知道鸿蒙OS有很多地方借鉴了Android,甚至是说底层有很多Android的代码,开发思维很多都跟Android相似。比如写UI有Java方式和JS方式,而Java方式的UI和Android如出一辙,在Xml里面写界面,在Java里面获取控件设置数据,处理逻辑等等。鸿蒙里面也有Intent来处理跳转传数据,而鸿蒙的Ability更是和Android里面的Context,Activity这一套很相似,分前台界面显示,后台不可以的服务,以及用来传数据的Ability,就像Android里的Content Provider。当然它们之前也有不同,但你在方方面面都能看见Android的影子,所以Android开发者转鸿蒙平台开发,相比于其它平台的开发者,是天然有优势的,只要企业有需要,几乎所有Android开发在适应一段时间后都能上手做项目了。
相反的是鸿蒙生态能不能发展起来,能不能解决Android,iOS生态的一些痛点。能否吸引企业去开发鸿蒙应用,开发时,能否降低成本。当企业花大量的人力,物力开发出来的应用,没用户使用,或者收益甚微,企业是不愿意去尝试的。要想发展鸿蒙生态,这方面不仅华为自己要努力,一些国企,知名大企些带头作用,像央视影音,新华网,京东等等已经发布鸿蒙平台的APP了。
如果鸿蒙生态发展的很好,有大量的用户大量的应用,挤占了Android和iOS的市场占有量,Android开发者能迅速转到鸿蒙平台上,iOS的开发者要怎么办呢。也许你会说iOS根本不需要考虑,Android的市场占有率这么高iOS还不是活的好好的,当年诺基亚也没想到自己会倒的这么快。
作为一名android开发工程师,我想说,失业是不可能的,这辈子都不可能失业!
也许身为移动端开发人员的我们,正处于一段乱流之中!
首先,来谈谈android的碎片化问题。
仅仅2014年,全球支持Android的机型为18796种,再来看看国内,华为、小米、oppo、vivo...,android手机厂商也很多,每个品牌都是基于android开源系统改造,android开发人员要在完成软件功能的同时,对不同品牌的手机做功能适配,非常麻烦。
除了手机品牌数量多,手机屏幕的尺寸适配问题也很麻烦,往往一个软件的开发,有60%的时间在适配工作上。
是的,现在鸿蒙来了,意味着什么?意味着android开发人员有必要或者就必须去学习一门新语言、一个新系统的开发、适配,对于一个企业来说,要么就增加人工成本请一个鸿蒙系统开发人员,要么就强制在职android开发人员重新开发一遍软件适配鸿蒙系统。
基于此,不知道有多少android开发人员会买账,不知道多少企业会加个鸿蒙系统平台,不知道鸿蒙系统能不能站住脚推广开来。
虽然现在鸿蒙系统可以兼容android应用,但以后必然会两级分化。
如果鸿蒙系统没有革命性的突破,如果美国不再卡脖子,如果没有国家的干预措施,只靠平民大众自觉爱国的方式支持鸿蒙系统,我看很悬啊,毕竟,苹果手机在国内的销量一如既往!!!
再者,在手机行业,小米、oppo等手机厂商和华为本是竞争关系,会放弃自己的系统换成鸿蒙系统吗?这样的话,其他手机厂商的生存空间会一天不如一天,就算鸿蒙开源使用,也只不过走android碎片化的老路!
系统之争本就不是一朝一夕,不用担心会不会失业,路,还很长!
实际上安卓系统的成功起初很大得益于中国市场,可以说中国市场选择谁,成功的几率非常大, 鸿蒙系统出世以后,安卓开发工程师会失业吗? 暂时不会的,毕竟有一个过程,也是一种博弈过程,实际上安卓系统与鸿蒙系统现在没必要刻意追求细小细节的优劣,前提是由于美国对中国的打压,谷歌断供服务华为,别看只是说切断了华为的服务,但是这种破坏性本身就是让各国包括中国对美国不可能再信任,今天是华为,明天有可能是另一家企业,无论美国怎么说,谷歌再会解释,实际上这种行为已经打破了行业规则,后期效应就是不可能再一味的依靠美国,各国发展自己的系统,中国也必须的推出自己的系统,大势所趋,安卓体系以后会慢慢萎缩,安卓开发工程师失业不失业就凭他们个人能力了,肯定减员,估计未来的鸿蒙系统会越来越强大,市场份额是固定的,就看谁的市场大了,也不排除安卓开发工程师跳槽来鸿蒙。
开发鸿蒙只能在华为支持的鸿蒙设备上运行,开发android,可以在所有安卓设备包括鸿蒙设备上也兼容运行,何来失业
做安卓的一天不用就能写鸿蒙。可以忽悠甲方加钱了[泪奔]
不会,确切的说鸿蒙的出世,给Android工程师提供了更多的机会。鸿蒙生态的建设,安卓工程师会贡献绝对的力量。
另外,从技术上讲,安卓开发的应用完全兼容鸿蒙,安卓工程师开发安卓应用的时候,可能会针对鸿蒙系统做适配工作,工作量的增加,工程师的价值也会增长。
是得我就是干这个 但是我都计划改行了