EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Ber_thaw99 于 2020-12-9 10:51 编辑
$ W" U; `! M( y, V' I; @1 k! ?5 D& K) e7 ]
7 ?- z2 n# e/ m* D# w- F& `" \/ U, e' U; b0 |' I) j% ]
' a8 o9 Y$ x4 e* B. q4 n+ S
# k+ b6 `, r: y0 G" n; F( C9 c到底什么是鸿蒙 OS3 }2 p* z3 v* B$ k/ f H: |/ r5 r
% h- J& T* u" [) t/ X在官网上看到鸿蒙 OS 的简介是,分布式能力造就新硬件、新交互、新服务,打开焕然一新的全场景世界。以及发布会提及最多是他的万物互连,全场景,分布式,微内核,软总线。# N" C$ h9 U+ n c/ p; M, e
0 v: A9 q# \0 ^0 n' J+ g5 k; o$ n# t, Y1 q' L+ c/ s( n0 O, }, j& E
换句话说,鸿蒙OS 是为全场景,分布式设计的,微内核,软总线是他重要的实现。
3 O6 g: X+ H5 R# i p6 M5 x2 w+ [( D# C' T" k; k6 L; T0 g( u' w# P
对于全场景,分布式理解,我们可以想一下华为自家的多屏协作,以及电脑,平板和手机可以很方便实现在电脑上操作平板,手机。2 }8 T% ]; Q7 V9 \3 z* J7 X7 ]4 R5 y% `4 V& T
/ M) j/ \: @ n1 _0 A! D" M
, a2 @, U" B" A$ Y另外现在双 11 买到的一些新上市家电,上面可以看到鸿蒙的小 Logo,这些带上鸿蒙的家电,可以通过碰一碰无需安装 App 实现配置组网,也十分方便。
, A+ ?9 d1 q' Q" v1 L& V
" }7 h7 }2 [+ a0 O. V6 J1 o6 R2 `3 r: ~; ~ N4 z: A Z4 \- t: w: E- i( A" z
在华为开发者大会上,华为也展示了一些精彩的案例。大家有兴趣回头翻一翻。这些都是通过全场景,分布式特性做到的新交互和体验,十分让人期待。
, A* k: _+ t3 [$ T$ b1 n( Q" q) Z. x3 ?
1 q4 W9 W$ u% f9 K4 G/ Y/ U4 L+ j" K0 t6 y
到此应该有一个疑问,如果不用鸿蒙 OS,能不能实现以上交互?多屏协同,多设备协同?
4 p+ O& f8 M0 D% u1 I$ v; S1 [$ f+ x8 L8 u+ z- f
. g4 @: r$ f' a( p. b" N7 e
5 H- \' v* A) Q" o) \, g& \答案是可以的,官方有提到,他们把鸿蒙 OS 一些能力,例如分布式提出来放到 EMUI 上。, Z; [0 o* e R7 {2 y! Y) Z6 v. b) a
3 E Q( T4 p1 q% G/ }- f/ c1 o- w: |0 x0 J8 u) A7 }
我们在华为的开发平台上可以看到一些 kit 和鸿蒙有关的有设备虚拟化、HiCar、HiLink、碰一碰等。+ ^+ R4 j; ?! X4 c$ e! |% @
; B- i& z( u5 V4 I# P/ Y* l. k. O K& \0 H. E, w) F: Z4 D$ B z
这些 kit 是可以让设备在不上鸿蒙的情况下,实现全场景,分布式。他们做的类似做一个中间层,App 和设备端分别接入这些 kit 的 sdk。' M: O' i1 {2 l
5 y" z( Z4 v$ Z7 H; ^& D# K3 { K% u' U$ @/ M" R8 a* Y4 a7 ^# ^
那么和直接用鸿蒙 OS 有什么区别呢?开发会上官方给出了答案,不上鸿蒙也是可以实现的,不过鸿蒙 OS 的性能会更好一点。- T* \+ c+ @) T# @! b' E
' [( H6 q: s$ E+ B( a/ U4 f: Q1 k j: C' ]* V R$ H: L0 B! }, D7 B% W
N' M" d" n" l- \4 c) i/ B
' I( ^2 L( {) {! p2 _8 l+ a' u聊一下 kit
# B [2 O. X8 O% I& q1 N) c/ _; K2 P
在聊开发之前,我想聊一下华为提供一些有意思的 kit。; g. x- b3 j& j
+ M8 ~9 n- y1 N4 Q8 u5 M3 Y, y
# q, z) o0 @% J$ I+ _
我比较感兴趣的是设备虚拟化能力和碰一碰。
! s4 K& v; h4 t8 [& \; q. ?; a S2 S9 ^) y# W, O' n2 _+ G
, L- M/ B, h$ N8 D
! Q/ P, W; \! K( o; H1 M$ d' G( P设备虚拟化能力(DeviceVirtualization Engine),是通过虚拟化技术将相关设备或器件打造成手机器件或能力的延伸。
$ X8 T0 _- \- S5 s4 t0 ]. |4 D
9 ?; a9 [( N/ Z' V9 L) p* T. B5 j# g它可以将家中的电视、摄像头和音箱虚拟为手机的屏幕、Camera 和 Mic/Speaker,将穿戴设备作为手机的虚拟 Sensor,实现手机为中心的全场景体验。1 z$ T0 f# V I2 d) @
( G& `& Q9 C( R4 @* P' H O
0 u% z3 B3 C A$ i, P) ~) f此处又应该有疑问,这个设备虚拟化和我们平时用的投屏,蓝牙音箱有什么区别?
( T% C6 ?+ s7 O灵活性,投屏,蓝牙音箱,蓝牙话筒是实现单一功能设备。用户可以根据需要选择所需的设备。
应用级的,举个例子,可能开会需要,在会议 App 才需要话筒音箱。来电了依然是用手机上的话筒听筒。
可扩展性,,除了常见的多媒体。他这个还支持外接传感器,马达,消息通知等。
! S1 \* A% r q4 H- k2 i$ t4 G& f, s0 y8 W% c, ?+ V& y8 [/ _6 v C4 a) J, }
碰一碰能力(OneHop Engine)是通过 NFC 来解决 App 跨设备接续难、设备配网难、传输难的问题的一个方案。
7 M0 k* O' K- C% N- f3 X' y; Q" p" L
/ ^) U" K3 g) i+ E, q* j
2 a+ D; k9 o1 u他们定义了一些常见的场景下的功能方向以及两种集成方案:
1 B" a/ W+ I6 g; } T% N$ Y$ ~" e; z7 { `% l! s7 K# a! V
( K8 x+ r8 N9 w) E
- M9 M$ z" ^, a
- @' P( n$ M7 t! Z9 l
R: J, Q1 d4 ~' I
例如,美的电器接入碰一碰可以做到免安装配网。这点十分方便,特别是家有老人。- O5 _# X, X" p# x" J* g% R: D3 P5 Q! A3 ?. M# j9 C
7 J1 a" S/ n3 A- r D! U2 _
3 a. e& n0 B+ _& D- ^) n Z, @之前的配网流程起码分成 3 步,安装 App,扫码,配置。而这套方案就只要 3 秒。
7 G' H; q3 A5 t, F( Q9 U3 t1 Y: V8 E8 @. ]& j
支持小编. t0 z) R3 L. \+ @
! ^' H1 \3 d r+ z. s4 s! d- }" F* r
/ }: x& G9 ~# N: H0 O1 O' R+ v" O C% W0 c2 m3 _; g
应用开发4 p# ^) k$ n- w: I) G
/ Z* J, W5 o" b, a4 \; K9 u鸿蒙 OS 目前开放了应用开发和设备开发。应用开发是我们的重头戏,可以为搭载鸿蒙的智慧屏,手表,车机开发应用。
1 C3 K! V, K- U7 H( k+ E3 k7 B: y) C. X& ?* U
1 ]5 t! ^) d5 r) a- i, z: G. i+ {! X1 V/ T7 O, d5 `$ e/ ~
通过华为提供的 DevEco IDE 建立应用开发项目,具体开发步骤有比较多的教程就不细说了。
+ Z; _3 ?7 i$ ]' u [
9 z5 u- L. z" d) A- B& U开发可以使用 Java 和 JS 语言。Java 开发的话,跟 Android 开发差不多。
$ O1 j7 N0 n f) U" z- D; U- V" c# Z3 F5 A0 j9 x/ R
% e+ {: o; J x' c( x这里注意的是通过 JS 开发的话,但是通过 Htm 并非 html 来写 UI。在语法上类似 vue。" a0 ?' ]4 o' J+ e6 y! R( o+ O
, i1 t3 |2 m2 N" r: O
7 o+ B/ A5 \- \2 F) Z) TJS 引擎是 JerryScript,能够在内存少于 64KB 的设备上执行 ECMAScript 5.1 源代码。
* C7 b2 d l4 B% |' G) R" y: E& A( h+ H
! n* B7 K# G: L那实际上下面要提到的设备开发逻辑是也可以部分用 JS 实现的。不过官方文档比较少,也没有 demo 提供。但个 js runtime 是可以作为组件一起编译烧录的。
& j- `5 M$ m; C0 I1 b. d: P
% p: F9 \* F2 s0 N) Y+ e, d* \5 J, h2 {+ }8 y, z
应用开发中,我比较感兴趣的是跨设备调用,下面这个例子是从智慧屏 App 上调用其他设备页面的。
) t- c4 N2 O# v
5 I+ k- ^- `1 G0 ]8 g# G: D: c# a7 i2 |3 A$ ^, K& U; _, Z! q. d8 D2 U
4 m0 ~5 B. g3 H o$ f$ j) `. e/ W7 B+ P4 ]* ^6 A1 H
这里可以看到优点十分明显,在这里我们开发无需关心通信,以及传输安全问题。! Z: w! e' l0 I- {# b$ u
q; g6 u- z6 \* B9 H- v8 ^8 Q% |8 v! m" ]; ~
在智慧屏上这么写,在手表上也是这么写。也就是他们说的一次开发多端部署,提供成熟方案,不用放更多精力在安全机制,组网连接和基础通信上。聚焦业务,快速完成原型开发。' i ]4 O% d! }7 h7 c: q) p
0 y7 r+ ~8 B5 ^' p# s6 y4 R u, M" @: f( C3 g; C2 ?% }; ~8 F
但也有一些约束与限制:
2 @. H0 n* E1 N! m2 V支持主设备侧远程启动从设备侧 FA,不支持从设备远程启动主设备 FA。
5 x$ {) w! I5 b! e; E9 m
需要同一局域网内。9 ]% v- W6 j/ f; W) p& Y
需要认证,当前只支持拥有共同公钥信息的主从设备间 FA(即主从设备的 FA 使用相同华为证书)的拉起。
( h- v6 E7 S( d" f% b, f7 L8 h
工具链还需完善,如果选择智能手表和智慧屏这两个平台进行 App 的开发,目前华为还没有开放基于 X86 的本地模拟器。1 X2 q+ M% a5 p8 H$ E. x2 A
因此,需要将编译后安装到远程的 ARM 处理器以运行代码,在本机上只能预览运行结果,而无法在本机上运行和调试代码。开发效率相对慢一点,相信华为后面应该会补齐。
: b! C# v- t! g. b/ O0 e0 b+ y- l/ i& |! W) o+ f& P) v2 a: a* Z4 v
设备开发
7 M0 l* [# H$ Y6 a8 w" T8 r2 l; b" e H- K8 n
+ p3 T. {+ m9 q- V1 x* b3 ^
针对设备开发者,OpenHarmony 采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。
; @0 t$ G$ D- U
, b' Y( ^; T0 n8 n6 h- t可运行在百 K 级别的资源受限设备和穿戴类设备,也可运行在百 M 级别的智能家用摄像头/行车记录仪等相对资源丰富的设备。
R( G9 S& H! }1 \
0 P6 q: q2 X7 }9 @) _9 ]4 g4 V% t9 m2 V- J+ \+ r2 W6 U6 K0 J# c: s. U
我先讲一下设备开发的限制,目前开源的仅支持 128k~128M 设备。而电视的运行内存一般在 2G 以上,普遍 3~4G。那实际上可以满足除了电视,手表 wear,手机的大部分设备。* P1 ~. A0 {! v/ Z7 I6 \+ G9 r8 }
" \+ N# e% b2 ^3 Y
1 z' d: _4 }5 X8 C8 f- k开发流程是源码获取/组件管理→编码实现逻辑→编译→烧录,按官网教程走一遍就能在开发板板上跑起来了。! E; W- \& a, ~! ^' R) U) u
% q. v& S% j, n0 {# o! F: A2 I* s/ M6 o$ O& F: V1 l9 F! O) ]4 M' k6 w' L9 o2 Z2 p
前面说到的一些 kit , 设备虚拟化和碰一碰也是可以用在设备开发上的。不过设备虚拟化,DVKit SDK 预计 2020 年 12 月底才提供。! l6 g; u0 g- U4 ]
/ V s4 c) F( i# v, D
还有碰一碰,以下是官方提供的一个打印机通过碰一碰实现文件传输的例子:
) X" ~# o& q; G: C- b: p+ u6 Z: k# z2 P# b/ g* Z7 M9 ]' L; l' O5 d, _+ ~) o
, I. S, @; C/ K+ M1 q* ~
接下来聊一下华为的鸿蒙发布计划:明年中发布 4G 以下,4G 以下应该对应车机和 wear。
( R2 f+ j2 ~9 X" ^+ X2 s. |+ f' Z9 x- i# r) z7 S9 e
年底发布 4G 以上,这个应该是对应手机。手机的话大家都认为的意义不是很大,也不太可能成为主流,我也是这么认为。
) r" n- u* g. O2 Z. T. u- h$ c$ t! }. \+ {3 X1 A6 j8 B. j% O
我个人认为鸿蒙的发力点应该是在电视,穿戴,车机上,以及提供极致的生态体验!!
- x$ d( d6 R" }, Z, k7 s
5 q8 x1 G* v# f" N M, ] Q3 L7 n p5 |" c8 \! N1 B( A
+ k: `8 t' M* W& V& V
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』