0 人感兴趣 · 32 次引用
本篇介绍了 CustomPaint 绘制基本图形的方法和示例,实际上 Flutter 的 Canvas 提供了很多其他绘制图形的方法,如绘制线条,绘制圆角矩形,绘制文本等等
本篇介绍了 CustomPaint 的基本使用,可以看到 CustomPaint 使用起来并不复杂,但是真正复杂的是如何绘制图形,这个需要有比较好的数学知识支撑(当然,如果确实不会也可以搜索相关资料)。接下来的一篇我们来绘制一些常见的图形。
使用交错动画实现在草地上滚动的轮子,而且还能沾上草绿色哦!见识了交错动画的组合效果后,你也可以搞定有创意的动画效果,就像 GIF 那样!
大多数 App的 toast 都很简单,简单的半透明黑底加上白色文字草草了事。相比之下,我们要介绍的 motion_toast就有趣多了!
本篇介绍了 Hero 组件的flightShuttleBuilder的使用,以及 iOS 和安卓平台在Hero 组件的差异化处理。
(点击报名融云 2022 社交泛娱乐出海嘉年华)
拥有良好且一致的命名风格能够让你的代码看起来更加舒服愉悦。其实也是个人软实力的一个特征。记住一条,代码是写给人看的!
列表是移动应用中用得最多的组件了,我们也会经常对列表元素进行增加或删除操作,能不能让这些操作完成后通过动效展示完成效果呢?
从编码的角度来说,null safety特性实际上增加了编码的工作量。但是null safety更像是一个强制的约定,要求接口或类明确参数或属性的是否为空,从而可以简化协作,提高代码的健壮性。
Bloc 本身的业务逻辑和界面完全无关,这使得我们可以直接编写测试代码,而无需依赖界面,如同本篇的 main 方法中的代码其实就可以作为单元测试代码来验证业务逻辑是否正确。这使得 Bloc 构建的应用程序的可维护性会更好。
MobX 是一个状态管理框架,它可以轻松地将应用的响应式数据和 UI 绑定起来。这个绑定是完全自动的,而且不会感觉到别扭。
Flutter 实现基于 WebSocket 的即时通信,附后端实现逻辑。
本篇介绍了使用 Provider 的ChangeNotifierProvider.value的方式来在不相关的页面间共享状态数据。
使用嵌套的状态管理可以将同一模块不同业务的状态管理进一步抽离,从而避免了状态管理代码的臃肿,使得代码符合单一职责原则。
状态管理有没有必要?我们就使用 Provider 来改造旧的代码,你会发现改造前后具有十分大的差别。
从性能上考虑,还是尽量不要使用 setState——除非,这个组件真的很简单,而且下级组件没有或者很少。
目前 Dart 团队主要集中在跨平台和生产力提升上。说明整个 Dart 语言已经到了稳定的阶段,接下来的更新迭代将会让我们的开发效率更高。
本篇对比了使用 InheritedWidget 实现状态共享和使用 setState 方式实现状态共享的区别,很明显,使用 InheritedWidget的方式性能更高,可以实现局部刷新,而且不会出现 setState 那种重构整个组件树的情况。
本篇利用 Dio 的拦截器实现了自定义的 CookieManager,并且借助 SharedPreferences 插件实现了 Cookie离线缓存。
App 的会话管理和 Web 端不一样,需要主动携带。本篇以火车票验票为例,通俗易懂地告诉你Flutter 的网络请求如何进行网络管理
从源码解析 CancelToken 是如何实现取消网络请求的
领导喊你回去改 bug 怎么回应?
以老王年轻时的故事讲述如何封装Dio封装请求库。
本篇完成了整个动态管理的业务逻辑,包括了新增、删除、编辑、查看次数等功能。通过 GetIt 容器管理插件及接口定义,可以很简单快速地完成页面之间的数据同步。
本篇将介绍 Flutter 中如何完成图片上传,以及上传成功后的表单提交。
本篇介绍了POST新增数据页面的示例,同时对于编辑和添加的页面重复部分通过封装共用的表单组件简化了页面结构和提高复用性。
本篇介绍了详情数据的获取,实体对象的部分修改来展示 Dio的 patch 请求。
在 Flutter 中,要说网络请求插件,不得不提 dio,而且这是国人开发的开源插件,在 pub 上好评率达到99%,GitHub 也收获了近万star。
总的来说,Flutter 2.0的路由管理相比1.0版本复杂很多也更强大,对于非 Web应用来说可以继续沿用1.0的路由,对于 Web 应用或大型移动应用可以考虑2.0路由。
Flutter 2.0的路由做了较大改动,引入很多中间类来分离路由的各自职责,目的更多的是为了 Web 端的复杂路由应用。1.0版本的路由可以继续用,但2.0的扩展性会更好,不过也更复杂。
🏆 2021年InfoQ写作平台-签约作者 🏆
之所以觉得累,是因为说的比做的多。
代码改变世界
此间若无火炬,我便是唯一的光
百度官方技术账号