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 就真该凉凉了。

目录
相关文章
|
设计模式 前端开发 网络协议
Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂
Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂
|
12天前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
174 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
22天前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
83 6
|
3月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
171 11
|
3月前
|
移动开发 Java 编译器
Kotlin与Jetpack Compose:Android开发生态的演进与架构思考
本文从资深Android工程师视角深入分析Kotlin与Jetpack Compose在Android系统中的技术定位。Kotlin通过空安全、协程等特性解决了Java在移动开发中的痛点,成为Android官方首选语言。Jetpack Compose则引入声明式UI范式,通过重组机制实现高效UI更新。两者结合不仅提升开发效率,更为跨平台战略和现代架构模式提供技术基础,代表了Android开发生态的根本性演进。
112 0
|
7月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1367 77
|
4月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
186 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
8月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
458 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
8月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
246 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
8月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
183 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex

热门文章

最新文章