零、前言
FlutterUnit
是【张风捷特烈】
长期维护的一个开源项目。 欢迎star
经过一段时间的更新,FlutterUnit1.1
已基本满足我的期望
目前正在逐渐增加
和优化
组件的收录。现在mac版闪亮登场
。
FlutterUnit.apk 下载 | FlutterUnit mac版 下载 | Github仓库地址 |
---|---|---|
镇楼图
一、如何运行出FlutterUnit mac
1. 如何使用Flutter mac
目前稳定版(Stable)本并不支持macos,你可以切换到master分支进行体验。
- 环境:
重新准备一个FlutterSDK,并使用flutter master分支
- 开启macos 桌面支持:
flutter config --enable-macos-desktop
—[• flutter config --enable-macos-desktop
—[• flutter --version
Flutter 1.18.0-7.0.pre.46 • channel master •
https://github.com/flutter/flutter.git
Framework • revision 1f132e90f8 (11 days ago) • 2020-04-23 11:00:12 +0530
Engine • revision d3f1c08f52
Tools • Dart 2.9.0 (build 2.9.0-2.0.dev 64b8ded48b)
2. 如何获取FlutterUnit mac代码
- FlutterUnit的github项目中新建了一个flutter_unit_mac的分支
- FlutterUnit mac端,或说桌面端将在这个分支进行维护,和移动端独立。
由于移动端和桌面端的情况有很大的不同,而且两者需要的SDK不同。
所以我并不在原移动端代码中进行适配,而是新建分支进行两个独立的项目。
其实两种完全不同的情景,并没有必要强行合一,否则会感觉到处束手束脚。
判断起来也会让代码变的复杂和难以阅读,独立维护也许是更好的选择。
3. 如何运行和打包
- 获取依赖包:
flutter pub get
- 运行命令:
flutter run -d macos
, 或直接通过AndroidStudio
选择设备运行
- 打包macos:
flutter build macos
,在build/macos/Build/Release
中可以看到应用
二、. FlutterUnit mac 功能简述
由于mac端录屏出的gif太大了,就不放动图了,所有功能同
移动端
使用详情可参见: 【 FlutterUnit 食用指南】 开源篇
本文会说一下我做FlutterUnit mac端的原因和一些界面的变动。
1. FlutterUnit主页界面
- 对于桌面来说,最麻烦的当属
导航栏
了,如果直接用底栏或顶栏,那会非常丑 - 通常需要左栏,当然这些对于
动手能力超强
的我,都是小菜。有就用,没有就造。
- 桌面程序
一般都很宽
,可以用GridView根据情况分多栏显示item,这样会好看些。
2. 左滑菜单栏
- 单击
右侧导航栏底部的设置
可以打开左侧的菜单 - 也可以通过
左边滑
来打开左侧的菜单,菜单内容保持一致,功能保持一致
3. 组件详情页
- 调整
相关组件
和介绍的位置,同排显示,好看一些。
- 由于
Share插件
还不支持macos,这里代码分享的功能直接改成代码复制
。 - 代码面板的展开功能依旧存在,可通过展开按钮进行展开。
4.收藏集功能正常
- 收藏集的
增删改查操作
和移动端保持一致
5. 组件详情页的添加收藏
功能保持一致
6. 搜索页
- 模糊查询
- 星级查询
其实适配到macos我就花了小半天的时间。主要就是主页右边栏的设计和实现。
这也得益于项目的清晰,我知道哪些文件是干嘛的,所以抽离是很重要的,酌情抽出变量、方法或类,不要什么东西都塞在一起,一旦代码变动就是灭顶之灾。另外bloc维护的业务逻辑可以丝毫不动,只需将相关页面的一些结构进行调整即可,这也是bloc的优势。
三、做FlutterUnit mac端的原因
1. 其一: 装X
如果活着不是为了装X,那一切都将毫无意义。----张风捷特烈
2. 其二: 让更多人知道flutter的桌面应用
我接触flutter也有一年半了,半年前开始从事
flutter桌面应用
的开发,踩过很多坑,也学到很多东西。一切的经历将我对flutter的理解提升了一个层次。可能很多人还在观望flutter在移动端的情况
。却已不知,flutter的桌面应用已在茁壮成长,特别是很多三方插件已经有macos支持。
一套代码运行在所有的设备上,我称为
统一的跨平台解决方案
,由于设备的应用场景不同,大小不同,强行进行适配感觉维护的成本太高,这是平台本身的局限性。
我越来越感觉Flutter 并非是一个统一的跨平台解决方案,而且可以给编程者一个跨平台的可能性。
其中最重要的一点是: 任何一个程序员,即使它不会C++、C#、Java、Js,也可以通过flutter/dart代码写出mac程序、写出windows程序、写出android程序、写出ios程序、写出linux程序、写出web程序,这就是Flutter所提供的可能性。做梦都没想过玩移动端的我能做出一个mac程序、写出一个windows程序
。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!