前言
鸿蒙生态取得爆发式增长!截至3月底,已有超4000个应用加入鸿蒙生态。而在今年1月中旬,华为刚宣布HarmonyOS NEXT鸿蒙星河版面向开发者开放申请,这一版本鸿蒙系统也被称为“纯血鸿蒙”。当时,华为宣布首批200多家应用厂商正在加速开发鸿蒙原生应用,不到3个月时间,加入鸿蒙生态的原生应用数量便增长近20倍。与此同时,华为将于4月11日举办鸿蒙春季沟通会,或将在会上公布相关新产品。预计今年四季度,HarmonyOS NEXT鸿蒙星河版将面向消费者发布商用版本。随着鸿蒙系统的爆发,接下来相应的岗位肯定也会越来越火爆。
今天就来跟大家聊一下鸿蒙实战IM系统一次开发多端部署
背景介绍
即时通讯功能已经成为现代应用中不可或缺的一部分,对提升用户体验、提高业务效率、增强客户服务、推动业务增长具有重要作用。从刚工作时做的秀场直播应用到现在的房屋平台应用,IM都在其中发挥了重要作用。随着鸿蒙系统的崛起及鸿蒙生态的成熟,很多厂商还是适配HarmonyOS Next系统,有幸成为先行者,希望从HarmonyOS的新特性探索IM场景的新方式。
本文分享IM中的一多落地实践。
1、什么是一次开发多端部署
我们先来看看一次开发多端部署(简称“一多”)官方的定义:
一套代码工程,一次开发上架,多端按需部署。
目标:支撑开发者快速高效的开发支持多种终端设备形态的应用,实现对不同设备兼容的同时,提供跨设备的流转、迁移和协同的分布式体验。
为了实现“一多”的目标,需要解决两个基础问题:
●不同大小、颜色的设备如何适配;
●不同系统能力的设备,比如电视没有摄像头,手表没有麦克风,功能如何兼容。
一句话总结就是:“一多就是用一套代码解决不同设备的页面适配问题和功能适配问题**,本文我们主要分析页面适配问题。
了解了一多定义后我们看看之前不同设备间适配的痛点。
刚工作做的秀场直播,主要是两个平台Windows和Android,各自用原生实现,可以现象效率很低。后面Windows平台开发框架切换为QT,可以实现跨平台,QT一方面会引来包体积的增加,二是由于Windows与Android平台屏幕大小不一致,导致UI设计时两个平台的布局也完全不一样,所以只能做到业务逻辑跨平台,UI还是得各自开发;
现在流行的Flutter也是一样的问题,由于UI布局不同,所以UI侧必须适配不同屏幕大小的平台。
在HarmonyOS Next之前,要实现比较满意的UI效果,