HarmonyOS应用开发计划

HarmonyOS应用开发计划之鸿蒙自学能力提升计划

1、基础理论学习

结合华为课堂进行培训,已能通过习题考试为标准。
需要学习的课程如下
注意:

1.1学完后要求通过鸿蒙基础认证

(https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398)

1.2、学完后要求通过鸿蒙高级认证

(https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101684223987951077)

单选和多选:
https://blog.csdn.net/qq_39697618/article/details/143904713

1.1HarmonyOS第一课(理论基础)
1.1.1 运行Hello World
需要学习(运行Hello World)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667303102887820
1.1.2 ArkTS开发语言介绍
需要学习(TypeScript快速入门、ArkTS基础知识、ArkTS开发实践)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667356568959645
1.1.3 应用程序框架
需要学习(UIAbility的使用)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667310940295021
1.1.4 从简单的页面开始
需要学习(基础组件的使用、容器组件介绍、构建列表页面、页签切换)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667360160710997
1.1.5 构建更加丰富的页面
需要学习(管理组件状态、Video组件的使用、给应用添加弹窗)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101680765314766141
1.1.6 给应用添加动画
需要学习(属性动画的使用)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667368091091005
1.1.7 从网络获取数据
需要学习(Web组件的使用、HTTP数据请求)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667364948559963
1.1.8 保存应用数据
需要学习(数据管理)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667367018821971
1.1.9 给应用添加通知和提醒
需要学习(给应用添加通知、后台代理提醒)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101689244351517164
1.1.10 应用服务上架
需要学习(HarmonyOS应用/元服务上架)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101689684184109157

1.2HarmonyOS主题课(开发工具)
1.2.1使用DevEco Studio开发
需要学习(环境搭建、高效编辑代码、预览器的使用)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101680766639443507
1.2.2三方库
需要学习(三方库的基本使用)
https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667369405083047

1.3其他进阶课程
1.3.1ArkUI应用开发训练营(对比第一课,这个课程偏实际应用)
https://developer.huawei.com/consumer/cn/training/study-path/101662015303651390
1.3.2应用开发系列课程(主要包含折叠屏开发可以学习下)
https://developer.huawei.com/consumer/cn/training/study-path/101660823576639948
1.3.3应用开发实战(对比第一课,这个课程偏实际应用)
https://developer.huawei.com/consumer/cn/training/study-path/101671526130488588

1.4其他推荐的教学材料
1.4.1 B站UP整理的学习教程
https://hm.codefe.cn/docs/tutorial/intro/
1.4.2 gitee的开源组件库
https://gitee.com/explore/harmony

2、结合具体项目做实战演练

以下项目可以做参考,也可以自己在gitee上搜索:
2.1简易计算器
https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/tutorials_SimpleCalculator
2.2 易记账
https://gitee.com/ericple/oh-bill
2.3 小村外卖
https://gitee.com/xieminghui7/small-village-takeout-app

3、简历包装

3.1 专业技能
注意:
1.1的第一课学完后就可以修改简历,以下是鸿蒙技能是示例,根据实际掌握情况从中间挑一些补充到简历中。

1.1 模板一
熟悉鸿蒙操作系统及其开发工具,鸿蒙应用开发流程和上线流程
熟悉ArkTS stage模型进行HarmonyOS应用开发,并能高效利用ArkUI框架推进项目。
熟悉鸿蒙页面、组件、Ablility、卡片等生命周期,具备webSocket、webview及卡片开发的实战经验。
熟悉 HarmonyOS 提供的 API 和 SDK,能快速集成地图、定位等功能模块。
熟悉首选项、PersistentStorage和router完成应用数据持久化存储,页面路由跳转等
熟悉百分比布局,rem 布局,flex布局,响应式布局与 Less 预编译适配各种设备
熟悉使用 JavaScript、DOM 等前端技术,熟悉 ES6 语法,能够封装构造函数类插件及组件
熟悉使用 Ajax、Axios 进行前后端数据交互,熟悉浏览器的同源策略,同时能够使用 jsonp 解决浏览器跨域问题
熟悉 Vue 全家桶(Vue+Vue-cli+Vue-router+Vuex+axios)结合 element-ui、vant 等框架构建页面
熟悉模块化开发,组件化开发提升代码灵活性
熟悉 Git 代码版本管理工具,使用 npm 管理项目所依赖的包

1.2 模板二
熟悉ArkTS语言,熟悉ArkUI框架,熟悉声明式UI开发范式。
熟悉Stage模型以及UIAbility的生命周期和启动方式 ,进行组件化开发 ,共享组件状态。
熟悉卡片开发,卡片与应用软件之间进行数据交互的方式。
熟悉HarmonyOS中的WebView,在应用中嵌入网页,实现更加丰富的功能。
熟悉HarmonyOS中的通知的推送和其行为意图的添加,熟悉 WebSocket,以实现消息推送。
熟悉HarmonyOS中的权限申请方式,熟悉HarmonyOS应用的上架流程。
熟练掌握HTML/HTML5/CSS3/JavaScript等前端技术。
熟悉 Vue2/3 框架,能够使用Vue-Router、Vuex/Pinia、Axios,配合Element-UI/Plus 组件库
进行项目开发。
熟悉TypeScript 相关语法,能结合 Vue 项目进行开发,提高项目代码的可维护性和可靠性。
熟悉json-server的使用,能够使用其进行数据模拟,使得前端与后端的开发可以同时进行。
了解Java基础知识及主流框架SpringMVC、SpringBoot和MySQL数据库基础操作等。

1.3 模板三
熟悉HarmonyOS SDK和DevEco Studio,能够独立开发鸿蒙应用;
熟悉Stage模型以及UIAbility的生命周期和启动方式 ,进行组件化开发 ,共享组件状态;
熟练使用ArkUl 框架及相关API组件 ,具备声明式UI开发能力
熟练使用ArkTs进行全局UI状态存储和持久化存储;
熟悉鸿蒙服务卡片及元服务开发
熟掌握ArkUI状态管理机制;
熟练使用ArkTs中的文件存储和数据管理;
掌握鸿蒙应用日志系统,对报错进行调试、分析;
熟练使用 Echarts、lodash、高德地图等第三方工
熟练使用H5/CSS3/JavaScript等前端开发技术,熟悉ES6基本语法,掌握模块化开发;
熟练使用Git进行项目的管理,熟练使用Webpack前端工程化开发工具;

1.4 模板四
熟练使用TS,ArkJs,并使用它们和鸿蒙开发软件DevEco Studio开发过app。
Vue2、Vue3:熟练使用V2、V3开发过PC端和移动端项目。
熟练掌握Vant、Element UI 等组件库的使用,配合Vue开发项目。
Axios:熟练使用axios在项目中和后台接口的交互。
JQuery:熟练掌握JQuery框架的使用。
精通ECMAScript5、ECMAScript6、等原生ES的使用。封装原生的组件,例如轮播,选项卡,Ajax 函数。
精通html5、css3 的各种页面布局、瀑布流、动画等等。
熟练Git工具在开发中的使用。
熟练小程序开发流程
熟练uni-app开发流程
熟练使用json-server模拟后端数据进行开发
使用WebPack打包项目上

1.5 模板五
熟练使用 HarmonyOS 官方开发工具 DevEco Studio 进行应用开发和调试,确保HarmonyOS 应用在不同设备和平台上的兼容性和稳定性的经验。
熟练使用 HarmonySDK 完成应用数据持久化存储,应用级路由跳转、页面路由跳转等
熟练使用 HarmonyOs 类网页开发范式、声明式开发范式中的容器组件,媒体组件能够使用 ArkUl框架进行页面开发,参与鸿蒙APP 开发
掌握 DevEcoStudio 开发平台进行 HarmonyOS App 开发流程及应用上架部署流程
熟悉 ArkTS 语言,ArkUI 框架.
熟练掌握卡片开发,熟悉提供方与使用方的数据交互
熟练掌握 Web 套壳技术,HTTP、封装 Axios 请求数据,使用(首选项、PersistentStorage)持久化保存数据
熟练掌握 WebSocket 双向通信,notificationManager 发送通知,提醒用户重要信息
熟练掌握访问控制,权限管理,给用户提供位置服务
熟练掌握栅格布局(GirdRow),实现一次开发,多端部署
熟练掌握 MediaQuery 媒体查询技术,实现横竖屏切换,展示相应布局
熟练使用 Vue2 框架及其生态系统,并熟练运用 Vue 全家桶(Vue+VueX+Vue Router)
熟练掌握 Vue3 +TS+Pinia+Vue-Router 构建 vite 项目
精通 HTML、CSS、JavaScript 等前端基础技术,熟练 JS 原生语法以及 ES6 新特性。
熟练使用 Element-Plus、Vant、Ant Design 组件库,快速搭建页面;
有一定的后端接口编写能力(Node)
熟练使用 JSON-Server、mock,模拟数据接口,与后端同步开发
熟悉 Echarts 数据可视化工具

1.6 模板六
熟悉掌握 HarmonyOS 基于ArkTS声明式开发范式中的各种组件应用,能够进行独立开
发。
熟悉Stage模型以及UIAbility的生命周期和启动方式,进行组件化开发,共享组件状态
熟练完成应用数据持久化存储,应用级路由跳转、页面路由跳转,服务卡片及元服务开发等
熟悉 HarmonyOs中WebView,WebSocket等,实现地图应用,消息同步,文本、图文消息推送等。
拥有 HarmonyOS 应用开发者高级与基础认证证书
熟悉 W3C 标准,熟练运用 DIV+CSS 或 HTML5/CSS3 新特性来制作规范的页面
熟练运用原生 Js,ajax,掌握 ES6,ES7 新特性,熟练使用 promise,class,symbol,map,set
熟练使用 Typescript 配合 Vue ,对数据类型约束,提升代码质量
能够二次封装 Ajax,Axios 请求进行前后端数据交互,熟悉 Apifox接口测试工具
熟练使用 Vue 全家桶(Vue-cli+Vue2/Vue3+Vue-router+Vuex+axios)开发项目
熟练使用主流 UI 库及 API,(Element-plus, Vant, Ant-Design, Echarts, Swiper)
熟悉 npm、yarn 包管理工具,vite前端构建打包等辅助工具;
熟练使用JSON-Server、mock,模拟数据接口,与后端同步开发
熟练使用git代码管理工具,进行团队协作和代码版本管理;

1.7 模板七
熟练使用HarmonyOS的ArkTS声明式开发范式,包括各类组件的应用,并能独立完成开发任务。
熟练运用HarmonyOS与TypeScript结合进行高效开发,确保代码质量。
掌握 DevEcoStudio 开发平台进行 HarmonyOS App 开发流程及应用上架部署流程
掌握应用数据持久化存储技术及页面路由跳转机制,优化用户体验。
深入理解UlAbility生命周期方法,有效实现UI页面与数据的同步管理。
熟练应用HarmonyOS中的WebView和WebSocket技术,实现地图展示、实时消息同步和推送服务。
使用NotifificationRequest接口的publis向用户推送所订阅的信息,通过WantAgent来拉起对应通知页面。
掌握Stage模型,专注于组件服务卡片的开发与数据持久化策略。
熟练使用 git 版本控制工具,进行代码管理,实现敏捷开发。
熟练使用 Ajax 和 Axios 实现前后端数据交互,实现动态渲染。
熟练掌握 HTML、CSS、JavaScript、TypeScript、ArkTs,熟练运用 ES6+ 语法特性,掌握模块化开发
熟练掌握 Vue2/3 框架,能够使用 vue-router、vuex/pinia、axios,配合 Element-UI/Plus 组件库实现 PC 端项目开发

1.8 模板八
熟练使用ArkTS,熟悉ArkUI框架,熟悉声明式UI开发范式。
熟练掌握Stage模型以及UIAbility的生命周期和启动方式,进行组件化开发,共享组件状态。
熟练使用卡片开发,卡片与应用软件之间进行数据交互的方式。
掌握HarmonyOS媒体查询,对不同设备做相匹配的布局。
熟悉HarmonyOS中的WebView,在应用中嵌入网页,实现更加丰富的功能。
熟悉HarmonyOS中的通知的推送和其行为意图的添加,熟悉 WebSocket,以实现消息推送。
熟悉HarmonyOS中的权限申请方式,熟悉HarmonyOS应用的上架流程。
熟练掌握 HTML5、Css3以及 Sass,Less 等 CSS 预编译语言,掌握 Flex 弹性布局、响应式布局能够高效还原设计图;
熟悉原生 JavaScript 和 TypeScript 编程语言,能够使用原生代码实现页面的交互,熟悉面向对象开发;
熟练掌握 vue,以及使用 vue 全家桶(vue+vuex(pinia)+axios+vue-router)开发项目,熟悉MVC、MVVM等开发模式;
熟练使用 ElementUI+、Echarts、Vant 等组件库,快速实现页面效果;
熟练使用 git 版本控制工具,进行代码管理,实现敏捷开发。
熟练使用 Postman、Apifox接口测试管理工具和 robo3t、Navicat Premium 数据库可视化工具,掌握 nginx 上线代理服务:
熟悉NodeJS,了解Webpack、vite前端构建打包等辅助工具;
熟练掌握 Git 团队协作代码托管工具进行项目管理和团队协作,熟练运用 Visual Studio、CodeHBuilder、DevEco Studio,微信开发者工具,Photoshop 等网页设计制作软件。

3.2 项目经验
注意:
以下是项目不要写成实际项目经历,要以学习的方式写到简历中,可以参考下面的写法:
项目描述: 学习研究鸿蒙生态技术开发的APP“XXXXXXX”的各个功能的代码实现
学习了解的知识点主要如下:XXXXX

3.2.1 知了标讯项目(鸿蒙版)
项目描述:
知了标讯是一款招投标信息智能推荐、预测的APP,有五大核心功能,用于找标讯、找联系人、开拓渠道、采购预测、招标分析,主要用于ToB,客户可以订阅不同的信息和对现有信息进行ai分析。
技术栈:ArkTs、ArkUi、TypeScript、WebScoket、Axios
学习了解的知识点主要如下:

  1. 使用HarmonyOS常用UI组件完成页面的渲染。
  2. 使用WebScoket实现数据实时双向传输,完成客服功能。
  3. 使用router来完成页面的跳转。
  4. 使用NotificationRequest接口的publis向用户推送所订阅的信息,通过WantAgent来拉起对应通知页面。
  5. 在卡片生命周期formProvider中请求接口数据实现卡片信息的渲染和更新。
  6. 使用postman接口测试协助开发,让后端数据可视化显示,便于前端页面渲染
  7. 使用第三方库axios来获取页面数据渲染。
  8. 封装自定义头部组件、分类组件加强页面整体结构,增加可读性。
  9. 使用LazyForEach提升页面性能,减少页面初始加载时间。

3.2…2 幼安宝家长版(HarmonyOS API9)
项目描述:随着社会对儿童安全和教育质量的日益重视,家长对幼儿园的安全性、教育质量和沟通方 式提出了更高的要求。安宝家长端应用旨在满足这些需求,为家长提供一个安全、便捷且功能全面的 平台,以实时监控和参与孩子的幼儿园生活。
技术栈:ArkTS+ArkUI+WebView+WebScoket+服务卡片+API9
学习了解的知识点主要如下:
· 接入百度地图API后,使用WebView来实时展示校车当前的位置。
· 使用WebScoket来实现家长与通讯录中的老师或家人进行及时的通讯。
· 使用第三方库Axios来发送网络请求获取数据用来渲染动态,校园页Swiper组件,留言等功能中的页面。
· 使用卡片开发来展示孩子的考勤情况,方便家长及时的收取到孩子的上学与放学的时间信息。
· 使用PopUp(气泡提示)与@Builder结合,实现家长在考勤页面点击日期时可以出现接送人的照片。
· 为通知添加行为意图,配置WantAgent的WantAgentInfo信息want中的
bundleName,abilityName后构造NotificationRequest对象,然后发布WantAgent通知,此时点击通知栏消息就可以跳转到应用的指定页面。
· 使用第三方组件PullToRefresh来实现动态部分的下拉刷新与上拉加载。

3.2…3 幼安宝老师版(HarmonyOS API9)
项目描述:幼安宝老师版应用旨在帮助幼儿园教师高效管理班级事务,提升与家长的沟通效率,并实时了解学生的各项情况。通过该应用教师可以轻松记录和查看学生的考勤、健康情况,发布班级通知,管理教学计划,促进家校互动,确保学生在园内获得全面的照顾和教育。
技术栈:ArkTS+ArkUI+WebScoket+服务卡片+API9
学习了解的知识点主要如下:
· 使用webSocket来发送班级通知,以便于家长们能够及时收到老师所发送的消息。
· 实现考勤部分的功能,老师可以查看考勤情况,还可以进行考勤代签。
· 实现成长档案部分的功能,记录孩子每一天的情况,方便家长进行成长轨迹的跟踪。
· 家长给老师发送消息时,通知栏会弹出消息,点击弹出的消息可以跳转到软件中老师与指定家长的会话页面。
· 实现请假审批功能,助力老师进行快捷的进行请假审批与存档。

3.2…4 今日热闻 App(Harmony Api9)
项目描述:本项目是一款采用 Arkts 语言开发的新闻类型移动 App,主要通过提供高质量、权威性的新闻报道和信息服务,为广大用户提供最新的新闻资讯。
技术栈:ArkUI+UIAbility+Router+Web(套壳技术)+通知+WebSocket+CustomDialog+访问控制+Axios+数据持久化(PersistentStorage)+文件管理(选择用户文件)+位置服务(获取当前位置)+卡片开发
学习了解的知识点主要如下:
• 使用 ArkUI 展示用户首页新闻界面,与用户进行交互
• 使用 Tabs 组件分类显示新闻内容
• 使用 CustomDialog 展示分享弹窗
• 封装头部组件,在应用程序中多次使用,提高代码复用率
• 使用 router 进行页面级路由跳转
• 使用 UIAbility 进行应用级路由跳转,EventHub 进行数据交互
• 使用 PersistentStorage 进行全局数据持久化存储
• 使用 List 组件的上拉加载功能,提高用户体验和页面的响应速度
• 使用卡片服务,为用户提供便捷功能
• 使用 WebSocket 双向通信和 nitificationManager 发送通知,提示用户重要信息,提高用户体验
• 使用访问控制和 geoLocationManager 获取当前 IP 地址
• 封装第三方库 Axios 为公共接口做数据管理
• 使用 PersistentStorage 对 token 进行持久化存储
• 使用 lpx 单位,确保不同平台的兼容性和稳定性
• 使用 MediaQuery 实现横竖屏切换,保证页面布局

3.2…5 爱途旅游 harmony APP端
项目描述:爱途旅游是一款旅游社交APP,包含推送旅游景点,攻略展示,游记,问答,以及专区合集等优化体验方案。使得页面构建更加丰富多彩,除此之外,用户还可以拍摄记录精彩出行瞬间,和预订酒店等一系列方便用户出行的方案。
技术栈:ArkTS + ArkUI + TypeScript + WebView + Axios + router
学习了解的知识点主要如下:
1.页面构建适配:利用HarmonyOS基本组件等实现前端页面的构建,与后端团队协作实现数据交互和接口调用,保证应用的性能和稳定性。
2.实时定位模块:利用WebView结合HarmonyOS与相关地图Api实现位置权限获取,实时位置显示。
3.聊天模块:利用WebSocket技术实现消息模块实时聊天。
4.服务卡片模块:利用widget桌面服务卡片与App旅游景点热榜关联,用户添加卡片定时更新景点热榜。
5.发布通知模块:利用notificationManager 实现热门旅游景点推送,酒店预订状态等相关消息在设备状态栏发布。

3.2…6 趣行 HarmonyOS API9
项目描述:“趣行”是一款专为旅行爱好者设计的社交应用,旨在帮助用户轻松找到志同道合的旅行搭子,共同规划并享受愉快的结伴出游体验。
涉及技术:ArkTS+ArkUl+WebView+WebScoket+服务卡片+API9
学习了解的知识点主要如下:
1、接入百度地图API,使用WebView来展示附近的用户的位置。
2、使用WebScoket来实现用户之间的及时通讯。
3、使用第三方库Axios来发送网络请求获取数据用来渲染动态,校园页Swiper组件,留言等功能中的页面。
4、使用卡片开发来展示景点的初步情况,方便用户明确的预览到景点的新信息。
5、使用Grid(网格布局)来展示部分日期的布局。
6、使用PopUp(气泡提示)与自定义构造器@Builder结合,实现用户在景点预览页面可以看到景点精选照片。
7、为景点推送添加行为意图,配置WantAgent的WantAgentInfo信息want中的bundleName,abilityName后构造NotificationRequest对象,然后发布WantAgent通知,此时点击通知栏消息就可以跳转到应用的指定页面。

3.2…7 慧出行App(鸿蒙API9)
项目描述:慧出行APP项目旨在为旅游爱好者提供一个全面、便捷的旅游服务平台,满足用户多样化的旅游需求。
技术栈: ArkTs、ArkUI、Axios、Preferences、router、UIAbility、picker、webView、服务卡片
学习了解的知识点主要如下:
使用首选项Preferences将用户的个人信息进行持久化保存,新用户可以通过便捷的注册流程,选择使用手机号,并设置登录密码。注册成功后,用户可使用手机号,结合之前设置的密码,轻松登录 APP。
使用Tabs选项组件将首页,自由行,跟团游,我的等模块进行选项式导航处理。
使用router携带搜索的关键词params跳转到详情页,通过params参数封装Axios请求后端数据,渲染详情页面。对当下热门旅游景点进行展示,提供酒店,飞机票,火车票等功能查询入口。
将城市选择组件封装进行,通过@Link双向绑定父子组件的响应式变量,在城市选择组件内修改城市数据,通过Appstorage将数据存储到内存中,用户可切换当前所在城市。通过对城市的切换会请求不同的景点列表供用户进行选择。
将日历组件进行封装,通过globalThis在ArkTS引擎实例内部传递数据,用户可以根据日历查看折扣日,并选择入住日期。
使用picker选择本地图片上传至服务端,并对相关景点进行打分,实现景点的评价打分功能。
创建ArkTS卡片,使用postCardAction接口的router能力,快速拉起指定UIAbility,
EntryFormAbility中的onFormEvent生命周期回调中实现显示热门景点图片的刷新。
地图模块:使用Web组件将前端的服务端地图页面加载到用户页面。
响应式页面:使用媒体查询,实现屏幕横竖屏切换时,给页面文本应用添加不同的内容和样式。

4、典型题目讲解
1.页面生命周期:
aboutToAppear->build ->onPageShow -> onPageHide ->aboutToDisappear

2.hap包结构:
ets(卡片和其est页面的方舟编译文件 .abc)
libs(依赖的三方库二进制文件,不一定有)
resources(项目中资源,包含字符串啊,图片等等)
resources.index 资源索引
module.json 项目中module.json5和app.json5里面的信息,必不可少的
pack.info bundle中描述每个hap包属性的文件

3.有哪些装饰器?
组件装饰器@component
页面入口装饰 @entry
状态装饰器 @state @prop @link @provide和@consume与后代组件双向同步 @observed和@objectlink嵌套对象或数组场景中双向同步
监听装饰器 @watch
函数装饰器 @builder
组件内样式装饰器 @styles(不支持传参) @extend(支持传参,针对组件)

4.UIAblity、page、windowStage区别,page运行在UIAbilty的哪个层次:
UIAbility是系统提供的主要用户与UI的交互组件,包括我们的页面入口,EntryAbility就是继承的UIAbility,
windowStage个人理解是应用主窗口,page运行在UIAbilty的onWindowStageCreate阶段,调用的windowstage的loadContent方法

5.鸿蒙里面的多线程,worker和taskpool的区别
TaskPool(任务池)和Worker的作用是为应用程序提供一个多线程的运行环境,用于处理耗时的计算任务或其他密集型任务
由于TaskPool的工作线程会绑定系统的调度优先级,并且支持负载均衡(自动扩缩容),
而Worker需要开发者自行创建,存在创建耗时以及不支持设置调度优先级,故在性能方面使用TaskPool会优于Worker,因此大多数场景推荐使用TaskPool
使用场景区别:
1.运行时间超过3分钟(不包含Promise和async/await异步调用的耗时,例如网络下载、文件读写等I/O任务的耗时)的任务。例如后台进行1小时的预测算法训练等CPU密集型任务,需要使用Worker。
2.有关联的一系列同步任务。例如在一些需要创建、使用句柄的场景中,句柄创建每次都是不同的,该句柄需永久保存,保证使用该句柄进行操作,需要使用Worker。
3.需要设置优先级的任务。例如图库直方图绘制场景,后台计算的直方图数据会用于前台界面的显示,影响用户体验,需要高优先级处理,需要使用TaskPool。
4.需要频繁取消的任务。例如图库大图浏览场景,为提升体验,会同时缓存当前图片左右侧各2张图片,往一侧滑动跳到下一张图片时,要取消另一侧的一个缓存任务,需要使用TaskPool。
5.大量或者调度点较分散的任务。例如大型应用的多个模块包含多个耗时任务,不方便使用8个Worker去做负载管理,推荐采用TaskPool。

6.async await和promise的区别,async await和promise是否会阻塞主线程
Promise和async/await提供异步并发能力,是标准的JS异步语法。异步代码会被挂起并在之后继续执行,同一时间只有一段代码执行,适用于单次I/O任务的场景开发,例如一次网络请求、一次文件读写等操作
不会阻塞主线程
详细介绍:https://developer.huawei.com/consumer/cn/forum/topic/0201295995945210008?fid=23

7.你做过的性能优化有哪些
有其他问到Flex布局性能问题的:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-layout-development-performance-boost-0000001450914106-V2
1.使用数据懒加载
2.设置List组件的宽高(在使用Scroll容器组件嵌套List组件加载长列表时,若不指定List的宽高尺寸,则默认全部加载)
3.使用显隐控制替代条件渲染
if (this.isVisible) {Row()} --> Row().visibility(this.isVisible)
4.使用Column/Row替代Flex
5.减少应用滑动白块(应用通过增大List/Grid控件的cachedCount参数,调整UI的加载范围)

8.项目用到什么技术
看看对项目的熟悉程度,开发过程中遇到什么问题,怎么解决的

4、鸿蒙就业技能图

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bst@微胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值