QMUI Android 该凉凉了

简介: 在微信听书最新的版本,累死累活的开发中,我还是把 Jetpack Compose 引入了工程中, 在新的原生界面开发中,用 Compose 来写 UI 了, 贼特么舒服,所以说, QMUI Android 要么重做出一个 Compose 版本,要么就该删库跑路了。

在微信听书最新的版本,累死累活的开发中,我还是把 Jetpack Compose 引入了工程中, 在新的原生界面开发中,用 Compose 来写 UI 了, 贼特么舒服,所以说, QMUI Android 要么重做出一个 Compose 版本,要么就该删库跑路了。


QMUI 一般都是新应用引用得多一点,因为是采用主题配置的方式来使用整个各种组件的,所以很多成熟的应用引用是很困难的,有时候配置都走不通,当前,其实可以用一些注入编译插件的方式来避免这些问题,不过一直以来都是只管挖坑不管埋,坑已经足够多了。 也是时候弃坑挖个新的了。 所以新应用不要引入 QMUI 了, 怪怪的玩 Compose 吧。


在升级 Compose 时,遇到最大的障碍就是 gradle 升级 7.0 带来的问题了, 首先就是 tinker 插件跑不过,其次 AndResGuard 插件跑不过, 官方也没更新到 7.0, 所以就只能是 clone 一份源码,哪里编译不过改哪里,让它最终跑起来了,然后就开开心心的写那些注定会被删除的代码了。不得不说,国内的移动端开发, 虽然好像什么都成熟了,没有新的东西做了,实际上大多数人在业务的细节中走不出来,而剩下的人则是都想着做出点虚无而又伟大的东西,结果最后保持框架和技术与时代同步都做不到, 毕竟这些好像对业务眼前的需求没啥帮助,对职场晋升也没啥帮助。


使用 Compose 是一件很节约时间的事情,毕竟现在产品都喜欢把所有的东西装载在同一个界面,期望用户永远能第一时间看到所有他能看到或者产品期望用户看到的。 这就导致一个界面的状态和布局被搞得鬼复杂,开发天天在那儿加班调 UI。 使用 Compose 后这种状态管理会容易很多, 就可以不用一会儿显示这几个 View, 一会儿显示那几个 View。 管理好 ViewModel, 剩下的就可以一口气按产品逻辑写完整个 UI 了, 这写 React、 Flutter 的人早就体验过这种感觉了, Android 原生也是时候体验了。 iOS 好像要等等, 最近写 Recos, SwiftUI 把我们的 iOS 开发小哥气得弃坑了(原本只是想站在巨人的肩上干点伟大的事情,结果这个巨人的肩不是那么平)。


QMUI 终究是做了这么久了, 也有一些精华可以保留、一些坑点可以避免。 之后开发 Compose 版本时,我觉得需要考虑以下几个点:


1.Theme 主题配置的方式,虽然一劳永逸,但是侵入性比较大,是个糟糕的方式。 而且主题多了,管理起来不舒服

2.除了一些独立的功能模块,app 只使用 scheme 跳转, 是一个非常好的方式,这个可以开发出 Compose 友好的版本,值得 app 架构设计时引入

3.SkinManager 可以保留, 系统只提供了跟随主题的夜间模式切换, 不过国内更多的会提供设置项,而且像阅读器类应用,还不止两个。

4.需要考虑手势返回控件是否需要保留, 毕竟android 高版本由于系统左右的返回手势,我们自定义的类iOS 系统的手势返回并没有太多的触发点了。

5.全 kotlin 化, 包括构建脚本也应该用 kts。

6.QMUI 沉淀了很多浮层、 Dialog、沉浸式的使用技巧, 这些是值得保留的

7.读书和听书沉淀了很多键盘输入(输入 + 表情面板管理)的使用技巧, 这些可以提取出来

8.应该开发一个 Compose 版本的图片管理、选择、浏览库,这应该是个非常好的练手项目,但也没看到有学习 Compose 的同学来写这个

9.Fragment 是否在 Compose 的环境下值得保留?

10.除了一些工具类, QMUI 没有更多的值得保留的东西了, 改入土了。 不想考虑新旧版本的兼容性了,最多把现在的 QMUI 打包成一个 qmui-old 库, 让使用人员可以新旧版本一起用。 要想升级的话,还是心一横,加班加点把整个 App 的 UI 全重写了为好, 卷到底。


挖一个大坑,如果填不好,QMUI Android 就真该凉凉了。

目录
相关文章
|
7月前
|
设计模式 前端开发 网络协议
Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂
Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂
|
17天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
23天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
5天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
31 19
|
9天前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
24天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
27天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
24天前
|
存储 API 开发工具
探索安卓开发:从基础到进阶
【10月更文挑战第37天】在这篇文章中,我们将一起探索安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和建议。我们将从安卓开发的基础开始,逐步深入到更复杂的主题,如自定义组件、性能优化等。最后,我们将通过一个代码示例来展示如何实现一个简单的安卓应用。让我们一起开始吧!
|
25天前
|
存储 XML JSON
探索安卓开发:从新手到专家的旅程
【10月更文挑战第36天】在这篇文章中,我们将一起踏上一段激动人心的旅程,从零基础开始,逐步深入安卓开发的奥秘。无论你是编程新手,还是希望扩展技能的老手,这里都有适合你的知识宝藏等待发掘。通过实际的代码示例和深入浅出的解释,我们将解锁安卓开发的关键技能,让你能够构建自己的应用程序,甚至贡献于开源社区。准备好了吗?让我们开始吧!
26 2
|
26天前
|
Android开发
布谷语音软件开发:android端语音软件搭建开发教程
语音软件搭建android端语音软件开发教程!