写点什么

跨平台开发

0 人感兴趣 · 23 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/76/76b57697487a04b96ffa9954c345f304.png?x-oss-process=image/resize,w_416,h_234

GitHub 高赞的 Flutter 状态管理插件 BLoC 简介

用户头像
岛上码农
6 月 24 日

Bloc 本身的业务逻辑和界面完全无关,这使得我们可以直接编写测试代码,而无需依赖界面,如同本篇的 main 方法中的代码其实就可以作为单元测试代码来验证业务逻辑是否正确。这使得 Bloc 构建的应用程序的可维护性会更好。

https://static001.geekbang.org/infoq/7f/7f4708d041116c2c6f93c805644e0ef6.png?x-oss-process=image/resize,w_416,h_234

很流行的状态管理库 MobX 是怎么回事?

用户头像
岛上码农
6 月 10 日

MobX 是一个状态管理框架,它可以轻松地将应用的响应式数据和 UI 绑定起来。这个绑定是完全自动的,而且不会感觉到别扭。

https://static001.geekbang.org/infoq/16/16fe2e068c780ad0ae07dbcafae418ab.png?x-oss-process=image/resize,w_416,h_234

Flutter 基于 WebSocket 实现即时通讯

用户头像
岛上码农
5 月 30 日

Flutter 实现基于 WebSocket 的即时通信,附后端实现逻辑。

https://static001.geekbang.org/infoq/ba/ba615c0fa74ec8989162cef0f57bf659.png?x-oss-process=image/resize,w_416,h_234

使用 Provider 实现 Flutter 不相关页面状态数据共享

用户头像
岛上码农
5 月 23 日

本篇介绍了使用 Provider 的ChangeNotifierProvider.value的方式来在不相关的页面间共享状态数据。

https://static001.geekbang.org/infoq/fd/fd1cf66dae761d9c694ffb98231dc8ca.png?x-oss-process=image/resize,w_416,h_234

Flutter 使用 Provider 实现嵌套状态管理

用户头像
岛上码农
5 月 21 日

使用嵌套的状态管理可以将同一模块不同业务的状态管理进一步抽离,从而避免了状态管理代码的臃肿,使得代码符合单一职责原则。

https://static001.geekbang.org/infoq/cf/cf3c2c34b910e7a9ab303e47ea32743a.png?x-oss-process=image/resize,w_416,h_234

使用 Provider 改造屎山代码,代码量降低了 2/3!

用户头像
岛上码农
5 月 19 日

状态管理有没有必要?我们就使用 Provider 来改造旧的代码,你会发现改造前后具有十分大的差别。

https://static001.geekbang.org/infoq/67/67a9fc99b3d2026aa07364234004a8e5.png?x-oss-process=image/resize,w_416,h_234

源码分析 Flutter 的 setState 过程

用户头像
岛上码农
5 月 16 日

从性能上考虑,还是尽量不要使用 setState——除非,这个组件真的很简单,而且下级组件没有或者很少。

https://static001.geekbang.org/infoq/3b/3bbc9f23de27f32c0e0838d07ad26966.png?x-oss-process=image/resize,w_416,h_234

Dart 2.17 发布,新特性速递

用户头像
岛上码农
5 月 15 日

目前 Dart 团队主要集中在跨平台和生产力提升上。说明整个 Dart 语言已经到了稳定的阶段,接下来的更新迭代将会让我们的开发效率更高。

https://static001.geekbang.org/infoq/6a/6ab82fba6ca5fb9fbb10a3971efda0f3.png?x-oss-process=image/resize,w_416,h_234

setState 和 ModelBinding 用法对比来看局部刷新效果

用户头像
岛上码农
5 月 14 日

本篇对比了使用 InheritedWidget 实现状态共享和使用 setState 方式实现状态共享的区别,很明显,使用 InheritedWidget的方式性能更高,可以实现局部刷新,而且不会出现 setState 那种重构整个组件树的情况。

https://static001.geekbang.org/infoq/6e/6ef2b870c81056ec8a48f67824b08316.png?x-oss-process=image/resize,w_416,h_234

手写一个持久化的 Flutter 会话管理器

用户头像
岛上码农
5 月 4 日

本篇利用 Dio 的拦截器实现了自定义的 CookieManager,并且借助 SharedPreferences 插件实现了 Cookie离线缓存。

https://static001.geekbang.org/infoq/bf/bfb282b0a774a30bbaa861066a5220ba.png?x-oss-process=image/resize,w_416,h_234

从火车票验票来说 Flutter 的网络请求会话管理

用户头像
岛上码农
5 月 3 日

App 的会话管理和 Web 端不一样,需要主动携带。本篇以火车票验票为例,通俗易懂地告诉你Flutter 的网络请求如何进行网络管理

https://static001.geekbang.org/infoq/2c/2cc37003ee9ec4d2221b9034dd74a676.png?x-oss-process=image/resize,w_416,h_234

从源码深入了解 Dio 的 CancelToken

用户头像
岛上码农
5 月 2 日

从源码解析 CancelToken 是如何实现取消网络请求的

https://static001.geekbang.org/infoq/7a/7a1c7a9f0d8fa4f83685bc66d556801c.png?x-oss-process=image/resize,w_416,h_234

Dio 封装之金屋藏娇

用户头像
岛上码农
4 月 24 日

以老王年轻时的故事讲述如何封装Dio封装请求库。

https://static001.geekbang.org/infoq/f2/f24a378b3e35c44c344bcc62110e8f1c.png?x-oss-process=image/resize,w_416,h_234

将新增和编辑的数据同步更新到列表

用户头像
岛上码农
4 月 23 日

本篇完成了整个动态管理的业务逻辑,包括了新增、删除、编辑、查看次数等功能。通过 GetIt 容器管理插件及接口定义,可以很简单快速地完成页面之间的数据同步。

https://static001.geekbang.org/infoq/48/48b5e4ecf7a9bdb6649248c4406e003a.png?x-oss-process=image/resize,w_416,h_234

Flutter 一文搞定图片选择和图片上传

用户头像
岛上码农
4 月 22 日

本篇将介绍 Flutter 中如何完成图片上传,以及上传成功后的表单提交。

https://static001.geekbang.org/infoq/a9/a99662b4ea8d68ca2b4986c865d03757.png?x-oss-process=image/resize,w_416,h_234

Flutter 使用 Dio 的 Post 请求添加数据

用户头像
岛上码农
4 月 20 日

本篇介绍了POST新增数据页面的示例,同时对于编辑和添加的页面重复部分通过封装共用的表单组件简化了页面结构和提高复用性。

https://static001.geekbang.org/infoq/5d/5d093f26588135d272654d93abe8af95.png?x-oss-process=image/resize,w_416,h_234

利用 Dio 完成数据更新的 Patch 请求

用户头像
岛上码农
4 月 19 日

本篇介绍了详情数据的获取,实体对象的部分修改来展示 Dio的 patch 请求。

https://static001.geekbang.org/infoq/ef/efc69ecb84e021305252d57c6ec81db1.jpeg?x-oss-process=image/resize,w_416,h_234

Dio —— Flutter 网络请求之王者

用户头像
岛上码农
4 月 16 日

在 Flutter 中,要说网络请求插件,不得不提 dio,而且这是国人开发的开源插件,在 pub 上好评率达到99%,GitHub 也收获了近万star。

https://static001.geekbang.org/infoq/4d/4df8628344bc3c6e5e1d5e21e86fd659.png?x-oss-process=image/resize,w_416,h_234

实例解析山路十八弯的 Flutter 2.0 路由

用户头像
岛上码农
4 月 15 日

总的来说,Flutter 2.0的路由管理相比1.0版本复杂很多也更强大,对于非 Web应用来说可以继续沿用1.0的路由,对于 Web 应用或大型移动应用可以考虑2.0路由。

https://static001.geekbang.org/infoq/06/0672b8448f65624a4601ca1464fee9c6.png?x-oss-process=image/resize,w_416,h_234

Flutter 2.0 的路由把我搞蒙了!!!

用户头像
岛上码农
4 月 13 日

Flutter 2.0的路由做了较大改动,引入很多中间类来分离路由的各自职责,目的更多的是为了 Web 端的复杂路由应用。1.0版本的路由可以继续用,但2.0的扩展性会更好,不过也更复杂。

https://static001.geekbang.org/infoq/44/4468ea453b747ce494326eb96f95eec9.png?x-oss-process=image/resize,w_416,h_234

让页面跳转更有趣 —— 实现自定义页面切换转场动画

用户头像
岛上码农
4 月 4 日

扒一扒 fluro 的源码,实现自己特殊效果的页面切换转场动画,体验更好哦!

https://static001.geekbang.org/infoq/e8/e896331c713d2ec6f6d6cada193ca894.png?x-oss-process=image/resize,w_416,h_234

Flutter 简单实用的 fluro 路由管理插件简介

用户头像
岛上码农
4 月 2 日

fluro 是 Flutter 优秀的路由管理器,支持路由路径中携带路径参数和 query 参数,可以更灵活地进行页面参数的传递和转场动画。

跨平台开发_跨平台开发技术文章_InfoQ写作社区