Flutter 很强,仅 2 天就写了个桌面端 App

114,301
「时光不负,创作不停,本文正在参加2021年终总结征文大赛

大家好,太久没有发文章了。

很多朋友关注这个号可能是因为学习 React Naitve 的过程中,看到了我前几年在网上分享的 RN 的文章。至今都有人通过公众号找到我,问我 RN 的东西。

我已经没有在使用 RN 了,也没有继续关注 RN 社区了。因为现在全面转到 Flutter 了,从 2019 年开始到现在,也已经有好几个项目在生产环境中投产了,表现的都还不错。

无论是从性能表现,还是开发体验,Flutter 都要优于 RN,唯一不足的可能就是 Dart 增加了一些入门的门槛。但其实都是较为现代编程语言,无论你之前使用的是 Kotlin,Swift,JS, TS,其实都能找到很多相同的地方。比如变量的声明,数据结构等,所以我觉得那一点代价可以忽略不计。

尤其在我自己饱受了几年 RN 的红屏之苦,还有那完全靠运气随机表现的 Hot Reload 功能,都是促使我切换到 Flutter 的原因。

以上有点扯远了,只不过因为时不时就有人加我微信问诸如此类的问题,所以难得写一篇文章就顺便也说一下我个人的想法。可能会对一些正在犹豫的,考虑二选一的朋友们提供一些参考。

Demo演示

下面说回到正文上来,先看一段 Demo 吧。

录屏.gif

我个人有定期备份照片的习惯,之前没有微信的时候,大家用优盘来共享照片,所以那个时候文件都能很好的被管理。因为照片的 EXIF 信息很完整。但是自从有了微信以后,我有很多照片都是来自于家人或者朋友的微信,估计很多人和我一样,尤其是有了小孩以后。

大家应该都知道,微信保存照片的名称,一般都是一段 'mmexport' 前缀加上一个时间戳,这对于整理大量图片来说特别不友好,因为我希望照片可以按照事件发生的时间按月整理,但是微信导出图片视频的这个时间戳,是你保存图片的那个时间,而且时间戳也没有办法一眼让我分辨出这是几月份拍摄的。

最开始我想的是找一个可以批量重命名的软件,但是很快又发现一个问题,这些软件们,基本都只能定义一个策略,所有的图片都只能用创建时间,更新时间或者记录时间中的一个来批量重命名。

20211205_22-04.jpg

然而不知道什么原因,我发现有些照片的 Exif 信息并不完整,要么没有记录时间,要么就是创建时间晚于更新时间。我想应该是被一些其他的比如修图软件之类 App 编辑过吧。所以这个策略就会增加一些人工过滤的成本。

所以我就想只要在批量重命名的时候,选择创建时间,更新时间,记录时间,微信时间戳中,最早的一个时间来作为文件名的一部分就可以了。刚开始想的是写一个脚本来处理这个事就好了,但是转到 Flutter 以后还没有用它开发过桌面端,所以就想顺便试一下。

开发历程

经过两天的开发,现在软件基本核心的重命名的功能已经实现了,UI也大概完成了30%左右吧。本来抱着试一试的态度,没想到 Flutter 真的可以(可能写个脚本用起来更方便)。

再一次觉得 Flutter 才是跨平台开发的未来,这种轻而易举就可以将业务扩展到其他平台的能力,真的太有想象空间了。

尽管这个项目初衷只想面向桌面端(macOS,windows)而已,但是我也在手机上试了下,大体上也可以用,只不过UI可能有点奇怪。所以暂时先不打算适配手机端了。

要问我什么时候可以用?我想大概就是在可以用的时候吧。(废话学么,谁不会?上一次听到这种废话,还是在上一次!)。其实主要是我自己也不知道,因为并不打算上架收费,咱们就是说,咱们这边纯纯的就一个是“激情开发,用爱发电”,所以可能随时因为一些不可抗力就终止了(比如懒,哈哈哈~)。如果一不小心写完了,也会在公众号里通知一下的。

做个小调研吧,不知道你们是否需要这个软件呢?可以评论下。

最后,想问下有没有哪个小伙伴愿意帮忙设计一下 UI 和 Logo 呢?因为没有收入所以也只能是义务劳动了,先提前谢谢了。

以防有人问,目前没有打算开源。

关注引导_v7.png