当前位置:首页>鸿蒙APP>鸿蒙开发提到的南向和北向指的是?

鸿蒙开发提到的南向和北向指的是?

  • 2026-11-09 08:26:31
鸿蒙开发提到的南向和北向指的是?
在学习鸿蒙开发的过程中,甚至一些招聘需求中,我们经常会听到这两个词:“鸿蒙南向开发”、“鸿蒙北向开发”。
我第一次听到这两个词就“拔剑四顾心茫然”🤔 怎么开发还要分南北?这计算机和地理课又有啥关系?后来随着跟着项目学习逐渐了解,今天我们就来聊聊这两个“黑话”的渊源、含义和背后的深层逻辑。

一、上北下南,一目了然

我们都知道地图的设定方向默认都是上北下南左西右东,把地图的概念映射到IT领域,那么一般的架构图画起来,都是应用层(最接近用户的)在上面,而物理层(最远离用户,而最接近物理硬件的)在下面,比如著名的七层协议。
我们再把这个映射到鸿蒙开发领域,则面向用户的应用软件,跑在系统上层,所以叫“北向”;连接硬件的驱动、内核,处在系统底层,所以叫“南向”。和地图的上北下南一样,容易理解和记忆。
方位(俗名)
开发类型
对应位置
北向
应用开发
上层的应用软件
南向
设备开发
底层的硬件设备

二、那么南北开发到底做什么?

1. 北向开发:应用层的“建筑师”

北向开发就是咱们最熟悉的应用开发,即APP开发——写APP、做UI、实现业务逻辑。application dev

维度
具体内容
开发语言
ArkTS、JS、Java、C++等
关注点
业务逻辑、用户体验、界面交互
成果物
手机APP、智能手表应用、车载屏幕应用,卡片等
目标
实现功能,满足用户需求

北向开发就是用户“看得见、摸得着”的那部分

2. 南向开发:底层的“奠基者”

南向开发则是设备开发、驱动开发、系统移植——让硬件能驱动起来、让系统适配芯片。device dev。
维度
具体内容
开发语言
C、C++为主
关注点
硬件操作、驱动封装、内核裁剪
成果物
BSP包、驱动模块、系统镜像
目标
提供北向API的内部实现

南向开发的成果,北向开发者通常看不到但离不开——没有驱动,甚至应用连屏幕都点不亮!(说起来很多项目的第一步就是点亮)

三、为什么鸿蒙要分“南北”?

那么问题来了,为啥鸿蒙还分了个南向北向,我们熟知的移动操作系统Android和iOS为什么没有南北向的说法?
这就要说到,鸿蒙的目标是星辰大海了。
鸿蒙的定位是全场景分布式操作系统,它要连接的不只是手机,而是万物互联的整个生态,更多的终端将是物联网终端。

华为或者说鸿蒙的“1+8+N”战略

层级
含义
对应开发方向
1
手机(核心入口)
北向应用开发
8
平板、手表、车机、智慧屏等
北向+南向结合
N
海量物联网设备
南向设备开发为主

可以看到,南向和北向并不是一时心血来潮的产物,而是深思熟虑的结果:华为开发者大会2020上,王成录博士也首次系统阐述了南北向开发的概念:

“华为鸿蒙OS 2.0在支持自己设备的同时,还支持一部分第三方设备。我们迈出了使能三方生态的关键一步,鸿蒙系统2.0将开放给所有‘南向’的硬件厂家,‘使能’它们去生产制造、创新鸿蒙生态设备;同时开放给‘北向’的应用开发厂家,让它们基于鸿蒙系统去做更多创新。”

    本号前面主要记录了北向开发(音频播放器),后续将会逐步也进行南向开发的总结和笔记,供大家批判参考。

    最新文章

    随机文章