2023 年第一弹, Flutter 3.7 发布啦,快来看看有什么新特性

核心内容原文链接: medium.com/flutter/wha…

2023 年新春之际, Flutter 喜提了 3.7 的大版本更新,在 Flutter 3.7 中主要有改进框架的性能,增加一些很棒的新功能,例如:创建自定义菜单栏、级联菜单、更好地支持国际化的工具、新的调试工具等等

另外 Flutter 3.7 还改进了 Global selection、使用 Impeller提升渲染能力、DevTools 等功能,以及一如既往的性能优化

PS :3.7 版本包含大量,大量,大量更新内容,感觉离 4.0 不远了。

继续阅读2023 年第一弹, Flutter 3.7 发布啦,快来看看有什么新特性

系统分析师的案例分析

前言

系统分析师培训班通过统计,得到一个结论:培训班的考生,死得最多的就是案例分析。

为什么呢?因为客观题只要平时多看,多刷就行了,论文则有固定套路。但是案例则是需要考生自己主动对外输出,并且难以有一个统一的套路。所以,那些培训班的考生,死得最多的就是案例分析。

而我对自己的案例分析是比较信心的。一方面是我参加的三次软考高级考试,每次案例分析分数都是客观,案例,论文三部分最高的。另一方面,我之前带过的一个同事,也是案例分析分数最高。

所以,我尽可能将案例分析的方法与技巧说出来(但是有的方法真的很难通过文字描述)。

文章将从案例准备,案例技巧,案例套路三个方面进行描述。

继续阅读系统分析师的案例分析

flutter desktop HIVE简单使用

1.数据库选型

flutter项目,需要使用本地存储,面临三个选择

  • shared_preferences
  • sqflite
  • hive
    第一个只能保存key vaule,用起来比较不爽。

    第二个对桌面版的不支持。

    最后选择了hive,用起来还算可以,不过,相对于后台的orm,还是有些东西需要自己处理。

2.项目引用

3.hive的简单使用

之前做个一阵子后台,按照后台的orm逻辑,组装了一下hive。

main.dart里面初始化hive

hive的初始化部分,初始化了三张表

单个表的model

使用model

结束。

参考链接


macOS Big Sur (11.7.2) 通过Docker Desktop安装MySQL

安装 Docker Desktop

首先去 Docker 官网下载 macOS 版本的 Docker Desktop 版本(目前(2023/01/06)的最新版本是 4.15.0 (93002)),并安装。

安装 MySQL

通过 Docker Desktop 安装MySQL ,整个过程参考如下:

继续阅读macOS Big Sur (11.7.2) 通过Docker Desktop安装MySQL

macOS Big Sur (11.7.2)部署Sonic开源移动端云真机测试平台

安装 Docker Desktop

首先去 Docker 官网下载 macOS 版本的 Docker Desktop 版本(目前(2023/01/06)的最新版本是 4.15.0 (93002)),并安装。

安装配置 MySQL

继续阅读macOS Big Sur (11.7.2)部署Sonic开源移动端云真机测试平台

Whistle 是基于 Node 实现的跨平台抓包调试工具

Whistle 是基于 Node 实现的跨平台抓包调试工具,其主要特点:

  1. 完全跨平台:支持 Mac、Windows 等桌面系统,且支持服务端等命令行系统
  2. 功能强大(理论上可以对请求做任意修改)
    • 支持作为 HTTP、HTTPS、SOCKS 代理及反向代理
    • 支持抓包及修改 HTTP、HTTPS、HTTP2、WebSocket、TCP 请求
    • 支持重放及构造 HTTP、HTTPS、HTTP2、WebSocket、TCP 请求
    • 支持设置上游代理、PAC 脚本、Hosts、延迟(限速)请求响应等
    • 支持查看远程页面的 console 日志及 DOM 节点
    • 支持用 Node 开发插件扩展功能,也可以作为独立 npm 包引用
  3. 操作简单
    • 直接通过浏览器查看抓包、修改请求
    • 所有修改操作都可以通过配置方式实现(类似系统 Hosts),并支持分组管理
    • 项目可以自带代理规则配置并一键设置到本地 Whistle 代理,也可以通过定制插件简化操作

继续阅读Whistle 是基于 Node 实现的跨平台抓包调试工具

Ubuntu 22.04搭建TimeMachine

  • 创建一个目录,作为 TimeMachine 保存数据的目录。

  • 安装 netatalk 服务和 avahi-daemon 服务。

  • 编辑 netatalk 的配置文件:

  • 在该文件原来的基础上,或新增以下配置:

  • 重启服务。

现在,你在 TimeMachine 上应该可以看到这个备份服务了,选择该备份服务就可以开始你的第一次备份了。

注意: Debian 12.5 系统上不能安装 netatalk ,原因是这个项目已经长时间没人维护了,后续建议直接使用 SMB 建立 TimeMachine 的备份服务器。

参考链接


Flutter CustomPainter自动绘制属性repaint原理

这篇文章主要讨论的是Fluter中CustomPainter中使用repaint属性实现自动paint的原理。

首先使用CustomPaint创建一个StatefulWidget,demo中根据点击位置,对蓝色的圆进行位置变换。

代码如下

继续阅读Flutter CustomPainter自动绘制属性repaint原理

flutter升级到3.3.9后报错“Library not loaded: @rpath/libswiftCore.dylib”

flutter 升级到 3.3.9 后,代码编译报错,如下:

解决方法就是在工程的 "Build Settings->Linking->Runpath Search Paths" 加上 "/usr/lib/swift" 。

如下图:

继续阅读flutter升级到3.3.9后报错“Library not loaded: @rpath/libswiftCore.dylib”