鸿蒙程序开发教学,鸿蒙系统开发课程
如果华为的鸿蒙系统推出成功,那么程序员是不是也要重新学习适应鸿蒙系统的开发语言?
不用,因为对于大多数的程序员来讲都是属于应用开发,根据的介绍,华为即将推出的鸿蒙操作系统兼容了安卓所有应用,所以对于目前市面上主要的应用开发人员来讲,其实是没有特别大的影响的,更不用说去学习新的开发预言了。
公司主营业务:成都做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出石棉免费做网站回馈大家。
不过也有另外一种情况,那就是对于系统安全领域的应用,比如各种安全卫士、杀毒类的应用来讲,那是必然需要对华为的鸿蒙操心系统进行适配的,5月25日360就宣布会积极适配华为的鸿蒙操作系统,不过整合中适配的难度应该也不会太大,毕竟鸿蒙系统跟IOS不一样,它不是抛开安卓系统外另起了一套,而是跟安卓系统一样都是基于Linux开发而言,因此在应用适配方面,估计跟当前的安卓应用开发也有一定的相似性。
安卓是基于Linux的,是宏内核,由一堆底层特权模式的核心代码紧密组合在一起。这个架构的灵活性是不够的。面对各种硬件配置的手机,或者平板、电视之类的系统,它都是这一个架构,怎么适应?于是就搞出一个叫“虚拟机”的东西,假设大家都是在虚拟机上运行,代码是跨平台的。每一个安卓应用,都在操作系统底层对应着一个虚拟机实例,由这个虚拟机来伺候运行应用程序的代码。
而且对于操作系统生态的搭建来讲,其实系统开发一家企业都能搞定,但是应用生态开发确是需要整合产业链上的很多参与者才行,这也是非常考验企业的资源整合能力的,而华为目前选择兼容安卓应用,也是考虑到疾风骤雨的打击的前提下,所做出的决定,因为自把华为列入"实体名单"之后,谷歌很快就宣布暂停了跟华为在硬件、软件及技术服务方面的合作,因此华为就不得不在安卓系统之前另谋方法。
鸿蒙OS以赛促学、课程进校背后 开发者成为生态的“第一批种子”
5月24日,在深圳举办的首届HarmonyOS开发者创新大赛颁奖礼中,一位来自河北承德,年仅9岁的小学生吸引了大家的注意力,他的名字叫戈帅。
实际上,在这场3000多支队伍、超万名以上选手参与的比赛中,戈帅并不在其中。在父亲的陪伴下,他走上舞台分享了认知鸿蒙操作系统的经历及开发故事。
原来,戈帅的父亲才是一名鸿蒙开发者,并在这次大赛中获得了创新 科技 奖。早自2020年起,父亲便通过鸿蒙进行课程学习及相关产品的开发,在此期间,戈帅站在旁边从只是看着,逐步萌生了上手尝试的想法。
平时戈帅的妈妈很忙,多在网上购物,“我想做一个购物网站”,戈帅参考拼多多APP的购物界面,通过HarmonyOS的分布式系统架构,用时半个月时间开发出了一个购物应用。
不同于其他的操作系统,戈帅觉得,鸿蒙的系统基础架构很容易上手,编辑软件和程序也操作简单、便捷。基于开发经历,戈帅虽未参赛,但他也通过考试成为了华为开发者学院中最年轻的学员。
开发门槛降低
在获奖的23支战队中,Labo儿童艺术创想战队基于鸿蒙操作系统的分布式能力,开发出了一款名为“Labo涂鸦鸿蒙亲子版”的应用产品,通过协同绘画等既实现了亲子互动功能,还进一步引导孩子发挥想象力和创造力进行艺术创作。
其实,除了比赛竞逐,让华为消费者业务软件总裁、AI与智慧全场景业务部总裁王成录欣喜的是,有几万名开发者参与到了华为鸿蒙操作系统的学习中,他认为这更利于开发者认知鸿蒙,并理解华为未来的生态构想。
众所周知,无论安卓还是IOS系统,其生态得以建立,在于源源不断的有开发者的应用创新、有用户的体验完善,这对于鸿蒙生态而言,也不例外。
王成录说,“一个生态的构建比做一个单点的技术要宽泛得多”,他强调,华为只有将门槛降得越低,才能吸引更多人进来,如此生态才有希望。
操作系统有目标
回顾HarmonyOS诞生的背景,从2016年5月正式立项做系统开发起,王成录表示,“目标非常清晰,我们绝不会再做一个安卓或一个IOS”。他强调,华为对未来的判断是“不仅仅是智能手机会小型化、智能化,身边的智能化设备也会越来越多”,因此,要做一个“面向未来万物互联的系统,能够解决大大小小所有硬件设备装载系统的问题”。
另外,为突破原有APP信息开发、分发受智能手机这一硬件终端的限制,华为想要让所有智能硬件搭载同一个系统,这些想法让鸿蒙操作系统在设计之初就采用全栈模块化,通过横纵向的解耦,实现了数据既能一体化,又可以有分布式数据库、分布式文件系统和分布式计算等能力。
王成录,当“所有软件配置在一条产线上”时,硬件生产方面的“门槛降低”,无需定制化就可以自动加载相应模块进行生产,“开发者头疼的面向各种不同硬件、不同系统要开发不同应用的困难,迎刃而解。”
在王成录看来,鸿蒙操作系统之于开发者,“相当于有了无数个积木,可以根据场景随意组装所需要的终端”,而这个终端可以“无感知地、方便地给消费者提供各个场景上所需要的服务”。
高校人才计划背后
谈及当下中国制造产业中,无论家电还是办公设备等生产厂商所面临的一个共性问题,“同质化非常严重。”王成录认为,鸿蒙操作系统的特点和愿景,都可以让硬件厂商实现个性化生产,“这对中国所有基础制造业来讲,是一个非常巨大的转型升级的机会。”
谈及鸿蒙操作系统的意义,方正证券 科技 电子首席分析师陈杭认为,要分不同的阶段来看。首先是短期意义,“它决定了华为能否实现硬件业务残缺的软件延续”,而中期来看,“华为能够建立横跨人车、人居跨场景的AIoT生态”;最为深远的意义在于,鸿蒙之于华为,是“能否在异构计算时代取得第四张操作系统入场券的关键”。
意义之大,理想美好,但华为也面临着一个残酷现实——如何突破开发者生态的构建之困。
王成录并不避讳谈及开发者对于鸿蒙生态的重要性,他甚至将所有参与HarmonyOS开发者创新大赛的开发者们,视为华为实现梦想的“第一批种子”,为了持续构建开发者生态,华为也在启动高校的人才培养计划,鼓励高校在校生参与其中。
据王成录介绍,目前全国已有十几所高校把HarmonyOS课程作为了选修课,今后华为还将推动超15款HarmonyOS课程走入高校,在华东、华北、西南等7个片区开展鸿蒙高校创新训练营等活动,吸引大学生等周边开发者加入进来,一起参与鸿蒙生态的构建。
除了在开发者生态构建的过程中,华为对外强调鸿蒙操作系统始终是开源开放的,并在大屏应用后即将宣布在手机终端的落地。
就在5月25日一早,华为公司旗下的HarmonyOS通过官方微博公布了一个鸿蒙手机操作系统的开机画面视频,借此“官宣”6月2日将正式公布可以覆盖手机等移动终端的鸿蒙操作系统。确切的说,不只是鸿蒙生态,那些被开发者创新推出的应用,都将在此后被更多移动终端的用户体验、使用。无疑,HarmonyOS距离万物互联的愿景又近了一步。
鸿蒙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都运行在操作系统之上。仓颉编程语言是给鸿蒙系统开发应用程序的专属开发语言。第六层沟通互联,就是我们目前的互联网技术,在网络里看书、听音乐,点一份外卖等等。
这就是计算机科学六层架构,鸿蒙操作系统与仓颉编程语言各就各位。用架构去思考和看问题,不仅能心中有数,还能独具一双慧眼。
如何看待武汉大学计算机学院开设全国首个鸿蒙系统课?会带来哪些影响?
华为和各大高校的联系都挺紧密的,这门课也是华为和高校联系的结果。
一、开设鸿蒙系统课的意义
开设鸿蒙系统课,代表着HarmonyOS正在慢慢走进校园,先是武汉大学,其次可能是清华北大……
在高效开设鸿蒙课程,可以从学校教育开始吸引更多年轻人投入软件开发中,这无疑是好的——这为增强中国软件技术实力奠定了基础,尤其是在我们缺乏技术的情况下。
万物互联是5G出现以来,互联网的必然趋势。“华为软件做操作系统,挑战不在于技术,而在生态”,这句话出自于华为消费者业务软件部总裁王成录。建设华为的万物互联生态需要更多的软件开发者和硬件开发者,需要越来越多的年轻人学习挼勤俭开发,投入软件开发,带来源源不断的新生力量。武汉大学开设全国首个鸿蒙系统课程,正是此用意。
总的来说还是很有意义的一件事情,因为现在鸿蒙出来之后大家都说是安卓套壳,但事实上个人认为更大的原因其实在于鸿蒙的生态还远没有搭建起来,在还没有足够多的开发者的情况下,不基于安卓开发用户会很难接受,这是最困难的一件事情。
二、从课程本身来说
这门课从今年3月就已经开设了,这门专选学分课名为《HarmonyOS移动程序设计》,主要是为了计算机科学技术、软件工程和信息管理学院相关专业的学生选修开设的,所以并不存在蹭热度这一说。
武汉大学专门为《HarmonyOS移动程序设计》这门课程制定了全新的教学方案和教材,意在培养学生使用国产移动操作系统和开发工具,开发HarmonyOS系统应用的兴趣。
同时,该课程也是HUAWEI与武汉大学“产学合作协同育人项目”联合打造的全国首个HarmonyOS高校课程,这不仅标志着HarmonyOS开始融入高校专业课程体系,从高等教育开始培养中国软件领域的专业化人才,也说明了华为目前已经捐赠的鸿蒙核心基础架构已经实施到了教育中。
而目前手机app开发,大家第一个想到的就是Android Studio,采用Java开发安卓app,学校里面授课大致也是按照这个思路,要么就是iOS开发。
对于鸿蒙,到底怎么开发,会不会有什么坑在里面,华为或许清楚,或许不清楚,这一切都需要大家共同去完成。武大和华为合作,在学校里面教授鸿蒙的开发,正是在为鸿蒙培养生态,为日后能够和安卓还有iOS平起平坐奠定基础。
这门课首先当然是教了学生如何开发鸿蒙的应用,但我觉得吧,选这门课的也就二三十人,真的能学会的也不见得有多少,但是更大的意义在于向外传达出了一个信号:鸿蒙开发可以开始研究了。
此外,这一做法也借助武大的师资帮助鸿蒙开创了一个简单版本的入门教程,这也有助于别的公司适配鸿蒙甚至开发鸿蒙专门的应用。
最初竞争时没有跟上,现在要再追赶其实挺艰难的。十年前我们会觉得iPhone4还不错,但是时至今日,我们会觉得iPhone4很落伍了,以至于不怎么值钱。
但是从技术的研发角度来看,从头开始研发一款iPhone4,不管什么时候,成本都是类似的(当然后来者可以借鉴,知道什么是正确的,少了一点点成本,但是该踩的坑还是大致上不会少的)。
但是十年前苹果研发的成本是可以收回来的,因为有消费者买单,但是十年后的今天再去研发,成本就很难收回来了,只能靠着不断的投入,达到当今的最高水平,才会渐渐的有消费者去接受,这个过程是很让人绝望的,而华为至少有勇气去挑战这一切。
三、总结
不管是华为造出来了,还是小米、oppo、vivo、中兴等其他任何一家企业研究出来了,都是可喜可贺的事情,都是值得尊敬的。它填补了没有操作系统的空白,虽然华为的本意可能是出于自己的商业考虑,但某种意义上也是为国家做出了一定的贡献。
产化替代,降低对于漂亮国的依赖。鸿蒙在此其中必定也有它的作用。国家肯定是支持的,武汉大学的态度也是没有毛病的,操作系统的建设需要人才,就像很多大学增加半导体投入及建设半导体相关大学一样。不只是对于学校的好处,而是对于国家大方向的好处。
武汉大学对于鸿蒙系统的认可,也可以在某种意义上打击了网络喷子黑鸿蒙的底气,也更加证明的鸿蒙的前途明朗。
一个操作系统的建设,不只是一家企业可以的,需要更多的企业,更多的个体参与进来。像安卓一样,华为已经开源,期待各位的加入,发展壮大。
文章名称:鸿蒙程序开发教学,鸿蒙系统开发课程
链接分享:http://myzitong.com/article/dsccijj.html