Flutter❤️Dart
学习Flutter,不是会一些Widget的使用,能画出界面就行了,要用最佳实践、考虑性能对比、原理分析
unicorn97
不积跬步,无以至千里
展开
-
Flutter状态管理4-flutter_bloc使用和原理学习总结
flutter_bloc今天发布了4.0.0版本,现关于其使用和原理做一个简单的总结。flutter_bloc官网:https://github.com/felangel/blochttps://bloclibrary.dev/#/flutterbloccoreconcepts?id=flutter-bloc-core-conceptspub.dev上的介绍,包括了多个Examples:...原创 2020-04-21 23:10:59 · 5589 阅读 · 1 评论 -
Flutter状态管理1-ChangeNotifierProvider的使用
关于Flutter中的状态管理,可以参考官网的介绍:Simple app state management中文网的介绍:简单的应用状态管理Flutter 官方的两个sample:provider_counterprovider_shopper先从简单的provider_counter说起1. 定义一个数据Model类,继承自ChangeNotifier/// Simplest pos...原创 2019-08-21 10:58:40 · 24193 阅读 · 0 评论 -
Flutter中的依赖注入——get_it
Flutter社区的一个library: get_it视频介绍:Flutter Dependency Injection For Beginners | Complete Guide视频对应的博文 :Dependency Injection in Flutter官网的介绍:Simple direct Service Locator that allows to decouple the ...原创 2019-09-24 18:08:02 · 9239 阅读 · 0 评论 -
Flutter中的导航Navigation总结
在Flutter中导航到一个新页面,通常我们会使用Navigator.of(context).push()来处理,或者是调用pushNamed("\xxx"),pop()等 。但是这里有几个问题,需要使用到context,这就限制来导航的使用场景,必须要在一个Widget中;第二个问题是,如果在Widget中写导航相关的代码,那么就在UI层混入了逻辑层的代码,路由导航属于业务逻辑,这不利于...原创 2019-09-16 22:11:10 · 1354 阅读 · 0 评论 -
Flutter中的BuildContext、Element、Key和RenderObject
学习Flutter不仅仅是学各Widget的使用,能堆叠出UI就行了,要多去学习底层的一些实现原理,尽量做到知其所以然。这也是区分程序员等级的一个参考指标。在学习Flutter过程中,对BuildContext、Key、Element、RenderObject不是很了解,搜索了一下,觉得有些博客写的还是不错的,主要是了解Flutter视图树的构建过程,希望大家都能多去看看Flutter | ...原创 2019-08-26 20:37:39 · 823 阅读 · 0 评论 -
Flutter中的一些知识概念总结
在学习Flutter一段时间后,有一些概念性的东西,还是打算写下来,记录一下。Widget、Element、RenderObject大家都知道Widget、Element、RenderObject,每个部分负责相应的功能,我们只需要写Widget就行,为什么还需要Element和RenderObject呢,这是因为Flutter为了在大量Widget时保证良好的性能,不能一直删除创建新的对象,...原创 2020-04-01 20:43:36 · 440 阅读 · 0 评论 -
Flutter中的Build方法为什么会在State中,而不在StatefulWidget中?
官网中build方法的文档地址:https://api.flutter.dev/flutter/widgets/State/build.html在学习写StatefulWidget的时候,就有这个疑问了,为什么要把build方法写在State中?为什么不是跟写StatelessWidget一样,直接把build方法写在StatelessWidget中呢?网上也有人有这样的疑问:链接找不到了...原创 2019-08-21 20:11:13 · 2272 阅读 · 0 评论 -
Flutter学习资料汇总
主要资源:Flutter官网:https://flutter.dev/优达学城 https://classroom.udacity.com/courses/ud905Medium官网 :https://medium.com/flutterYoutube视频: https://www.youtube.com/flutterdevFlutter的一些第三方库,各种插件 https://pu...原创 2019-08-22 15:42:43 · 302 阅读 · 0 评论 -
Flutter状态管理2-ChangeNotifierProxyProvider
官方GitHub sample地址:provider_shopperChangeNotifierProxyProvider的使用1. 先看主类class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { // Using MultiProvider is conveni...原创 2019-08-21 17:19:26 · 6323 阅读 · 0 评论 -
Dart Language Tour 学习笔记2
ExceptionsDart 中的异常信息捕获处理:try { breedMoreLlamas();} on OutOfLlamasException { // A specific exception buyMoreLlamas();} on Exception catch (e) { // Anything else that is an exception p...原创 2019-08-06 21:42:23 · 218 阅读 · 0 评论 -
Dart Language Tour 学习笔记1
变量和内置的类型Final and const如果您从不打算更改变量,请使用final或const,而不是var或者一个类型。 final变量只能设置一次; const变量是编译时常量。 (Const变量是隐式final的。)final的顶级或类变量在第一次使用时被初始化实例变量可以是final的,但是不能是const的,且final的实例变量必须在构造函数前初始化;const修饰符不...原创 2019-08-06 16:20:15 · 227 阅读 · 0 评论 -
Dart语法基础2-资源介绍汇总
Flutter官网中Dart资源的链接:Bootstrap into DartLanguage tour包含Dart语法的最佳介绍,如强类型、闭包(lambda表达式)、函数库、lexical scoping、顶级函数、命名参数、async / await,等Library tourDart核心库的介绍,包括集合框架、异步、数学函数库、numbers、strings、JSON等Effe...原创 2019-08-05 10:36:35 · 609 阅读 · 0 评论 -
Dart语法基础1-类、构造函数
语法基础Dart的主函数名称为 void main (){ },也可以添加参数,main(List args)Dart里的变量、函数、getter和setter可以独立于类存在,main方法位于最顶层。Dart中的修饰符默认是public的,且没有类似public、private和protected的修饰符。在标识符前加下划线_ ,可以使得其变成private的,如下可以对变量...原创 2019-08-02 11:13:41 · 588 阅读 · 0 评论 -
Dart语法基础笔记(二)
接上一篇 Dart语法基础笔记(一)范型 GenericUsing collection literals(使用集合字面量定义List或者Map)List 和 map 字面量也是可以参数化的。 参数化定义 list 需要在中括号之前 添加 , 定义 map 需要在大括号之前 添加 <keyType, valueType>。 如果你需要更加安全的类型检查,则可以使用 参数化定义。...原创 2019-06-05 20:45:48 · 246 阅读 · 0 评论 -
Dart语法基础笔记(一)
官网地址:https://dart.dev/guides/language/language-tour中文网地址:http://dart.goodev.org/guides/language/language-tour#commentsFinal and const如果你以后不打算修改一个变量,使用 final 或者 const。 一个 final 变量只能赋值一次;一个 const 变量是...原创 2019-06-04 18:58:33 · 517 阅读 · 0 评论 -
Flutter Architecture架构管理 Provider+get_it
由于Flutter中的状态管理问题,Flutter中有着ephemeral短时状态和app状态,且会因为业务需要,在两种状态之间做出转换,所以状态管理是个值得研究的问题。因此引出了架构管理问题,其实整个架构就是为了合理的管理状态而设计的。类似于Android中的MVC 、MVVM、 MVI、等架构,Flutter也有,一个包含各类架构的sample地址:https://github.com/b...原创 2019-09-25 14:56:15 · 2485 阅读 · 1 评论 -
Flutter代码结构优化——functional_widget缩减Flutter代码嵌套层级
初学Flutter时,会觉得一个Flutter页面中,WIdget之间相互嵌套,层级会很深,不利于阅读,本文介绍一个第三方库 functional_widget,以减少WIdget的嵌套层级。这几天看了一些教程,稍微复杂点的页面中,如何来避免Widget层级的过度嵌套,其实很简单,就是分而治之,以官方的一个provider_shopper购物车页面为例 :上面是一个列表,中间一个间隔线,底下...原创 2019-09-26 16:19:02 · 808 阅读 · 0 评论 -
Flutter应用——生命周期管理 Lifecycle Management
Flutter应用中,有时候我们需要监听整个app的不同声明周期状态,然后做出相应的逻辑处理。Flutter中的生命周期状态在window.dart 中有定义enum AppLifecycleState { /// The application is visible and responding to user input. resumed, /// The applicati...原创 2019-09-30 16:18:06 · 1015 阅读 · 0 评论 -
Flutter与Android原生混合开发——EventChannel与MethodChannel的使用
在使用Flutter开发app时,会遇到跟Android原生系统API交互的情况,通常可以使用Flutter来写页面,复用原来已有的Android的逻辑(如自己的或者第三方的SDK),来加快开发进度。可以使用插件来解决,官网关于插件的开发介绍:撰写双端平台代码(插件编写实现)文中列出了一个完整的demo:注意:可在 /examples/platform_channel/ 中获得使用 Ja...原创 2019-10-09 17:35:07 · 5144 阅读 · 0 评论 -
Flutter状态管理3-InheritedWidget
官网关于状态管理的一段介绍:Managing stateFlutter知识点: InheritedWidget上午中使用了InheritedWidget来管理状态,flutter_redux原创 2019-09-12 15:29:49 · 1818 阅读 · 0 评论