flutter携程网,FLUTTER

Flutter基础Dart 相关书籍和网站推荐

网站:

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了靖宇免费建站欢迎大家使用!

Flutter官网

国内Flutter中文资源网

Flutter中文网

Dart官网

Dart中文网

第三方包官网

国内第三方包官网

必读书籍:

《Dart语言实战:基于Angular框架的Web开发》

《Flutter实战》

Flutter网络请求之dio的初步使用

dio 是一个国产巨佬写的一个Flutter的网络请求库,写这篇的文章的时候更新到3.x版本了。这里是他的 官方中文 使用链接: dio

按照原作者所说:

我这里这个时候的是一个3.0.9版本,这里的 ^ 符号,表示3.多的库比如说3.1.1啥的,也能更新下来。

dio 的原作者给了我们一个简单的例子

我们基础的使用,请求一个URL,这里就直接是 Dio().get(".****.com") 。这样就可以通过get方式来请求我们的链接。

在我们项目中,我们当然不能直接使用 Dio().get(".****.com") 这样的方法,那样的话如果以后我们要更换网络请求的库的话,我们要修改的地方,就会非常的多。类似的问题,曾经在iOS开发的历史上出现过一次。最初的时候iOS的开发者大多使用的是一个叫 ASI 的库,但是在过了几年的时候,这个库不在维护了。这时候,我们就会去找一个新的网络库来代替他。当时如果我们有500个文件中都直接使用 ASI ,我们就需要改动500个地方。这样的体力和眼力消耗,实在是太惊人了。所以,我们一般会自己创建一个专门的 网络管理 的类 NetworkManager 。在 NetworkManager 里,我们把调用方法抽取出一个基础的方法,使用的时候,基于这个基础的方法来调用。这样,我们就能很方便的去进去使用和维护。

这个时候我们就可以使用我们创建的类来直接调用我们的方法了。

这样,我们的 dio 的初步使用就完成了。下一篇文章来写 dio 的进阶使用。

Flutter开发--视频播放器

目前Flutter平台主流的两个播放器是video_player和fijkplayer

pub

github

1、Flutter平台官方插件,作者是国外的,有问题沟通比较困难,只能通过提交issue

2、硬解码

4、UI封装: better_player

基于video_player和Chewie的高级视频播放器。它解决了许多典型的用例,并且易于运行。

5、播放器宽高比例与视频内容宽高比例不一致时,会出现图像压缩变形的问题

6、调用原生内核播放器:iOS--AVPlayer, Android--ExoPlayer

7、对于分段源 m3u8 的播放不友好,如果一个切片播放超时,会导致整个播放都失败

8、better_player可以缓存视频,但不能自定义缓存的地址,只能指定key,和缓存的最大内存量(还未研究超出最大的话是不能缓存新的,还是删除最旧的)

9、better_player不能完全自定义UI,只能修改类中的一些开放属性,比如说icon图标,文字颜色啥的

10、无网络有缓存时,封面可以正常展示

11、better_player播放失败有手动retry的设计

pub

github

1、fijkplayer 是一个 Flutter 生态的媒体播放器,是对 ijkplayer 的 Flutter 封装,支持 Android 和 iOS。 fijkplayer 使用 ijkplayer 作为播放器内核,ijkplayer 使用 ffmpeg 进行音视频解封装和解码,同时添加了 Android 和 iOS 平台特有的硬件加速解码能力。

2 、国内有QQ群,但是活跃度也是不高。

3、可以缓存视频,可以自定义缓存的地址,方便后续的内存维护。

4、可以通过FijkPanelWidgetBuilder较大程度上自定义UI。

5、无网络有缓存视频时,无法展示封面,因为内部是通过imageProvider去加载网络图片的。

7、播放失败无手动retry的设计

1、两种播放器都是通过外接纹理方案 (Texture),将播放器视频画面渲染接入 flutter 中,性能上优于 PlatformView 的接入方法。

如何自己实现?

下面以video_palyer的iOS源码部分解释:

iOS用CVPixelBufferRef将渲染出来的数据存在内存中,Flutter engine会将Texture的数据在内存中直接进行映射无需通过Channel传输,然后Texture Widget就可以把你提供的这些数据显示出来。在我们传输数据的时候会需要将其与 TextureID 绑定,绑定的过程通过BasicMessageChannel实现数据流的传输,以做到实时展示的效果

Flutter发布Package(Pub.dev或私有Pub仓库)

  因为我们使用Flutter跨平台技术开发App时,会有很多公用组件,因为Flutter中一切皆为Widget,widget也比较细粒度,所以我们需要进行封装,用于一个项目或者公司不同项目中去~

  那么今天写写如何发布package或者插件到Pub.dev上,扯扯谈O(∩_∩)O哈哈~

《Flutter的拨云见日》系列文章如下:

1、Flutter中指定字体(全局或者局部,自有字库或第三方)

2、Flutter发布Package(Pub.dev或私有Pub仓库)

首先,我们知道flutter有四种工程模式:Flutter Application、Flutter Module、Flutter Plugin和Flutter Package。

我们这里就主要讲Package 纯Dart插件的发布吧,都差不多。

创建工程后,就可以编写你的公共组件,或者公用字体库呀啥的, 都行。

在更改下你的pubspec.yaml文件,修改下你的versionCode,项目名称,项目描述,作者等

如果上传失败试试????的命令:

在执行该命令时,可能会中途调到网页,要求你登录google账号,登录授权,到时候登录账号并授权就可以了。

因为我们直接使用flutter packages pub publish是发布到Pub.dev上,并不是发布到私有仓库,该怎么办呢?

其实呢,也很简单!像versionCode,项目名,等都和发布Pub.dev是一样的。没啥区别。

有两种方式:

就是这么简单o( @ )o

相信大家引用Pub.dev上的第三方库都会了哈,到处都是这里不讲了

在使用flutter pub get就可以拉到私有仓库项目了

以上就差不多聊了聊package发布和获取的事儿了,都很明了,大家可以试试,挺简单的。

PS: 写文不易,觉得没有浪费你时间,请给个点赞~ ????

求flutter的教学视频!!!!

Flutter教程全套 (全网独家)百度网盘免费资源在线学习  

链接:

提取码: m9z8  

Flutter教程全套 (全网独家)

第一套:Flutter 携程17章全-整理好

第五套:Flutter高仿谷歌翻译项目课程

第四套:两小时掌握Flutter移动App开发视频

第三套:flutter入门到精通全套

第七套:Flutter小实战20个

第六套:仿直聘boss的flutter完整教程

第九套:Flutter跨平台开发

第二套:flutter移动电商实战-技术胖

第八套:Flutter基础教程(基础不好的优先看)

24Flutter的打包.mp4

23静态资源和项目图片的处理.mp4

22页面跳转并返回数据_.mp4

21导航的参数传递和接受-2_.mp4

20导航的参数传递和接受-1.mp4

Flutter跨平台框架(Dart语言)

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。(-中文网;-英文网)

Flutter是一种趋势,势必会取代RN,成为最主流的跨平台开发框架,基于Dart语言。ios开发必须Mac电脑。android开发window、linux、Mac均可。


分享题目:flutter携程网,FLUTTER
分享URL:http://ybzwz.com/article/dssidje.html