Flutter必备开源项目

首页

动态的展示导航栏的显示和隐藏

日历模块

展示日历的记录, 每日记录生成图片和保存图片

发现

类似朋友圈的内容展示, 图片浏览和保存图片

动态详情模块, 动态的评论和删除评论

多语言国际化

部分页面适配了韩语和英语

颜色主题和暗黑模式

部分页面支持手动的修改项目主题色, 黑色主题(暗黑模式)适配

用到的插件

dio

https://pub.dartlang.org/packages/dio

Dart社区提供的http请求库,不仅支持常见的网络请求,还支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等操作

provider

https://pub.dev/packages/provider

Flutter 官方推荐的状态管理插件, 简单的应用状态管理

flutter_redux

https://pub.dev/packages/flutter_redux

flutter 版的 redux

pull_to_refresh

https://pub.dev/packages/pull_to_refresh

一个提供上拉加载和下拉刷新的组件,同时支持 Android 和 ios

flutter_staggered_grid_view

https://pub.dev/packages/flutter_staggered_grid_view

一个支持瀑布流布局, 支持交错和可扩展的网格布局的组件

flutter_easyloading

https://pub.dev/packages/flutter_easyloading

支持多种样式的toast提示组件, 支持自定义

carousel_slider

https://pub.dev/packages/carousel_slider

轮播图组件, 支持缩放切换

table_calendar

https://pub.dev/packages/table_calendar

日历组件, 可定制性比较高, 支持语言国际化

photo_view

https://pub.dev/packages/photo_view

可定制的图片查看器, 支持手势缩放, 动画展示等

shimmer

https://pub.dev/packages/shimmer

提供闪光效果的组件, 表述不清晰, 看提供效果图

cached_network_image

https://pub.dev/packages/cached_network_image

用来加载和缓存网络图像

image_picker

https://pub.dev/packages/image_picker

用于从Android和iOS图像库中选择图像的库,支持使用相机拍摄新照片。

image_gallery_saver

https://pub.dev/packages/image_gallery_saver

保存视频和图片到手机相册

video_player

https://pub.dev/packages/video_player

flutter官方推荐的视频播放组件

permission_handler

https://pub.dev/packages/permission_handler

用于Android和iOS的相关隐私权限判断

shared_preferences

https://pub.dev/packages/shared_preferences

用于基本数据的缓存处理

device_info

https://pub.dev/packages/device_info

用于获取用户设备信息

location

https://pub.dev/packages/location

获取定位信息, 可以获取位置更改时的回调

值得推荐的插件

适配相关

native_widgets

https://pub.dev/packages/native_widgets

支持自动根据平台自动使用对应风格组件,Android将使用Material风格,iOS将使用Cupertino风格

日期时间

flutter_picker

https://pub.dev/packages/flutter_picker

一个日期,时间,日期时间,icon,自定义数据的选择器,可以居中弹窗,也可以在底部弹出

MarkDown

markdown

https://pub.dev/packages/markdown

用Dart编写的便携式Markdown库。它可以在客户端和服务器上将Markdown解析为HTML

颜色选择

flutter_colorpicker

https://pub.dev/packages/flutter_colorpicker

一个HSV(HSB)/HSL颜色选择器

加密算法

crypto

https://pub.dev/packages/crypto

crypto算法库支持的算法:

  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512
  • MD5
  • HMAC (i.e. HMAC-MD5, HMAC-SHA1, HMAC-SHA256)

pointycastle

https://pub.dev/packages/pointycastle

用于加密和解密的Dart库, 实现了AES RSA 公私钥加解密等加密算法

解压缩

archive

https://pub.dev/packages/archive

为各种存档和压缩格式提供编码器和解码器,如zip,tar,bzip2,gzip和zlib

数据库

sqflite

https://pub.dev/packages/sqflite

SQLite的Flutter插件,一个自包含的高可靠性嵌入式SQL数据库引擎

分享统计支付

share

https://pub.dev/packages/share

支持分享的flutter插件

flutter_umeng_analytics

https://pub.dev/packages/flutter_umeng_analytics

友盟的分享和统计库

flutter_qq

https://pub.dev/packages/flutter_qq

集成了QQ登录、QQ分享、QQ空间分享等功能的库

flutter_wechat

https://pub.dev/packages/flutter_wechat

集成了微信,支持微信登录、分享、支付等功能的库

flutter_alipay

https://pub.dev/packages/flutter_alipay

支付宝支付的功能

学习资料和项目

推荐一些不错的学习网站和项目学习

awesome-flutter-cn

https://github.com/crazycodeboy/awesome-flutter-cn

一个Flutter的学习资料库, 里面提供了很多的学习资料

flutter-go

https://github.com/alibaba/flutter-go

由阿里巴巴前端技术团队开发的Flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档

Widget整理

http://laomengit.com/flutter/widgets/widgets_structure.html

整理的330+组件的详细用法,不仅包含UI组件,还包含了功能性的组件

Morec

https://github.com/Mayandev/morec

一个非常精美的 Flutter 版电影客户端,利用豆瓣现有的 Api,打造了一个完整的电影展示 App

flutter_hrlweibo

https://github.com/huangruiLearn/flutter_hrlweibo

仿微博最新版本,还原微博80%的界面,总共涉及到了几十个界面和接口,用到了flutter中的大部分组件

flutter-netease-music

https://github.com/boyan01/flutter-netease-music

仿网易云音乐,完成大部分功能的APP

flutter_shuqi

https://github.com/huanxsd/flutter_shuqi

一个用Flutter写的书旗小说客户端, 所有功能都是用Dart写的,iOS和Android的代码复用率达到了100%

原文地址:https://blog.csdn.net/sinat_17775997/article/details/110042236

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


简介 java中使用jar包来封装有用的功能,然后将其分发到maven仓库中,供其他人使用。同样的在dart中也有类似的概念叫做packages。packages就是可以用来共享的软件包,可以包含libraries和tools。 你可以在pub.dev网站中查到dart中所有的共享packages的
简介 flutter是google在2015年dart开发者峰会上推出的一种开源的移动UI构建框架,使用flutter可以非常方便的编译成运行在原始android,ios,web等移动平台上的移动应用。 flutter是使用dart来编写的,最新的flutter版本是2.5.3,而最新的Dart语言
简介 dart作为一种面向对象的语言,class是必不可少的。dart中所有的class,除了Null都继承自Object class。 要想使用dart中的类就要构造类的实例,在dart中,一个类的构造函数有两种方式,一起来看看吧。 传统的构造函数 和JAVA一样,dart中可以使用和class名
简介 Exception是程序中的异常情况,在JAVA中exception有checked Exception和unchecked Exception。那么在dart中的情况是不是一样的呢?一起来看看吧。 Exception和Error Dart中表示异常的类有两个,分别是Exception和Err
简介 虽然dart中的类只能有一个父类,也就是单继承的,但是dart提供了mixin语法来绕过这样限制。 今天,和大家一起来探讨一下dart类中的继承。 使用extends 和JAVA一样,dart中可以定义一个父类,然后使用extends来继承他,得到一个子类,如下所示: class Studen
简介 pubspec.yaml是所有dart项目的灵魂,它包含了所有dart项目的依赖信息和其他元信息,所以pubspec.yaml就是dart项目的meta! pubspec.yaml支持的字段 根据dart的定义,pubspec.yaml中可以包含下面的字段: 字段名 是否必须字段 描述 nam
dart系列之:dart语言中的特殊操作符 简介 有运算就有操作符,dart中除了普通的算术运算的操作符之外,还有自定义的非常特殊的操作符,今天带大家一起来探索一下dart中的特殊操作符。 普通操作符 普通操作符就很好解释了,就是加减乘除,逻辑运算符,比较运算符和位运算符等。 这些操作符和其他语言的
简介 在dart系统中,有pubspec.yaml文件的应用就可以被成为一个package。而Libray package是一类特殊的package,这种包可以被其他的项目所依赖. 也就是通常所说的库。 如果你也想你写的dart程序可以上传到pub.dev上,或者提供给别人使用,则来看看这篇文章吧。
简介 和所有的编程语言一样,dart有他内置的语言类型,这些内置类型都继承自Object,当然这些内置类型是dart语言的基础,只有掌握了这些内置类型才能够在使用dart语言的时候得心应手。 今天就给大家讲解一下dart语言的内置类型。 Null 在dart中用null来表示空。那么null和Nul
简介 函数是所有编程语言都有的内容,不管是面向对象还是面向过程,函数都是非常重要的一部分。dart中的函数和java中的函数有什么区别呢? dart作为一种面向对象的编程语言,它的函数也是一个对象,用Function来表示。先看下函数的定义: abstract class Function { ex
简介 熟悉JAVA的朋友可能知道,JAVA在8中引入了泛型的概念。什么是泛型呢?泛型就是一种通用的类型格式,一般用在集合中,用来指定该集合中应该存储的对象格式。 有了泛型可以简化我们的编程,并且可以减少错误的产生,非常的方便。 dart语言中也有泛型。一起来看看吧。 为什么要用泛型 使用泛型的主要目
简介 熟悉javascript的朋友应该知道,在ES6中引入了await和async的语法,可以方便的进行异步编程,从而摆脱了回调地狱。dart作为一种新生的语言,没有理由不继承这种优秀的品质。很自然的,dart中也有await和async语言,一起来看看吧。 为什么要用异步编程 那么为什么要用异步
简介 要想熟悉一种语言,最简单的做法就是熟悉dart提供的各种核心库。dart为我们提供了包括dart:core,dart:async,dart:math,dart:convert,dart:html和dart:io这几种常用的库。 今天给大家介绍一下dart:core中的数字和字符串的使用。 数字
简介 ES6中在引入异步编程的同时,也引入了Generators,通过yield关键词来生成对应的数据。同样的dart也有yield关键词和生成器的概念。 什么时候生成器呢?所谓生成器就是一个能够持续产生某些数据的装置,也叫做generator。 两种返回类型的generator 根据是同步生成还是
简介 Flutter的基础是widget,根据是否需要跟用户进行交互,widget则可以分为StatelessWidget和StatefulWidget。StatelessWidget只能根据传入的状态进行简单的初始化widget,如果要实现跟用户交互这种复杂的功能,则需要用到StatefulWid
简介 时间和日期是我们经常会在程序中使用到的对象。但是对时间和日期的处理因为有不同时区的原因,所以一直以来都不是很好用。就像在java中,为时间和日期修改和新增了多次API,那么作为新生的语言dart而言,会有什么不一样的地方吗? dart中关于日期和时间的两个非常重要的类是DateTime和Dur
简介 Library是dart用来组织代码的一种非常有用的方式,通过定义不同的Library,可以将非常有用的dart代码进行封装,从而提供给其他的项目使用。虽然我们可以自由使用import或者export来对library进行导入和导入。但是什么样的用法才是最合适的用法呢? 一起来看看吧。 使用p
简介 dart中的集合有三个,分别是list,set和map。dart在dart:core包中提供了对于这三种集合非常有用的方法,一起来看看吧。 List的使用 首先是list的创建,可以创建空的list或者带值的list: var emptyList =[]; var nameList = [&#
简介 dart:html包为dart提供了构建浏览器客户端的一些必须的组件,之前我们提到了HTML和DOM的操作,除了这些之外,我们在浏览器端另一个常用的操作就是使用XMLHttpRequest去做异步HTTP资源的请求,也就是AJAX请求。 dart同样提供了类似JS中XMLHttpRequest
简介 Flutter是google开发的一个跨平台的UI构建工具,flutter目前最新的版本是3.0.5。使用flutter你可以使用一套代码搭建android,IOS,web和desktop等不同平台的应用。做到一次编写到处运行的目的。 说到一次编写处处运行,大家可能会想到java。那么flut