整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

“华为鸿蒙OS,随时可替代安卓”

明 边策 郭一璞 发自 凹非寺

量子位 报道 | 公众号 QbitAI

千呼万唤始出来,华为鸿蒙操作系统,今日正式发布。

英文名HarmonyOS,寓意为和谐。

并不像亿万行代码的安卓那样笨重,鸿蒙OS不止支持手机,可穿戴设备、车辆、音箱等各个平台都可用,大到GB级内存,小到KB级内存,全都灵活支持。

而且,鸿蒙OS是终端OS首次使用分布式架构,能做到低时延、高吞吐、高可靠;实现模块化解耦,可以对应不同设备可弹性部署。

余承东说,鸿蒙OS可以兼容安卓应用,如果安卓无法使用,随时可以启动鸿蒙,但考虑到合作伙伴关系及生态,优先使用谷歌的安卓系统。

并且,余承东表示鸿蒙操作系统将会开源

此外,关于另一款备受期待的产品方舟编译器,余承东说,这款编译器未来能支持多语言统一编译,C、C++、Java、JS、Kotlin等都能支持,甚至可以混合编译。

AIoT:操作系统的挑战

余承东首先宣布了华为5~10年长期战略,即向用户提供全场景全连接的智慧生活服务。余承东现场用了“1+8+N”这个关键词。

所谓1是指智能手机,8是指8个智能设备:PC、平板、智慧屏、车机、耳机、音箱、手表,眼镜。N是更广泛的IoT设备。

然后,余承东现场提出问题:

这样一个万物互联的时代,怎样的OS才能满足需要呢?

余承东说,Android、Linux操作系统内核庞大冗余,总共超过2000万行代码,而我们平时使用的只有8%的代码,这两个系统难以保证不同终端的体验流畅。

而且, 多终端也对设备安全提出了更高的需求。现在终端设备的操作系统非常多,而软件生态和硬件绑定,开发者需要为不同平台开发不同的软件,降低了用户体验和开发效率。

当然,也有很多公司在探索这一方向,比如谷歌和苹果。

谷歌正在开发“大一统”的Fuchsia系统,未来的发展方向是微内核,但余承东指出,它并不是分布式设计,性能较差。

至于苹果公司,使用的是混合内核,现在系统逐渐分裂,而且生态又封闭。

鸿蒙OS登场

因此,华为推出了鸿蒙OS(英文名取其谐音,HarmonyOS),它是基于微内核的全场景分布式OS。

鸿蒙OS具有分布架构、运行流畅、安全可信等特点。

首先,鸿蒙OS可以支持智慧屏、可穿戴设备、车载、手机等多种设备,并且根据不同性能的设备灵活适配各种终端,从GB级别的电脑手机、到MB级别的智能手表,再到KB基本的小型智能家居设备都能使用,实现跨终端无缝体验。

分布式软总线技术实现了极简协议,巨头低时延、高吞吐、高可靠的优点。

运行流畅是鸿蒙相比Android系统的一大优势。余承东说,目前Android沿用Linux内核调度机制,难以保障用户体验。而鸿蒙OS可以实时负载预测,确保用户体验流畅,相应时延降低了25%。

余承东打了个比方,Android系统就像所有车辆都挤在同一个车道,而鸿蒙OS相当于给道路划分出了快车道、慢车道、自行车道,各个进程之间不会相互堵塞。

相比Android鸿蒙进程之间通信效率提升3~5倍。

至于为何鸿蒙OS要采用微内核,余承东说是为了保证内核级别的安全,以后使用微内核将是一大趋势。微内核天然无root权限,外核服务相互隔离,从源头提升系统安全。

对于鸿蒙这样一个可以适配不同终端的OS来说,最重要的生态共享。为此,华为提供了面向多终端开发的IDE,实现在手机、PC、车载设备不同屏幕、不同硬件上的布局自适应。

随后,余承东介绍了华为自研的方舟编译器,它未来会支持多语言同意编译,包括C/C++,Java,JS,Kotlin等语言,最多实现60%的性能提升。

可随时替代Android

现阶段,鸿蒙OS还是保留了Linux内核,主要是从软件生态的角度考虑,可以兼容Linux、Android、HTML5应用。未来将用鸿蒙OS将用微内核代替所有,并采用方舟编译器。

因为现在主流的软件开发者仍然在为Android等系统开发应用,如何帮助他们将软件移植到鸿蒙OS上,是建设生态的关键。

鸿蒙OS借助分布式能力Kit开发跨终端应用,能够像开发普通应用一样简单。

明天发布的荣耀智慧屏就会用上鸿蒙OS,现场华为还公布了一张时间表,明年华为将在手机中用上鸿蒙系统。

余承东表示,鸿蒙随时可以用在手机上,但是谷歌是华为的合作伙伴,另外也是因为Android生态很成熟,华为会继续在手机上使用Android。

但是华为不惧“断供”,如果Android无法使用,华为随时可以切换到鸿蒙OS。

而且生态系统的迁移也很便捷,余承东说普通开发者只需一两天时间就可以将Android应用移植到鸿蒙上。

最后,余承东在演讲中宣布鸿蒙OS开源,希望和开发者一起打造更强大的OS。

One more thing

华为鸿蒙OS发布后,余承东也谈到了美国断供的影响:

没有美国断供,我们手机能够做到世界第一。现在,我们还可以坐稳第二。

另外,今天也是“大嘴”余承东50岁生日。

他1993年加入华为,一干就是26年,在他治下,华为手机从无到有,华为手机从弱鸡成为全球第二。

所以也让我们顺祝余承东:生日快乐!

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

近有很多学习Android开发的朋友和我聊天,说现在Android的越来越不好就业了,但HTML5就越来越火,同为移动开发技术,这差别咋这大呢,我把聊天记录整理一下发到这边,方便广大Android初学者参考。对了,今天还看到篇新闻,说是一个android培训班里就两个人就业。

  • Android真的没落了?

为了便于讨论,我们先来看一组Android和HTML5目前的行业数据









从上面几幅图里,我们能看出几点:

首先,Android技术本身的应用并没有减少、反而在增长,这对Google来说绝对是个好消息,但我又不是Google董事长,我就是一程序员,关我屁事啊,摔;其次,Android程序员的数量逐年增加,已经大大超出用人需求了,那当然好就业才有鬼了。所以,我们的结论很简单:Android没有没落,而是饱和了,所以程序员尤其是初学者,日子自然没以前滋润了。

技术发展曲线

那Android为什么会饱和呢?大家都知道,任何一个技术,都可以分为4个时期:进入期、发展期、饱和期、衰落期。

  1. 进入期:当一门新技术出现时,绝大部分人持观望态度,不敢参与,原因很简单——万一黄了呢,我这时间不白瞎了嘛。所以,这一时期参与的人要么就是眼光独到、要么干脆带有一些赌的性质,这一时期参与的人风险最大、收获也最大。

  2. 发展期:有人已经完成了探索工作,并且取得了不错的成果,这时候所有人都醒悟过来,一股脑跑步进场,场面近乎疯狂,这一时期参与的人风险不大、收获也不错,所以发展期算是最稳妥、最保险的。

  3. 饱和期:后知后觉的人终于也开始参与进来了,可是此时机会已经挖掘的差不多了,行业本身没有太大的发展可言,这一时期参与的人风险为零、收获也为零,基本上聪明人已经开始寻找下个机会了。

  4. 衰落期:到了这个阶段还死不放手的人就有点傻了,行业本身在走下坡路,再怎么努力也没有希望了,这一时期参与的人风险极大、收获为零,基本上能坚持到这个阶段的也算真爱了。

就好像Flash和.NET属于典型的衰落期技术一样(.net的人要来拍砖了),Android在2015年就进入饱和期了,所以薪资越来越低、工作越来越难找是很正常的。

  • HTML5倍儿爽

相对于饱和的Android,HTML5的日子过得倒是相当舒服:招聘不问学历、招聘岗位贼多、零经验拿个12K不算高、2年经验拿个20K很正常,做Android的同学已经哭晕在厕所。那么,为什么HTML5这么受欢迎,大公司都像疯了一样的招HTML5?

  • 凶残的跨平台能力

HTML5开发的HybridApp,天然具备兼容所有智能设备的能力:不论是手机、平板还是只能电视;不论是Android、IOS还是WP;不论是小米、锤子还是三星;不论是姜饼、冰激凌还是棉花糖,一套程序搞定,这种惊天地泣鬼神的移植性,任何原生语言都做不到

  • 大幅降低开发成本

HTML5如此恐怖的跨平台能力,带来的一个直接结果就是——开发成本大幅降低,用原生语言进行开发,再怎么没追求的公司,也至少得两个团队——1个Android+1个IOS,稍微有点追求的公司还得把WP、黑莓之类的加上,人员工资其实是小事,关键沟通成本会很高、而且进度把控特别麻烦,你不能说Android的2.0版都上线2月了,IOS的才上吧,这也太Low了,而HTML5可以大幅降低团队的资金、时间和机会成本。

  • 能快速上线和更新

相信所有做过原生应用的同学都知道,应用商店过审就是一场噩梦,至少照着俩礼拜给你审,您还甭嫌慢,这是友情价,审个把月那太正常了,而国内那么多的应用市场你的一个个去对付,而HTML5的应用,直接现场升级,只要用户有网分分钟用上最新版本。

  • 我该怎么办

如果你是一名初学者,想学习HTML5

你需要认清HTML5虽然优点很多但不难学习,关于如何学习HTML5我会另外写文章和大家聊,在这里我简单和大家分享一下你需要了解的技术。介入HTML5开发,至少需要了解:HTML/CSS布局、JavaScript、HTML5/CSS3移动端开发和一些常用的框架(比如:AngularJS、React、Hammer、webPack之类的),这方面的资料也很多(比如:《JavaScript高级程序开发》、智能社视频教程之类的),大家可以找来看看,也可以在评论里留言。

如果你是Android程序员,想转型

你需要认清Android并非一无是处,其实语言都是相通的,掌握了Android其实介入HTML5开发会非常容易,至少你已经掌握了移动端应用的基础知识。

  • 最后

任何一门语言和技术,都有自己的优缺点和适用范围,并没有绝对的好坏之分,但对于一个从业人员来说,选择对自己最有利的发展方向又是必须的,我们大可不必为了某个语言或某项技术而伤心,技术的更新换代本就是这个行业的丛林法则,我们热爱的是程序开发而非某一项特定的技术。再说,不断学习,不也正是这个行业的乐趣吗:)

篇文章主要是说明以下几个问题:

1、Android开发中使用网页的优点和缺点。

2、Android开发中哪些情况适合使用网页,哪些情况不适合使用网页。

3、html5网页与普通网页的区别。

4、Android开发中使用常规网页和使用html5的区别。

5、html5在Android开发中最常用的两段代码

Android 开发中使用网页的优点:

  1. 有利于降低开发成本(做网页的成本比Android的低),如果网页的话只需要两个人(一个前端(负责搭界面),一个网站后台(负责写功能),至于android的那个人只是调用网页(学过顶多半个月的android开发的人就能做得很好了)。但是如果不用网页,那对android开发那人的要求就很高了,至少一年独立开发经验,并且这个过程中android开发必须和设计以及后台商量着ui和相应接口的情况。所以从成本上考虑网页至少无论从时间还是经济成本都会少至少一倍。
  2. 网页便于管理,当应用有变化时,只需更换网页就可以,无需发布新的android安装包。如果是android开发,应用有变化即使是仅更换一个小图标,这种情况也的更新安装包,让用户再次下载。

Android 开发中使用网页的缺点:

1、网页的兼容性android上可能存在问题,笔者在开发中就遇到过这样一个问题:当时是支付功能(网页做的),在某些手机上就是无法调用支付,但是在我测试的手机上就很正常。导致兼容性的原因是由于不同的手机厂商都对android系统进行了不同程度的修改,而android开发中使用网页的大多数方法是使用WebView 。所以兼容性就是问题了。

2、网页在处理用户操作比较集中,频繁的情况的用户体验是很差的。

既然使用网页的优点和缺点都说明了,在实际开发中,一般都会使用到网页,但是不是全部,只是一部分用网页。在前面的对比中适合使用网页的地方必须有经常改动,展示性强,功能性弱这三个特点,其实在android应用中,符合这三个特点的最常见的就是启动页,和介绍页,引导页。最不适合用网页实现的当然就是功能性强,用户交互集中的。类似于支付功能页,相应列表页等。

html5与普通网页html的区别,在笔者看来就是html5比html多了很多标签,功能更多。在html中很少有相应视频插件的使用了,因为html5中有一个标签vidio就可以播放视频了。html5新增的标签很多,但是在我写的这些文章里只选择可以在移动开发中使用的标签。至于别的标签暂时不会涉及。

Android 中使用常规网页会带来的问题:

常规网页是针对电脑端浏览器写的,所以如果直接加载常规网页,会导致页面效果变形的问题。加载常规网页会使得页面展示性很大程度降低,从而就让网页在android开发中的优点不那么强了。但是使用html5就可以解决常规网页降低展示性的问题。

到现在,相信大家都应该明白html5在Android开发中有一定重要性的,但是html5相关东西到底是该android开发者学习,还是前端设计人员掌握,笔者认为,作为合格的以及优秀的android开发者,得掌握html5与android开发相关的知识。原因在于前端设计人员的确应该掌握html5,但是html5在android开发中的使用,前端设计人员应该不会知道。所以android开发者是最能知道html5要解决什么问题的,以及哪些页面用html5哪些不用是android开发者心中有数的。而且这部分属于android与前端的交接处的知识。在笔者看来,真正的android程序员并不是只要会调用android提供的编程api就可以了,如果只是这样,就只能一辈子做所谓的码农,每天就敲着android调用api的代码。很难成长为优秀程序员。优秀程序员是对与android开发相关的边界知识都很清楚的程序员,那时就不再是android码农,就是笔者认为的真正的软件工程师了。

其实,在实际开发中真正用到html5的知识点,绝大部分使用的还是常规网页的知识,html5只是用于解决使用常规网页时布局变乱的问题。

在解决常规网页在手机上显示布局变乱的问题之前,笔者认为有必要解释一下出现问题的原因,据笔者了解原因有两点:第一,由于常规网页的显示时默认屏幕尺寸是电脑的,以这种尺寸显示在手机上,自然就会变形.第二.常规网页绘制时的视口默认也是电脑的.在这里可能就会有人问视口是啥意思?其实视口是计算机图形学中的概念,简单说的或它是和具体物理设备对应的一个坐标系,与视口对应的概念是窗口,窗口是与具体物理设备无关的一个坐标系。计算机(包括手机)在绘制图形或文字时,程序里控制的是窗口这个坐标系。在真正绘制的时候会将窗口坐标系上的点转换为视口坐标系的点,然后,图形就显示出来了。

既然原因和概念都已说明了,解决常规网页在手机显示布局变乱的方法已经呼之欲出了。就是设置常规网页显示屏幕尺寸为当前手机尺寸以及设置显示的视口为当前设备对应的视口。只要把这两件事处理了,剩下的就属于css+div(常规网页)布局了。但是具体咋作呢?咋样才能设置尺寸和适口呢?这个问题的答案就是使用html5。html5提供了一些标签属性就可以解决视口和尺寸的问题。具体就是在html的head标签里,加一个meta标签。

如果网页只用于引导页和介绍页,现在就已经可以了,当然若真想连列表页也用网页仅用上面两种情况还不行,必须结合常规网页的技术,特别是JavaScript ,原因是网页中的各种事件都是通过javascript来判断的,但是这些知识达内Android培训专家(Android.tedu.cn)认为Android工程师就可以不那么精通了,但是必要的基础知识还是需要的,这有利于提高就业的竞争力。

北方网教育频道 新闻纠错、投诉及爆料热线:022-23601753