明 边策 郭一璞 发自 凹非寺
量子位 报道 | 公众号 QbitAI
千呼万唤始出来,华为鸿蒙操作系统,今日正式发布。
英文名HarmonyOS,寓意为和谐。
并不像亿万行代码的安卓那样笨重,鸿蒙OS不止支持手机,可穿戴设备、车辆、音箱等各个平台都可用,大到GB级内存,小到KB级内存,全都灵活支持。
而且,鸿蒙OS是终端OS首次使用分布式架构,能做到低时延、高吞吐、高可靠;实现模块化解耦,可以对应不同设备可弹性部署。
余承东说,鸿蒙OS可以兼容安卓应用,如果安卓无法使用,随时可以启动鸿蒙,但考虑到合作伙伴关系及生态,优先使用谷歌的安卓系统。
并且,余承东表示鸿蒙操作系统将会开源。
此外,关于另一款备受期待的产品方舟编译器,余承东说,这款编译器未来能支持多语言统一编译,C、C++、Java、JS、Kotlin等都能支持,甚至可以混合编译。
余承东首先宣布了华为5~10年长期战略,即向用户提供全场景全连接的智慧生活服务。余承东现场用了“1+8+N”这个关键词。
所谓1是指智能手机,8是指8个智能设备:PC、平板、智慧屏、车机、耳机、音箱、手表,眼镜。N是更广泛的IoT设备。
然后,余承东现场提出问题:
这样一个万物互联的时代,怎样的OS才能满足需要呢?
余承东说,Android、Linux操作系统内核庞大冗余,总共超过2000万行代码,而我们平时使用的只有8%的代码,这两个系统难以保证不同终端的体验流畅。
而且, 多终端也对设备安全提出了更高的需求。现在终端设备的操作系统非常多,而软件生态和硬件绑定,开发者需要为不同平台开发不同的软件,降低了用户体验和开发效率。
当然,也有很多公司在探索这一方向,比如谷歌和苹果。
谷歌正在开发“大一统”的Fuchsia系统,未来的发展方向是微内核,但余承东指出,它并不是分布式设计,性能较差。
至于苹果公司,使用的是混合内核,现在系统逐渐分裂,而且生态又封闭。
因此,华为推出了鸿蒙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%的性能提升。
现阶段,鸿蒙OS还是保留了Linux内核,主要是从软件生态的角度考虑,可以兼容Linux、Android、HTML5应用。未来将用鸿蒙OS将用微内核代替所有,并采用方舟编译器。
因为现在主流的软件开发者仍然在为Android等系统开发应用,如何帮助他们将软件移植到鸿蒙OS上,是建设生态的关键。
鸿蒙OS借助分布式能力Kit开发跨终端应用,能够像开发普通应用一样简单。
明天发布的荣耀智慧屏就会用上鸿蒙OS,现场华为还公布了一张时间表,明年华为将在手机中用上鸿蒙系统。
余承东表示,鸿蒙随时可以用在手机上,但是谷歌是华为的合作伙伴,另外也是因为Android生态很成熟,华为会继续在手机上使用Android。
但是华为不惧“断供”,如果Android无法使用,华为随时可以切换到鸿蒙OS。
而且生态系统的迁移也很便捷,余承东说普通开发者只需一两天时间就可以将Android应用移植到鸿蒙上。
最后,余承东在演讲中宣布鸿蒙OS开源,希望和开发者一起打造更强大的OS。
华为鸿蒙OS发布后,余承东也谈到了美国断供的影响:
没有美国断供,我们手机能够做到世界第一。现在,我们还可以坐稳第二。
另外,今天也是“大嘴”余承东50岁生日。
他1993年加入华为,一干就是26年,在他治下,华为手机从无到有,华为手机从弱鸡成为全球第二。
所以也让我们顺祝余承东:生日快乐!
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
?'?' ? 追踪AI技术和产品新动态
现在的App当中,我们经常需要在原生界面中插入HTML5页面,需要在两者之间交互,也就是原生代码和HTML5互调方法,一起来了解一下如何实现的吧!
1.原生代码调用HTML5页面方法
例如,app要调用HTML5页面的changeColor(color)的方法,来改变HTML5页面的颜色
1)HTML5
<script type="text/javascript">
2)Android
wvMain.getSettings().setJavaScriptEnabled(true); //开启JavaScript支持
---------------分割线---------------
2.HTLM5页面调用原生方法
例如,点击HTML5页面的文字,回调原生代码中的callAndroidMethod方法
1)HTML5
<a onClick="baobao.callAndroidMethod(100,100,'ccc',true)">CallAndroidMethod</a>
除此之外,
html5文件头
<_meta name=”viewport” content=”width=device-width,initial-scale=1.0,user-scalable=no”>
<_meta name=”format-detection” content=”telephone=no”>
第二句是给苹果手机把数字都识别成手机号的功能的禁用代码,苹果数字都当成手机号拨打很恶心。
css部分
a,button,input,optgroup,select,textarea {
-webkit-tap-highlight-color:rgba(0,0,0,0); /*去掉a、input和button点击时的蓝色外边框和灰色半透明背景*/
}
注意下面这句非常有用,不写这句代码苹果手机下默认的圆角,代码重置css也无效。
button,input,optgroup,select,textarea {
-webkit-appearance:none; /*去掉webkit默认的表单样式*/
}
a,button,input,optgroup,select,textarea {
-webkit-tap-highlight-color:rgba(0,0,0,0); /*去掉a、input和button点击时的蓝色外边框和灰色半透明背景*/
}
body {
-webkit-text-size-adjust: 100%!important; /*禁止IOS调整字体大小*/
}
打电话,发短信、发邮件
<_a href=”tel:020-10086″>打电话给:020-10086
<_a href=”sms:10086″>发短信给: 10086
<_a href=”mailto:me@22278.club”>发送邮件: mine@ismyspace.com
css省略号:
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
备注:注意css 已经能够实现多行省略号,但是只能webkit用所以没太大意义不说。
css三角形
border-width: 10px 10px 10px 0; //左箭头
border-color: transparent #fff;
border-style: solid;
width: 0;
盒模型代码简写
盒模型外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。
拿margin示例:
margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/
1、如果top、right、bottom、left的值相同,如下面代码:
margin:10px 10px 10px 10px;
可缩写为:
margin:10px;
2、如果top和bottom值相同、left和 right的值相同,如下面代码:
margin:10px 20px 10px 20px;
可缩写为:
margin:10px 20px;
2015年谷歌I/O大会本周将拉开序幕,新一版Android也将问世,据称新Android的代号为“M”,有猜测称,“M”可能是Marshmallow(棉花糖)或者Macadamia Nut Cookie(澳洲坚果曲奇)。Android已经成为第一大智能手机操作系统,但之前各个版本的Android,你都了解吗?
Android 1.0
第一代正式版本的Android系统发布于2008年9月23日,并未以甜品名称命名,而是以一个高大上的词Astro(天文的、航天的、宇宙的)来命名,全球第一台Android设备HTC Dream G1就是搭载的1.0系统,这是最早最雏形的Android系统,拥有智能手机最基本的功能和理念。
Android 1.1
发布于2009年2月2日的Android 1.1系统被称呼为Bender发条机器人,主要处理了1.0版本遗留的许多应用程序和系统的Bug,改进了API接口和添加了一些新特性。
Android 1.5
第一代用甜品名称命名的Android系统是Android 1.5 Cupcake,纸杯蛋糕,发布于2009年4月30日,完善了1.0、1.1系统的诸多不足,比如开始支持虚拟键盘、支持桌面Widget等。注意,此后所有版本的Android都以甜品为代号。
Android 1.6
Android 1.6命名为Donut甜甜圈,主要升级包括重新设计的Android Market、开始支持手势操控、支持CDMA网络等,并开始支持更多的屏幕分辨率、支持OpenCore2引擎;且开始考虑增加向听觉视觉困难人群的插件。
Android 2.0
发布于2009年10月26日的Android 2.0 éclair松饼系统,以及随后的2.0.1、2.1都延续该命名,松饼君主要优化了硬件支持,支持更高的屏幕分辨率,系统界面UI进行了重新设计,运行更加流畅,并且开始支持HTML5。
Android 2.2
2010年5月20日,谷歌发布了Android 2.2操作系统,代号Froyo冻酸奶,该系统主要是进行一系列优化工作,增加了App2Sd功能,整体性能有较大幅度的提升。
Android 2.3
发布于2010年12月7日的Android 2.3系统代号为Gingerbread姜饼,是曾经一度占有率最高的系统版本。2.3优化了系统界面,操作也更加流畅,加入复制/粘贴功能,支持前置摄像头以及NFC等前沿技术。
Android 3.X
发布于2011年中的Honeycomb系统是专门为平板设计的,主要是为了更好的支持平板电脑设备,用以和iPad抗衡。需要注意的是,由于Android 3.X的版本是为平板电脑开发,所以命名体系与其他的版本不同。
Android 4.0
2011年10月19日,Google发布了Android 4.0系统,代号Ice Cream Sandwich冰淇淋三明治,该系统将手机与平板设备进行整合,多个设备共用一个统一的系统版本,拥有全新的UI界面及Linux内核。这一代整体升级幅度较大,增加了大量实用的功能和系统整体用户体验的提升。
Android 4.1-4.3
发布于2012年6月28日的Android 4.1操作系统,虽然相比上一代Ice Cream Sandwich在版本号上只有0.1的差别,但谷歌却给了其一个全新的名字,可以看出这一代的升级幅度也是相当大的,升级最大的体现在谷歌引入的“Project Butter”(黄油计划),引入了三重缓冲显示技术,旨在大幅改善Android的操作运行流畅程度,希望能够赶超iOS,事实上4.1以后的Android系统确实越来越流畅。
Android 4.4 Kitkat(奇巧巧克力)发布于2013年10月31日,是目前Android市场占比最高(39.8%)的操作系统版本,增加了极其酷炫的语音控制系统Google Now、优化多任务处理,同时所有图标都重新进行了设计。这一代系统主要强调整合,而且大多数功能都与Google本身的服务深度结合。
发布于2014年6月25日的Android 5.0 Lollipop可以说是让人眼前焕然一新的一代系统,最大的改变是采用了全新的Material Design设计理念,同时支持64位处理器,全面抛弃Dalvik虚拟机转用ART,效率和流畅性得到大幅度的提升。不过目前Lollipop的升级率依然较低,只有9.7%的市场占比。
*请认真填写需求信息,我们会在24小时内与您取得联系。