鸿蒙(HarmonyOS)北向开发知识点记录~

北向开发的目标是为鸿蒙生态系统构建丰富多样的应用程序,满足用户在不同场景下的需求。通过北向开发,开发者可以充分利用鸿蒙操作系统的独特优势和强大功能,为用户带来全新的体验,同时也为自身创造更多的商业机会和价值。

开发技术与特点

1. 分布式技术:鸿蒙操作系统的一大特色是分布式能力,北向开发可以充分利用这一特性,实现跨设备的应用协同。例如,在手机、平板、智慧屏等设备之间实现数据共享、任务流转和多屏互动。
2. 原子化服务:原子化服务是一种轻量级的应用形态,具有免安装、即点即用的特点。开发者可以开发原子化服务,为用户提供更加便捷的服务体验。
3. 统一开发框架:鸿蒙提供了统一的开发框架,使得开发者可以一次开发,多端部署,大大提高了开发效率和应用的兼容性。
4. 丰富的 UI 组件:鸿蒙提供了丰富多样的 UI 组件,开发者可以轻松构建美观、流畅的用户界面。同时,还支持自定义组件的开发,满足个性化的需求。

下面针对【鸿蒙】应用开发中的一些技术点做的整理归纳,大家可以针对自己所需要了解的内容进行参考学习

基础组件

  • 基础组件(text开发)
  • 基础组件(input开发)
  • 基础组件(button开发)
  • 基础组件(picker开发)
  • 基础组件(image开发)
  • 基础组件(image-animator开发)
  • 基础组件(rating开发)
  • 基础组件(slider开发)
  • 基础组件(chart开发)
  • 基础组件(switch开发)
  • 基础组件(toolbar开发)
  • 基础组件(menu开发)
  • 基础组件(marquee开发)
  • 基础组件(qrcode开发)
  • 基础组件(search开发指导)

容器组件

  • 容器组件(list开发)
  • 容器组件(dialog开发)
  • 容器组件(form开发)
  • 容器组件(stepper开发)
  • 容器组件(tabs开发)
  • 容器组件(swiper开发)

Canvas组件

  • Canvas组件开发(Canvas对象)
  • Canvas组件开发(CanvasRenderingContext2D对象)
  • Canvas组件开发(Path2D对象)
  • Canvas组件开发(OffscreenCanvasRenderingContext2D对象)

UI组件

  • 添加组件(按钮 (Button))
  • 添加组件(单选框 (Radio))
  • 添加组件(切换按钮 (Toggle))
  • 添加组件(进度条 (Progress))
  • 添加组件(文本显示 (Text/Span))
  • 添加组件(文本输入 (TextInput/TextArea))
  • 添加组件(显示图片 (Image))
  • 添加组件(自定义弹窗 (CustomDialog))
  • 添加组件(视频播放 (Video))
  • 添加组件(自定义绘制 (XComponent))
  • 添加组件(Native XComponent)
  • 气泡提示 (Popup)
  • 菜单(Menu)
  • 组件导航 (Navigation) (推荐)
  • 页面路由 (@ohos.router)
  • Router切换Navigation
  • 绘制几何图形 (Shape)
  • 使用画布绘制自定义图形 (Canvas)
  • UI开发 (兼容JS的类Web开发范式)
  • UI开发 (js标签配置&app.js)
  • UI开发框架 (HML语法)
  • UI开发框架 (CSS语法
  • UI开发框架 (JS语法)
  • UI开发框架(生命周期&资源限定与访问)
  • UI开发(多语言支持)
  • UI开发(组件布局)
  • UI开发(添加交互)
  • UI开发(动画)
  • UI开发(手势事件&页面路由)

界面布局

  • 线性布局 (Row/Column)
  • 层叠布局 (Stack)
  • 弹性布局 (Flex)
  • 相对布局 (RelativeContainer)
  • 栅格布局 (GridRow/GridCol)
  • 媒体查询 (@ohos.mediaquery)
  • 创建列表 (List)
  • 创建网格 (Grid/GridItem)
  • 创建轮播 (Swiper)
  • 选项卡 (Tabs)
  • 开发应用沉浸式效果
  • 按钮 (Button)
  • 单选框 (Radio)
  • 切换按钮 (Toggle)
  • 进度条 (Progress)
  • 文本显示 (Text/Span)
  • 文本输入 (TextInput/TextArea)
  • 显示图片 (Image)
  • 自定义弹窗 (CustomDialog)
  • 视频播放 (Video)
  • 自定义绘制 (XComponent)
  • Native XComponent
  • 气泡提示 (Popup)
  • 菜单(Menu)
  • 组件导航 (Navigation) (推荐)
  • 页面路由 (@ohos.router)
  • Router切换Navigation
  • 绘制几何图形 (Shape)
  • 使用画布绘制自定义图形 (Canvas)

ArkUI

  • 主题设置(应用深浅色适配)
  • 主题设置(设置主题换肤)
  • UI开发(ArkTS声明式开发)
  • UI布局各种方式简述
  • 线性布局 (Row/Column)
  • 层叠布局 (Stack)
  • 弹性布局 (Flex)
  • 相对布局 (RelativeContainer)
  • 栅格布局 (GridRow/GridCol)
  • 媒体查询 (@ohos.mediaquery)
  • 创建列表 (List)
  • 创建网格 (Grid/GridItem)
  • 创建轮播 (Swiper)
  • 选项卡 (Tabs)
  • 开发应用沉浸式效果

UIAbility

  • UIAbility组件生命周期
  • UIAbility组件启动模式
  • UIAbility组件基本用法
  • UIAbility组件与UI的数据同步
  • UIAbility组件间交互(设备内)
  • ExtensionAbility
  • AbilityStage组件容器
  • 应用上下文Context
  • 信息传递载体Want(一)
  • 信息传递载体Want(二)
  • 组件启动规则(Stage模型)
  • 应用启动框架AppStartup
  • 订阅系统环境变量的变化
  • 通过startAbilityByType拉起垂类应用
  • 通过startAbility拉起文件处理类应用
  • 进程模型&线程模型
  • 应用/组件级配置
  • PageAbility组件
  • 创建PageAbility
  • ServiceAbility组件
  • DataAbility组件
  • FA模型的Context
  • 进程模型&线程模型
  • 使用异步并发能力进行开发
  • 多线程并发
  • TaskPool和Worker的对比 (TaskPool和Worker)
  • I/O密集型任务开发指导 (TaskPool)
  • 同步任务开发指导 (TaskPool和Worker)
  • 线性容器
  • 非线性容器
  • XML生成、解析与转换
  • 代码混淆
  • 内存管理(GC)

动画

  • 动画概述
  • 属性动画
  • 转场动画(出现/消失)
  • 模态转场
  • 共享元素转场
  • 旋转屏动画增强
  • 页面转场动画 (不推荐)
  • 粒子动画
  • 动画曲线
  • 组件动画
  • 动画衔接
  • 动画效果(模糊)
  • 动画效果(阴影&色彩)
  • 交互事件
  • 事件分发
  • 触屏事件
  • 键鼠事件
  • 焦点事件
  • 拖拽事件
  • 绑定手势方法
  • 单一手势
  • 组合手势
  • 多层级手势事件
  • 使用自定义能力
  • FrameNode
  • RenderNode
  • BuilderNode

NDK

  • 使用NDK接口构建UI(接入ArkTS页面)
  • 使用NDK接口构建UI(添加交互事件)
  • 使用NDK接口构建UI(使用动画)
  • 使用NDK接口构建UI(使用懒加载开发长列表界面)
  • 使用NDK接口构建UI(构建弹窗)
  • 使用NDK接口构建UI(构建自定义组件)
  • 使用NDK接口构建UI(嵌入ArkTS组件)

Web

  • ArkWeb
  • ArkWeb设置基本属性和事件
  • Web组件嵌套滚动
  • 管理Web组件
  • 使用Web组件加载页面
  • 管理页面跳转及浏览记录导航
  • 拦截Web组件发起的网络请求
  • 自定义页面请求响应&页面访问加速
  • 管理网页文件上传与下载
  • 使用网页多媒体
  • 处理网页内容
  • 同层渲染绘制Video和Button组件
  • Web调试维测
  • Background Tasks Kit(后台任务开发服务)
  • Background Tasks Kit(后台任务开发服务)长时任务
  • Background Tasks Kit(后台任务开发服务)延迟任务
  • Background Tasks Kit(后台任务开发服务)代理提醒
  • Core File Kit(文件基础服务)
  • 应用文件&沙箱目录
  • 应用文件访问(ArkTS)
  • 应用文件访问(C/C++)&文件系统空间统计
  • 应用文件分享
  • 应用数据备份恢复

迁移适配

  • 设备升级应用数据迁移适配指南(一)
  • 应用数据迁移适配指导指南(二)
  • 应用沙箱数据流转指南(三)
  • NEXT上模拟验证应用数据迁移指南(四)
  • 数据迁移常见问题与异常处理(五)

Node-API

  • Node-API实现跨语言交互指南(一)
  • Node-API实现跨语言交互开发流程指南(二)
  • Node-API接口进行异步任务开发案例
  • Node-API接口进行线程安全开发指南
  • Node-API接口创建ArkTs运行时环境
  • Node-API接口在主线程中进行模块加载
  • Node-扩展的Node-API接口在异步线程中运行和停止事件循环
  • Node-API接口进行模块加载
  • Node-API接口从异步线程向ArkTS线程投递指定优先级和入队方式的的任务
  • Node-API接口进行错误处理开发
  • Node-API扩展能力接口
  • Node-API常见问题

其他

  • 栅格布局
  • Svg开发
  • 动效开发(CSS动画)
  • 动效开发(JS组件动画)
  • 动效开发(JS插值器动画)
  • 自定义组件
  • 使用WebGL绘制图形
  • 窗口管理
  • 管理应用窗口(FA模型)
  • 使用NativeWindowEventFilter过滤多模输入事件(C/C++)
  • 画中画功能
  • 智慧多窗
  • 分布式文件系统
  • Form Kit(卡片开发服务)
  • 基于ArkTS UI的卡片(一)
  • ArkTS卡片开发(二)
  • 开发卡片页面(三)
  • 卡片事件
  • 卡片数据交互
  • 服务卡片开发指南(FA模型)
  • IPC Kit(进程间通信服务)
  • 自由流转
  • 跨设备拖拽&剪贴板
  • NDK开发
  • 构建NDK工程
  • C/C++标准库机制
  • Native与ArkTS对象绑定
  • 在非ArkTS线程中回调ArkTS接口

鸿蒙性能文章总览

  • 性能优化概览
    • ArkTS高性能编程

      • 高性能编程规范
      • 高效并发编程
      • N-API高效开发指导
      • 多线程能力场景化
      • 利用native的方式实现跨线程调用
      • 避免开发过程中的冗余操作
    • 减少卡顿丢帧

      • 正确使用LazyForEach优化
      • 组件复用使用指导
      • 组件复用四板斧
      • WaterFlow高性能开发指导
      • Swiper高性能开发指导
      • 合理进行状态管理
      • 精准控制组件的更新范围
      • 合理使用renderGroup
      • 减少动画丢帧
      • 合理使用多线程共享内存
      • Grid高性能开发指导
      • 状态管理优秀实践
      • 合理处理高负载组件的渲染
    • 提升应用启动和响应速度

      • 提升应用冷启动速度
      • 提升应用响应速度
      • Flex布局性能提升使用指导
      • 优化布局性能
      • 合理选择条件渲染和显隐控制
      • 合理使用IPC通信
      • 文件上传下载性能提升指导
      • 减少首帧绘制时的冗余操作
      • 列表场景性能提升实践
      • 动效能力实践
      • 性能提升的其他方法
      • 运行时动态加载页面提升性能
      • 合理运行后台任务
      • Web组件开发性能提升指导
    • 减小应用包大小

    • 性能工具

      • 性能分析工具CPU Profiler
      • 页面布局检查器ArkUI Inspector
      • 内存分析器Allocation Profiler
      • 帧率分析工具 Frame Profiler
      • 启动分析工具Launch Profiler
      • 内存快照Snapshot Profiler
      • 耗时分析器Time Profiler
      • 性能测试工具SmartPerf Editor
      • 性能优化工具HiDumper
      • 性能优化工具SmartPerf-Host
      • 常用trace使用指导
      • 状态变量组件定位工具实践

尽请期待后续更新……

你可能感兴趣的:(移动开发,鸿蒙开发,HarmonyOS,harmonyos,移动开发,arkui,组件化,容器,NDK,迁移学习)