qt和鸿蒙开发,QT 鸿蒙
开放麒麟发布了
刚看到中国首个桌面操作系统开发者平台“开放麒麟”发布了,新闻稿表示将打造具有自主创新技术的开源桌面操作系统,通过开放操作系统源代码的方式,让开发者共同参与国产开源操作系统的开发。[献花花]
成都创新互联于2013年成立,是专业互联网技术服务公司,拥有项目网站制作、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元明溪做网站,已为上家服务,为明溪各地企业和个人服务,联系电话:18980820575
问了几个技术领域朋友。有朋友说,看到国家来主推自有桌面操作系统挺振奋,但官网社区首先推出自有的开源 UI 库UKUI,感觉还是没有放到自主和生态方面去考虑,因为推出的 UKUI 是采用 QT 来开发的,QT 虽然有社区免费版,但如果使用的话,基于 QT 的软件也需要开源,闭源的话则需要向 QT 付费,QT 的价格非常昂贵,官网的专业版价格是每个开发者每年3620美元。而且使用 QT 会完全依赖于 QT 的库,可以理解成 windows 的 sdk,android 的 ndk,ios 的 sdk。
因此,如果使用 QT 的库,并且闭源发布的话,则必须购买它的授权,也就是3620美元每开发者每年,相比之下,windows的 sdk,android的 NDK是免费的,iososx 的 sdk如果要发布上架也就是每企业600多元人民币每年。
如果开放麒麟主推 QT 来做开发的话,起码一点就是要提供类似 QT 的有自主产权的免费 SDK,这样才能构建出可持续发展的生态来。
也有朋友觉得现在的系统无非就是Windows和苹果系统,还有一种是开源无版权的linux系统。如果想做操作系统替代,现在最好的途径就是推广linux。linux的生命力在于开源和互助,在于linux爱好者聚集的开源社区,集大家的智慧壮大系统,社区的参与者可以有个人,公司,政府机构,正所谓星星之火可以燎原。现在这些打着国产系统幌子的厂商用Windows的垄断性模式去运作linux,而不是在某个关键点发力。最后只能是失败。
网上还有不少人质疑为何不跟华为鸿蒙合作。事实上,鸿蒙主要是在嵌入式领域发挥作用。而麒麟(国家选定的PK体系中的K)主要做桌面系统,两者并不冲突。
多说一点:PK体系是目前国家主流选择。P是指银河飞腾,K就是麒麟。关键应用必须移植到PK体系上。
华为的鸿蒙操作系统会成功吗?国内其他厂家会采用吗?
首先新的操作系统面临的最大难点就是生态链的构造,相比安卓他们真的有能力提供更加智能的开发套件吗?他们真的有能力把python优化到c++的执行效率吗?那么他们有什么优势吸引开发者呢?
很多人已经论述很多了。首先鸿蒙不太可能不兼容Android(这里所说的兼容是指代码级兼容,并非运行级兼容,亦即,开发人员通过不太多的额外工作,就能做到让应用既能在Android上运行也能在鸿蒙上运行)。否则的话,像MeeGO一样强制使用Qt,鸿蒙将迫使程序员面临巨大的职业选择难题(决定是否放弃Java而转向C++),最终像MeeGO一样遭到弃用。至少在早期,鸿蒙完全不具备这样的号召力。因此,鸿蒙在本质上很可能是一个用更聪明的编译器编译出来的在更优化的Linux环境下运行应用的中间件。在这方面,恕我直言,似乎看不到有非常光明的未来。Android从1.0到9.0,已经把Java语言在移动平台上遇到的各种问题解决得比较好了,也许速度还能再快一些,但是已经不是决定因素。当年的WindowsPhone和Symbian速度都很快,使用很流畅,但有用吗?
还有很多人寄希望于国家强制推广鸿蒙,这个在政府集采市场是有可能的,但在消费者市场则可能性非常小。强制推广鸿蒙,意味着小米、OPPO、Vivo、一加等品牌都成了殉葬品,可能还要面临三星、苹果等公司在国际上的诉讼和折腾,更要命的是国内移动通信平台将由于被独家技术彻底垄断而变得脆弱,华为的些许技术欠缺将导致非常大的影响,国家不会为鸿蒙冒这么大的风险。
鸿蒙很难成功。注意是很难,不是绝对不能。
如果18年之前问这个问题,我确定的回答,不会成功。因为一个系统的生态太难建设了。连系统大佬微软+手机大佬诺基亚都折戟在这上面。阿里的阿里云手机系统也已经偃旗息鼓。你就可以看到它有多难了。而为什么18年后有可能,为啥?因为都是逼出来的的。谷歌现在已经开始限制华为使用了。任何事情有人逼你去做,你总能发挥出巨大的潜力。
而且华为从舆论上,人心上有很大优势。尤其是在中国。人心可用,得人心者的天下嘛。不要以为只是一个口号。人家一巴掌打过来。华为用手挡着了。还要甩手打过去。你不支持吗?这时候华为出系统,即使前期有很多不如意,大家都会谅解。这在一个互联网舆论可以解决很多事的现在,太宝贵了。所以华为应该早一点出,因为很多人等着它的系统,不要忘记连系统的名字都是网友起的。华为说的很清楚,之前是没有计划华为系统的,但是媒体已经很确定是华为有手机系统,并且叫鸿蒙。华为开始做手机系统,也就自然而然选择了这个名称。这就叫借势。
而且我们知道鸿蒙系统是要兼容安卓应用的,这就很大程度上可以解决软件生态问题。如果完全重起炉灶那就很难了,从开发成本来说就很难了,毕竟多一个系统,就多一份工作。
第二个问题,国内其他厂商会不会采用,这个要看具体华为系统的开放程度,如果是开源,那有可能。如果不是,那100%别的厂商不会用。
不想当将军的士兵不是好士兵,同样不想拥有自己系统的手机厂商是没有理想的手机厂商。谁也不会把自己的命根交给别人看管,为什么现在手机厂商愿意用安卓,就是因为安卓是开源的,大家都可以用。谷歌有所有权,但没有管理权。这个系统都可以从底层来修改。可以删减或加入自己的东西。所以大家才原因用它。
如果有厂商用鸿蒙系统,华为本身就是做手机的,还用它的系统。那岂不是运动员和裁判赛跑。就天然处于劣势。就像 游戏 厂商不会用腾讯云。电商不会用阿里云一样。谁也不会把关键的东西交给竞争对手。
所以其他厂商用鸿蒙系统是不可能的。
华为鸿蒙系统会不会成功要等他出了,体验到才知道,现在说他成不成功也只是嘴巴里说说,按照华为最近发的硬件来说,偏硬件来补充软件,系统主要还是要开发者,而开发者到你系统做一个app就要考虑你给的利润。好比如ios,3/7分,国外安卓1/9分,国内分成不定,比如腾讯至少和oppo商店就吵架过,腾讯要求oppo商店下载的腾讯新手游要5/5分,所以说鸿蒙系统要做好,第一就是和开发者利润空间,厂家会不会的话,这点我可以很明显和你说,不会,不敢得罪谷歌是一码,厂家干嘛帮别人养大孩子,国产手机竞争激烈,你死掉,我利润就赚到。
没有大的变革是不可能成功的!
1.想建生态很难,就算国家出面,国外肯定不会听!国内的市场又满足不了这么多手机厂商!舍掉谁对国家都是损失!
2.腾讯 游戏 负优化华为系统不知真假,但是一个把柄放人家手里没人会愿意,除非华为不做手机,不然不会有手机厂商愿意接入
支持国货,支持华为。
相信每一个国人都是这么想的。
华为胡蒙系统!真实的菊花。哈哈哈哈!
不看好,底层还是人家的
鸿蒙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都运行在操作系统之上。仓颉编程语言是给鸿蒙系统开发应用程序的专属开发语言。第六层沟通互联,就是我们目前的互联网技术,在网络里看书、听音乐,点一份外卖等等。
这就是计算机科学六层架构,鸿蒙操作系统与仓颉编程语言各就各位。用架构去思考和看问题,不仅能心中有数,还能独具一双慧眼。
分享名称:qt和鸿蒙开发,QT 鸿蒙
分享路径:http://azwzsj.com/article/hoehdp.html