自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Flutter编程指南

Flutter从入门到精通,分享Flutter应用实践,一起探索Flutter的奥秘。

  • 博客(20)
  • 收藏
  • 关注

原创 三种架构在Flutter中的尝试

![TOC]场景说明动图展示功能简介​ 一个常见的"评价列表页",点击"评价列表页"中的任意一项跳转进入"评价详情页"。在"评价详情页"我们可以看到该评论完整的评价内容和评价大图,同时"评价列表页"和"评价详情页"都带有分享和点赞的功能。MVC架构架构视图工程结构外层main.dart入口函数调起CommentApp.dart这个App的工程入口wi...

2019-06-25 10:23:50 843

原创 Flutter混合开发二-FlutterBoost使用介绍

前言《Flutter混合开发专题一》中我们介绍了Flutter官方提供的混合开发解决方案,但是其存在着一些问题并没有解决,比如原生和Flutter页面叠加跳转由于Flutter Engine重复创建而导致内存暴增的问题、Flutter应用中全局变量在各独立页面不能共享的问题、iOS平台内存泄露的问题等等,目前官方在混合开发解决方案上并没有花太多的时间去改进优化。国内很多大厂在去年已经开始研究F...

2019-05-31 07:55:15 3069

原创 来了!Flutter混合开发专题一

前言Flutter作为新一代移动端跨平台解决方案,相比于React Native等有很大的性能优势,所以很多公司已经开始研究Flutter并将其应用于实际项目中,目前包括闲鱼、美团、京东和今日头条等都已经在APP部分页面尝试使用了,那么它们这些应用都已经使用原生开发的很成熟了且代码量非常大,如果全面使用Flutter改造势必是一个浩大的工程,所以他们都使用Flutter混合开发的模式渐进式的对部...

2019-04-22 08:24:25 2077

原创 Flutter插件开发

前言使用Flutter进行应用开发时,为实现一些功能(比如WebView加载网页、实现视频控件等)我们会引入三方插件,这些插件我们都可以在https://pub.dartlang.org/flutter网站中进行查找,然后在flutter工程中配置pubspec.yaml文件来引入。那么,如果我们需要实现的功能对应的插件在该网站上没有怎么办呢,这时候就需要我们自己来开发特定的插件了。本篇我们就来...

2019-04-16 07:58:48 6961

原创 Flutter启动流程源码分析

前言相信大家在学习Flutter的开始阶段都看过Flutter的架构图,如下我们知道Flutter的应用层代码由Dart编写,Framework层提供了一系列Widget和其它API,那么这些Dart编写的代码是如何在特定平台上执行的呢,这就要从Flutter的启动过程说起了,了解了Flutter的启动过程,这个问题便迎刃而解。我们通过架构图可以看出Embedder是由特定的平台实现,它其...

2019-04-04 12:16:43 3004 2

原创 Flutter中网络图片加载和缓存

前言应用开发中经常会碰到网络图片的加载,通常我们会对图片进行缓存,以便下次加载同一张图片时不用再重新下载,在包含有大量图片的应用中,会大幅提高图片展现速度、提升用户体验且为用户节省流量。Flutter本身提供的Image Widget已经实现了加载网络图片的功能,且具备内存缓存的机制,接下来一起看一下Image的网络图片加载的实现。重温小部件Image常用小部件Image中实现了几种构造函数...

2019-03-30 16:45:24 9804 1

原创 Flutter中的http网络请求

前言本篇介绍Flutter中网络请求相关api的使用,Flutter在Flutter engine中提供了一个sky_engine开发工具包,其包含了一个_http的库,该库中有封装的http请求相关的各种操作类。本文我们将介绍_http相关操作类的使用和基于_http封装的三方dio网络库的使用。自带网络库_http_http库中的http.dart文件中封装的HttpClient类是我们...

2019-03-29 13:59:34 4498

原创 Flutter中http请求抓包解决方案

前言前阵子有同学反馈Flutter中的http请求无法通过fiddler抓包,作者喜欢使用Charles抓包工具,于是抽时间写了个小demo测试了一下,结论是在手机上设置代理,Charles确实抓不到请求数据包。于是对该问题进行了分析:确定使用的是http发起的get请求,理论上http协议应该可以被Charles抓到包的,如果没有抓到包,那可能是没有走代理,于是乎通过将笔记本连接的wif...

2019-03-29 13:58:25 4306 1

原创 Flutter持久化存储之数据库存储

前言数据库存储是我们常用的存储方式之一,对大批量数据有增、删、改、查操作需求时,我们就会想到使用数据库,Flutter中提供了一个sqflite插件供我们用于大量数据执行CRUD操作。本篇我们就来一起学习sqflite的使用。sqflite使用引入插件在pubspec.yaml文件中添加path_provider插件,最新版本为1.0.0,如下:dependencies: flutt...

2019-03-28 13:39:11 1676 1

原创 Flutter持久化存储之文件存储

前言本篇将给大家分享Flutter中的file存储功能,Flutter SDK本身已经有File相关的api,所以在Flutter中使用file存储的关键是如何获取手机中存储的目录,然后根据目录路径来创建不同的file。根据Flutter的特性,我们可以通过自定义channel来获取平台端的可存储文件夹路径给flutter端,实现起来非常简单,且这个插件在pub.dartlang.org上已经存...

2019-03-28 13:38:30 4647

原创 Flutter持久化存储之key-value存储

前言应用开发时会有很多的数据存储需求,这个时候就需要用到持久化存储技术,与iOS、安卓一样,Flutter中也有很多种持久化存储方式,比如key-value存储、文件存储、数据库存储等,但其实质都是通过平台对应的模块来实现的,本篇我们将带大家一起了解key-value存储的应用。key-value存储介绍key-value存储主要是平台提供特定的api来供我们操作,其本质依然是将数据存储到特...

2019-03-28 13:37:46 1751

原创 Flutter自定义Widget和使用方法

前言前面已经通过三个篇幅向大家介绍了Flutter原生提供的常用Widget和其使用方法,实际开发中我们会遇到一些特殊的需求或者规范一些常用的Widget作为基础UI组件来使用,这时我们就需要根据需求自定义Widget了。Flutter中的自定义Widget和安卓、iOS原生平台类似,可以使用现有Widget进行组合,也可以自己根据需求来绘制,下面分别对两种自定义Widget的实现和使用方法做详...

2019-03-27 13:37:54 2651

原创 Flutter常用Widget详解(三)

前言前面两篇文章给大家介绍了Widget中对应原生开发中的一些常用基础控件,Text、TextField、Button、Dialog、Picker等,本篇我们将和大家一起学习ListView、GridView等列表网格布局控件和其他常用的用于布局的Widget,如Container、Row、Column、Padding等等。列表和网格视图WidgetListViewListView通常有两...

2019-03-27 13:37:10 1901

原创 Flutter常用Widget详解(二)

前言相信不少同学已经通过线上直播观看了本周Google举办的Flutter Live 2018,在本次活动中Google正式发布了Flutter 1.0版本,这对于正在学习Flutter或已经使用Flutter进行应用开发的我们都是一个好消息,1.0版本中增加了一些新的特性,并且是目前最稳定的版本,没有了解本次活动内容的同学可以通过如下链接查看。Flutter 1.0正式版:Google的便携...

2019-03-27 13:36:24 602

原创 Flutter常用Widget详解(一)

前言前几篇文章大家已经对Flutter环境搭建、所用开发语言和一些绘图原理有了一个初步了解,本篇是一个实战篇,进行应用开发时首先要进行UI界面的开发,Flutter所展示的UI界面都是由一些Widget组合而成,Widget可以理解为我们原生开发中的UI控件和UI布局控件。例如iOS中的UILabel、UIButton、UITableView,安卓中的Button、TextView、ListVi...

2019-03-27 13:30:54 991

原创 聊聊Flutter Platform SDK

文章目录前言Platform SDK 的角色扮演CreatorFlutterMain时序图FlutterActivityDelegateWhatDelegateFlutterViewFlutterNativeViewTransmitter消息渠道消息编解码传递流程Registrant情境转换注册人注册商注册局前言​ 从Flutter的架构图中可以看出,Flutter Platform SDK处...

2019-03-26 11:44:15 234

原创 一文了解Dart语法

文章目录前言重要概念关键字变量变量的定义1.可以使用var来定义变量,变量的类型可以通过变量值推断出来2.也可以使用特定类型来定义变量3.如果变量不限于单个类型,则可以使用dynamic或Object来定义变量变量的默认值final 和 const内置类型函数定义方法可选参数默认值main函数函数作为参数匿名函数嵌套函数运算符控制流语句异常类构造函数mixin继承泛型写在最后前言Flutter...

2019-03-26 11:41:20 317

原创 Flutter环境搭建和项目结构介绍

文章目录前言环境搭建系统要求使用镜像安装iOS开发环境安装Android开发环境安装Flutter SDK安装Flutter开发插件项目目录结构Flutter项目运行写在最后前言工欲善其事必先利其器,使用Flutter开发应用要从开发环境搭建开始,本文将简单介绍Flutter的环境搭建步骤和搭建环境过程中遇到的问题及解决方法,并通过一个简单的Demo了解Flutter的项目结构,然后开始对Fl...

2018-10-31 16:41:24 4232

原创 如何进行Flutter混合开发

文章目录Why Flutter ?Flutter框架与应用框架与Source Code整体框架Source CodeAPK(Android应用)结构Flutter混合模式闲鱼模式双Branch共存(Flutter模式 && Standalone模式)Google模式创建Flutter Module模式1.1.1 切换flutter分支1.1.2 创建Flutter module模版...

2018-10-30 19:28:24 5906

原创 Flutter简介

前言随着移动开发技术的日渐成熟,一些厂商开始考虑跨平台技术的解决方案,从早期的Cordova、Xamarin,再到后来的React Native和Weex等等,可谓是百家齐放,每种框架都有各自的优缺点,但目标都是一致的,就是提升应用的开发效率,降低研发成本,一套代码运行多个平台。这些框架除了Xamarin外都是采用Web端技术开发移动端应用,但提供比Web更好的用户体验。以上框架中Cordov...

2018-10-23 20:12:01 484

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除