大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
单从技术上讲,开发一个单独的操作系统内核并没有想象中的那么困难。网上搜一下 至少能找到几十个甚至上百个OS内核实现,虽然绝大多数只是玩具级别的,但很多都是麻雀虽小,五脏俱全,基本的功能都有实现。
成都创新互联是一家以网络技术公司,为中小企业提供网站维护、成都网站设计、网站制作、外贸营销网站建设、网站备案、服务器租用、域名注册、软件开发、微信小程序定制开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站欢迎来电:18982081108
先说下自己的一些经历吧。
我在几年前曾经从零开始写过一个简单的操作系统内核,实现了基本的boot, 内存管理,进程管理,中断管理,IPC,简单的文件系统,简单的磁盘驱动,键盘驱动,简单的终端等基本功能,还实现了一个简单的调试器,支持断点等基本功能。当时对操作系统简直达到了痴迷的程度,只要工作上的事情一做完就去看操作系统方面的书籍资料,晚上下班和周末更是几乎宅在家里不出门,真的可谓是废寝忘食。
终于在参考了Linux, VxWorks还有国外一些大牛写的OS内核之后,最后搞出来了一个玩具级的OS内核,前后大概持续了半年左右。当时也纯粹是为了学习的目的,也是觉得比较好玩,基本功能实现后,就慢慢遗忘在在磁盘的角落里积灰了。。。
所以,从技术上说,开发一个OS内核并没有想象中的那么困难,很多大公司其实技术上都完全有能力开发一个具备基本功能的OS内核。当然,功能完备性、安全性、性能等方面能不能搞好就另说了。
我现在所在的公司,就有完全自主开发的微内核OS,并且在公司上百万台的电信级的分布式集群服务器产品上已经稳定运行了二十多年。并且,还围绕这个OS建立了一系列配套生态,比如基础开发库,一系列配套的开发调试工具,甚至还有专门为这个系统开发的编程语言和编译器等。我曾经有几年的主要工作,就是在维护这个OS内核。可惜的是,这几年公司已经在慢慢用Linux替换这个OS了,估计几年之后就要彻底退役了。
开发一个操作系统的真正难点在于创建围绕在这个内核周边的生态系统。一个单独的内核远远不能构成一个完整的系统,它需要大量的支持环境,如系统支持库,应用程序,开发调试工具等等,此外还要能够推广出去,要有其他上下游的公司愿意使用,能够被广大开发者认可并愿意为其开发新的应用等等,这才是真正的难点所在,是需要投入大量人力物力财力才有可能完成的。
很多公司也正是从技术积累上,时间上,成本上,风险上来考虑,不愿意花大力气在这上面。所以才有了如今Windows,Linux,Apple三分天下的局面。
咱们国家虽然急切渴望能有一个自研的OS,但现状是,有实力的厂商更愿意投资一些能看得到摸得着的实实在在的应用产品上,这样来钱快,才能在最短的时间内看到收益回报,也就是更高的投入回报比。
对于像操作系统,编译器之类的基础软件,除了需要雄厚的技术实力外,还需要耗费大量的人力财力物力,而且失败的风险较大。即便开发成功,还要花大力气进行推广,建立周边生态,这更是需要更大投资,时间成本也更大,往往需要几年甚至十几年时间才能看得到收益。
这对于习惯吃快餐、赚快钱的国内企业来说,根本无法接受。这也需要企业决策层领导具有很大的魄力和战略眼光,但现实中,这样的领导简直是凤毛麟角。
这也正是国内厂商大都不愿触碰自研OS的主要原因,也造成了我国至今仍没有自己的操作系统编译器的局面。
此外,现在市场上对一个新的OS的需求其实也没有那么急迫,没有需求,就没有利益,自然就没有动力。尤其在快餐文化盛行的今天,更是很少有公司愿意去触碰这吃力不讨好的事情。
当然也无须太过悲观,任何东西,只要有需求,就会有利益吸引力,就会给企业研究机构足够的动力。相信将来某一天,一旦Windows, Linux, Apple三巨头不再适用市场需求,马上就会有新的操作系统出现。
或许也用不了等很久吧,毕竟微软已经宣布Win10之后将不会再有大的Windows更新版本,而Linux虽然现在社区的开发仍然很活跃,新的功能仍在被源源不断的添加进去,但也正是由于这个原因,它现在变成了一个大而全的通用操作系统,已经变得越来越臃肿,很多场景其实已经不是很适用了,只是没有更好的替代品,很多公司又不愿意投入自研OS,所以只能选择相对成熟并且生态资源丰富的Linux。
Google不是几年前就已经开始开发Fuchsia了吗? 咱们拭目以待吧。也希望国内有实力的企业和科研机构能够迎头赶上,早日实现自研OS梦。
github上放出来的只是一个迷你的嵌入式OS内核LiteOS,翻看过代码,本身并没有很大的难度。至于鸿蒙OS,源码还没开放,目前为止还只是在PPT上出现过,所以不好评价,但愿能够不负众望吧。
Hongmeng OS是基于Linux内核源代码的开发。 OS实现代码主要是C语言,内核提供的本机系统调用接口肯定也是C语言接口。上层APP应用程序与现有的Android JAVA程序兼容,可能需要重新编译JAVA应用程序。程序代码将运行。至于应用程序编程SDK不支持JAVA以外的编程语言,还需要等待系统正式发布后才能发布,但是你可以先了解下面的编译器,据说这是一个业界开源编译器,用于编译APP程序。 。但是,我仍然希望鸿蒙操作系统的应用程序编程接口支持更多的编程语言(如CC等),这样程序可以有更多的选择。
操作系统从运行效率 和 可控性来看是要用C语言。 解释性语言,比如python、PHP就不大可能的。Java 也不太可能,一方面运行效率不如C语言,另外不可控:在内存方面,C语言内存申请和释放都很实时,不像Java 语言内存释放 要等GC。在操作系统层面,内存申请和释放是很频繁的,不能用GC定时释放,万一来不及释放 就OOM了,另外的万一发生full GC 那就更糟糕了,操作系统底层指令运行稍微一抖动,应用程序的执行性能就震了三震。
希望对你有所帮助!
从技术上讲,操作系统是一个没有多少技术含量的事情。一个明白操作系统原理的人用几个月就可以写出一个操作系统。
这个世界上的操作系统成千上万,到处都是,任何一个自动设备中都可以认为里面有一个操作系统,电话、门禁、共享自行车中都有。
鸿蒙系统是否好写要看他的目标是什么,只是简单使用当然简单,但要成为一个流行的系统则难度非常的高。
个人看法是鸿蒙系统有天生的缺陷,他是对抗美国产生的,华为一家独大,包括国内的其它厂商都不能干涉,同时他并非开源,他想怎么办就怎么办。这样就造成开发者特别是国外的开发者面临的风险非常的大。要是和谁闹翻了给禁用那怎么办?
安卓有一个最大的优势在于开源,世界上的开发者都可以使用,共同推进发展。当然本次事件更多的来源于政府的制裁,作为google当然要遵守政府的规定。但鸿蒙同时要遵守政府及企业的双层管制。
因此鸿蒙更多的是国内华为的系统,无论是阿里、小米还是谁想用都面临具体的风险,国外的开发者更是这样,要是他的国家一不小心辱华了,华为就给他们禁用,他们就死定了。
操作系统没有一个可以用好写来形容。
首先从代码量上来讲,操作系统作为一个系统,其代码量工作是非常庞大的,如果由单个开发者来完成,会是一项非常艰巨的任务。比如Windows内核的代码在5000万行以上,Linux目前在2500万行左右。如果题主从事开发工作的话,可以大概估计一下代码量的多少。
作为操作系统来说,兼容不同设备以及不同代的设备是必须的,向上和向下兼容保证了操作系统可以运行在不同的平台上,而向后兼容则保证了开发者的产品不会由于系统升级而出现不能使用的情况。
鸿蒙是分布式系统,显然需要支持不止一种类型的设备,这意味着操作系统本身需要考虑大量的底层硬件区别并给予支持。
操作系统最主要的一个功能是调度,即使在微内核架构里,调度依然被保留为内核的功能之一。
而调度在不同的负载下面,不同的设备上面以及不同的使用场景下面,都应该表现出不同的性能,那么开发者需要考虑到这其中最优并且最稳定的方案,最简单的方法不够智能,最智能的方法又可能引入一些问题。
所以总体来讲,不论操作系统本身性能优劣,从头开发一套系统就是一件工程量极其庞大的工作。
对于像华为这种公司来说,写出一个基于Linux的类似于安卓的系统应该是没有什么难度。但为什么鸿蒙系统到现在还没有正式退出使用?
其次一个系统主要是的就是它的生态系统,就是我们使用的各种app,就像当初微软的手机系统,就是死在软件生态不全,而形成生态就需要比较长时间和财力的投入,要吸引开发者去适配新的系统,而华为目前正在做这件事,通过高于其他系统的收益分成或者收益全部让利开发者的方式慢慢完善自己的生态。目前国内外已经有很多软件及 游戏 厂商已经开始适配HMS服务了,相信不久我们就能看到生态完善的华为新的系统了[赞]
听到鸿蒙,华为都不知道是谁家系统,也许根本就不存在
凑合吧,笔画有点多[捂脸]
难!
但对任何一家世界级体量的公司,都写得出!连黑莓手机都能写得出!
但生态很难!收费没人用,开源也没人用[捂脸]
不好写
之前测试过使用华为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版本与平板是一致的,
程序终于跑起来了:
看起来安卓程序好像真能在鸿蒙直接运行,安装一个快手试试:
还真能看:
我真分不清这是安卓还是鸿蒙了 。
众所周知,对于一款操作系统而言,最重要的是生态,如果生态不行,操作系统本身再好也难以持续下去。当初微软的windows Phone,还有三星的Tizen就是这样败北的。
所以在鸿蒙系统发布后,大家就一直期待鸿蒙系统的生态能够迅速发展起来,虽然鸿蒙是能够兼容安卓APP的,但那是“借鸡生蛋”,最终还是要自己“喂鸡生蛋”才靠谱。
而据华为在8月初时的说法, 鸿蒙生态开发者数量已突破120万,超过300家应用伙伴加入到鸿蒙生态,共有65款设备已经升级HarmonyOS 2正式版。
但是让人惊讶的是,鸿蒙原生的APP数量才300多款,目前鸿蒙系统中使用的更多的还是安卓APP,于是有网友评价称,120万开发者,开发出300多款APP,真是开发了个寂寞。
像苹果目前在中国有440多万注册开发者,开发了iOS版的APP超过100万个,而安卓在中国有500多万开发者,有200多万安卓版APP。
那么为何120多万开发者,就开发出300多个APP,平均3000多人才开发出一个APP来?
首先要说一说的是这120万开发者究竟是怎么算的,我们知道目前在华为的系统中,是没有GMS的了,全是使用HMS,鸿蒙中是如此,EMUI中也是如此。
所以加入HMS的开发者,特别是加入鸿蒙系统中应用商店 “AppGallery”的开发者, 理论上是可以称之为鸿蒙生态的开发者的,而HMS已经发展了好多年, “AppGallery” 里面已经有上百万APP之多,所以有120万开发者很正常,这是统计口径的不同,大家不要以为鸿蒙生态的开发者,就必须开发出鸿蒙原生APP出来。
其次,也正因为 鸿蒙系统兼容安卓系统应用,所以开发者们是无需专门开发鸿蒙系统应用,也能接入鸿蒙生态,所以这120万的开发者,也不一定马上就会行动,开发鸿蒙专版APP出来,毕竟开发维护也是有成本的。
所以他们会观望,会看看鸿蒙的发展情况,当 用户量上升,个性化功能增加,才会有未来越来越多的开发者针对性的开发鸿蒙版本应用。
华为研发的鸿蒙OS系统已经支持稳定运行,体验过的花粉都知道鸿蒙系统的流畅性,应用保活率都是非常高的。哪怕是运行一些大型 游戏 时,功耗也比安卓系统更低。这样的表现已经满足了很多用户的期待。
系统方面没有太大问题,但是在生态这一块,就引起很多人的注意。由于鸿蒙是一款新系统,并没有积累大量的开发者,广大的应用开发商也没有参与鸿蒙的适配。
根据华为的消息,只有300多款APP适配了鸿蒙系统。后续还会有越来越多的应用适配鸿蒙。
但是还远远不够,大型软件适配的难度是比较大的,基于鸿蒙开发原生APP也会耗费大量时间。更主要的问题是该如何让广大开发者参与鸿蒙生态的建设。要想实现安卓,iOS的生态规模,恐怕需要5到10年。
这么长的时间消费者自然不愿意等待,所以华为采用了兼容安卓生态来实现稳定运行。
确保手机用户在使用新系统时,能够体验到和安卓无异的生态内容服务。否则仅支持几百款应用的话,鸿蒙是很难发展起来的。
兼容安卓APP只是一个过渡,华为会坚定不移建立属于自己的生态环境。
这需要一定的时间,但是谷歌突然做出决定,给鸿蒙的时间可能不多了。现在纠结鸿蒙是不是套壳安卓已经没有意义了,而是该考虑鸿蒙还能不能兼容安卓APP。
根据谷歌宣布的决定显示,从2021年8月份开始,谷歌将启用全新的abb格式,替换原来的apk。
应用新的abb格式后,可以让应用程序体积变得更小,可是问题也随之而来,鸿蒙兼容安卓APP是基于apk格式的,更换格式后,还能兼容吗?
需要知道的是,谷歌宣布的是Google Play采用新格式,而国内的第三方应用商店或许会继续保留apk格式。因为国内的手机系统服务并未对接海外版谷歌应用商店,对鸿蒙系统的用户影响并不大。
但是也不容乐观,毕竟还无法排除谷歌强制全面应用的可能性,实现国内外APP格式的统一。到时候鸿蒙或无法再兼容安卓。就像Android 11系统,谷歌强制要求不能访问data 目录,如果强制国内外执行abb格式,国产APP开发商都必须服从。
除非华为再度基于新的格式修改系统框架,不然新的安卓APP或无法继续兼容。
换一个角度看,谷歌更换新格式会加快华为前进的步伐,如果不是当初谷歌断供GMS服务,华为也不会带来HMS服务。更不会顺利将鸿蒙搬上舞台,并实现鸿蒙手机操作系统的应用。
这一切的成果都是在压力环境下诞生的,谷歌又再次展开新动作,这可能会使得鸿蒙建立起全面自主的生态服务。
或许会面临一定的压力,但是这一步迟早是要迈出的。建立自主生态,刻不容缓。如果鸿蒙一直支持兼容安卓APP的话,开发者也不会过于着急适配鸿蒙系统。
可一旦鸿蒙无法兼容安卓APP,开发者又想基于鸿蒙系统有所作为,就必须加紧适配。相信华为到时候也会提供支持,与各大厂商交流合作,扩大鸿蒙生态规模。早日摆脱对国外生态的依赖。
系统已经不用看别人的脸色了,生态方面也必须加快进程,早晚有一天,中国会迎来真正的国产操作系统崛起,在系统和生态两大领域,都能实现自主可控。
谷歌将采用新的abb应用格式,虽然不清楚是否会实现国内外版本的统一,但为了自主可控,不受别人的限制,最好的方法还是打造属于中国的手机操作系统生态环境。这需要各方的努力,期待国产厂商都能参与进来,打破国外束缚。
对此,你有什么看法呢?
自己做APP 作为一个程序猿个人角度:挺难的。
开发一个App,你大概需要经历下面的步骤:
第一步:制作产品原型
不懂开发的人可能觉得软件产品就只是程序员埋头吭哧吭哧搞出来的,但编码其实只是其中一个环节,并不是全部。你可以把产品原型理解为房子的设计图,简单的房子可能不需要设计,但稍微复杂一点的,都是离不开图纸的。
第二步:产品页面设计
这年头颜值越来越重要了,对于大部分开发者来说,可能做不到设计惊艳,但是要做到简洁大方并不是一件很难的事情。
秘诀就是要统一,统一好颜色、字体的使用场景,这样出来的视觉效果一般不会很差。
如果你要自己动手设计页面的话,在 mac 上面我推荐使用 sketch 。
第三步:代码编写
接下来就可以考虑开始动手干了。首先我们要先定一套技术方案,一般来说,我们做一个普通的App,需要搞定的东西有除了手机App,还有相关的API服务接口。
这里涉及到的技术点比较多,我的经验是直接通过一个完整的Demo源码来边学边做是比较高效的学习方法,这个Demo最好足够简单,但是有完整的逻辑交互和通信过程,比如登录和数据列表。找Demo可以通过搜索引擎、github、开源中国等平台。
自鸿蒙系统问世后就一直处于一种尴尬的局面,安卓、iOS系统已经完善得尽善尽美,多数APP也是以这两个系统为基地开发的,这就让鸿蒙系统的APP生态环境极其薄弱,甚至还有人担心,更新了鸿蒙系统后,会不会手机上就不能用APP了。
这些担心自然是多余的,OPPO、vivo、魅族等厂商都已经陆续适配鸿蒙OS系统,可见华为鸿蒙OS系统还是有着一定的优势,并且国内3100多支开发团队都报名参加了华为鸿蒙系统开发者创新大赛,并且有23支团队脱颖而出,已经进入了鸿蒙系统专属APP开发过程。