forked from simc/awesome-flutter-packages
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit e6c90b6
Showing
138 changed files
with
2,197 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Files and directories created by pub | ||
.dart_tool/ | ||
.packages | ||
build/ | ||
# If you're building an application, you may want to check-in your pubspec.lock | ||
pubspec.lock | ||
|
||
# Directory created by dartdoc | ||
# If you don't generate documentation locally you can remove this line. | ||
doc/api/ | ||
|
||
# Avoid committing generated Javascript files: | ||
*.dart.js | ||
*.info.json # Produced by the --dump-info flag. | ||
*.js # When generated by dart2js. Don't specify *.js if your | ||
# project includes source files written in JavaScript. | ||
*.js_ | ||
*.js.deps | ||
*.js.map | ||
|
||
# macOS | ||
.DS_Store | ||
.DocumentRevisions-V100 | ||
.fseventsd | ||
.Spotlight-V100 | ||
.TemporaryItems | ||
.Trashes | ||
.VolumeIcon.icns | ||
.com.apple.timemachine.donotpresent |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
// Use IntelliSense to learn about possible attributes. | ||
// Hover to view descriptions of existing attributes. | ||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 | ||
"version": "0.2.0", | ||
"configurations": [ | ||
{ | ||
"name": "Dart", | ||
"program": "compiler/main.dart", | ||
"request": "launch", | ||
"type": "dart" | ||
} | ||
] | ||
} |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# List of Awesome Flutter Packages [](https://github.com/leisim/awesome-flutter-plugins) | ||
A curated list of awesome Flutter packages. | ||
|
||
Is your favourite package missing? Let me know or create a pull request... | ||
|
||
## Index |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
import 'dart:async'; | ||
import 'dart:convert'; | ||
import 'dart:io'; | ||
import 'package:superpower/superpower.dart'; | ||
import 'package:http/http.dart' as http; | ||
|
||
var categories = [ | ||
'Widgets', | ||
'Animations', | ||
'Images', | ||
'Swipe & Slide', | ||
'Dialogs & Popups', | ||
'Labels & Forms', | ||
'Device', | ||
'Networking', | ||
'Bluetooth & Wifi', | ||
'Utils', | ||
'Frameworks & Design Patterns', | ||
'Audio & Video', | ||
'Files', | ||
'Persistance', | ||
'Logging & Error Handling' | ||
]; | ||
|
||
void main() async { | ||
var markdown = File('Header.md').readAsStringSync(); | ||
for (var category in categories) { | ||
var link = category.replaceAll(' ', '-').replaceAll('&', ''); | ||
markdown += '\n- [$category](#$link)'; | ||
} | ||
for (var category in categories) { | ||
markdown += '\n\n<br>\n\n' + await compileCategory(category); | ||
} | ||
File('../README.md').writeAsStringSync(markdown); | ||
} | ||
|
||
class Package { | ||
List<String> markdown; | ||
String name; | ||
String repoUser; | ||
String repoName; | ||
String homepage; | ||
double score; | ||
} | ||
|
||
Future<String> compileCategory(String category) async { | ||
var directory = Directory('../packages/$category'); | ||
var packageFiles = | ||
directory.listSync().where((it) => it.path.endsWith('.md')); | ||
var asyncPackages = $(packageFiles).map(loadPackage); | ||
var packages = (await Future.wait(asyncPackages)).toList(); | ||
packages.sort((a, b) => -a.score.compareTo(b.score)); | ||
|
||
var markdown = "# $category\n"; | ||
for (int i = 0; i < packages.length; i++) { | ||
if (i > 0) { | ||
markdown += "\n\n---\n"; | ||
} | ||
markdown += "\n" + buildPackageMarkdown(packages[i]); | ||
} | ||
|
||
return markdown; | ||
} | ||
|
||
Future<Package> loadPackage(FileSystemEntity packageFile) async { | ||
var package = Package(); | ||
package.markdown = await (packageFile as File).readAsLines(); | ||
var properties = readProperties(package.markdown); | ||
|
||
var fileName = $(packageFile.path.split('/')).last; | ||
package.name = fileName.substring(0, fileName.length - 3); | ||
|
||
if (properties.containsKey('github')) { | ||
var github = properties['github'].split(':'); | ||
package.repoUser = github[0]; | ||
package.repoName = github[1]; | ||
package.homepage = | ||
'https://github.com/${package.repoUser}/${package.repoName}'; | ||
} else { | ||
var pubResponse = await http.get( | ||
Uri.parse('https://pub.dartlang.org/api/packages/${package.name}/')); | ||
var pubJson = jsonDecode(pubResponse.body); | ||
var pubspec = pubJson['latest']['pubspec']; | ||
package.homepage = pubspec['repository'] ?? pubspec['homepage']; | ||
var homepageUri = Uri.parse(package.homepage); | ||
assert(homepageUri.host == 'github.com'); | ||
package.repoUser = homepageUri.pathSegments[0]; | ||
package.repoName = homepageUri.pathSegments[1]; | ||
} | ||
|
||
if (properties.containsKey('homepage')) { | ||
package.homepage = properties['homepage']; | ||
} | ||
|
||
var score = await http.get(Uri.parse( | ||
'https://pub.dartlang.org/api/packages/${package.name}/metrics')); | ||
var scoreJson = jsonDecode(score.body); | ||
package.score = scoreJson['scorecard']['overallScore']; | ||
|
||
return package; | ||
} | ||
|
||
Map<String, String> readProperties(List<String> markdown) { | ||
var properties = Map<String, String>(); | ||
for (var line in markdown) { | ||
var trimmed = line.trim(); | ||
if (trimmed.startsWith('<!--')) { | ||
var lineWithoutComment = trimmed.substring(4, trimmed.length - 3); | ||
var components = lineWithoutComment.split(':'); | ||
var key = components[0]; | ||
components.removeAt(0); | ||
properties[key] = components.join(':'); | ||
} else { | ||
break; | ||
} | ||
} | ||
|
||
for (int i = 0; i < properties.length; i++) { | ||
markdown.removeAt(0); | ||
} | ||
|
||
return properties; | ||
} | ||
|
||
String pubBadge(Package package) { | ||
return "[](https://pub.dartlang.org/packages/${package.name})"; | ||
} | ||
|
||
String lastCommitBadge(Package package) { | ||
return "[](${package.homepage})"; | ||
} | ||
|
||
String starsBadge(Package package) { | ||
return "[](${package.homepage})"; | ||
} | ||
|
||
String buildPackageMarkdown(Package package) { | ||
assert(package.markdown[0].trimLeft().startsWith('## ')); | ||
var firstLine = package.markdown[0].trimRight(); | ||
package.markdown[0] = | ||
"$firstLine ${pubBadge(package)} ${lastCommitBadge(package)} ${starsBadge(package)}"; | ||
return package.markdown.join("\n"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
name: awesome_compiler | ||
version: 1.0.0 | ||
description: | ||
author: Simon Leier <[email protected]> | ||
homepage: https://github.com/leisim/awesome-flutter-plugins | ||
environment: | ||
sdk: '>=2.0.0 <3.0.0' | ||
dependencies: | ||
http: ^0.11.3+16 | ||
superpower: ^0.4.0 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
## Animated Text Kit | ||
|
||
A flutter package project which contains a collection of cool and beautiful text animations. | ||
|
||
<p> | ||
<img src="images/animated_text_kit1.gif" /> | ||
<img src="images/animated_text_kit2.gif" /> | ||
<img src="images/animated_text_kit3.gif" /> | ||
<img src="images/animated_text_kit4.gif" /> | ||
</p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## drawing_animation | ||
|
||
An dart-only library for gradually painting SVG path objects on canvas (drawing line animation). | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
## flame | ||
|
||
A minimalist Flutter game engine, provides a nice set of somewhat independent modules you can choose from. | ||
|
||
```dart | ||
import 'package:flame/components/component.dart'; | ||
Sprite sprite = new Sprite('player.png'); | ||
const size = 128.0; | ||
final player = new SpriteComponent.fromSprite(size, size, sprite); // width, height, sprite | ||
player.x = ... // 0 by default | ||
player.y = ... // 0 by default | ||
player.angle = ... // 0 by default | ||
// on your render method... | ||
player.render(canvas); | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
## flip_card | ||
|
||
A component that provides flip card animation. It could be used for hide and show details of a product. | ||
|
||
<p> | ||
<img src="images/flip_card1.gif" width="250" /> | ||
<img src="images/flip_card2.gif" width="250" /> | ||
</p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
## flip_panel | ||
|
||
A package for flip panel with built-in animation. | ||
|
||
<p> | ||
<img src="images/flip_panel1.gif" width="250" /> | ||
<img src="images/flip_panel2.gif" width="250" /> | ||
</p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
## flutter_sequence_animation | ||
|
||
Composite together any animation with this robust and simple to use package. | ||
|
||
<p> | ||
<img src="images/flutter_sequence_animation1.gif" width="250" /> | ||
<img src="images/flutter_sequence_animation2.gif" width="250" /> | ||
</p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## ✨Flutter Spinkit | ||
|
||
A collection of loading indicators animated with flutter. | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## flutter_villains | ||
|
||
Page transitions with just a few lines of code. What are heroes without villains? | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## fluttie: Lottie for flutter | ||
|
||
Fluttie allows you to easily display stunning Lottie animations in flutter. | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Flutter Page Transition Package | ||
|
||
This package gives you beautiful page transitions. | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Shimmer | ||
|
||
A package provides an easy way to add shimmer effect in Flutter project. | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<!--github:spritewidget:spritewidget--> | ||
## spritewidget | ||
|
||
SpriteWidget is a toolkit for building complex, high performance animations and 2D games with Flutter. Your sprite render tree lives inside a widget that mixes seamlessly with other Flutter and Material widgets. You can use SpriteWidget to create anything from an animated icon to a full fledged game. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Wave | ||
|
||
Widget for displaying waves with custom color, duration, floating and blur effects. | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
## audioplayer | ||
|
||
A flutter plugin to play audio files | ||
|
||
```dart | ||
AudioPlayer audioPlugin = new AudioPlayer(); | ||
audioPlayer.play(kUrl); | ||
audioPlayer.pause(); | ||
audioPlayer.stop(); | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
## audioplayers | ||
|
||
A Flutter plugin to play multiple audio files simultaneously (Android/iOS). | ||
|
||
<p> | ||
<img src="images/audioplayers1.jpg" /> | ||
<img src="images/audioplayers2.jpg" /> | ||
<img src="images/audioplayers3.jpg" /> | ||
</p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
## chewie | ||
|
||
The video player for Flutter with a heart of gold. | ||
|
||
The video_player plugin provides low-level access to video playback. Chewie uses the video_player under the hood and wraps it in a friendly Material or Cupertino UI! | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Flutter Sound | ||
|
||
This plugin provides simple recorder and player functionalities for both Android and iOS. | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Video Player (Flutter Team) | ||
|
||
A Flutter plugin for iOS and Android for playing back video on a Widget surface. | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
## connectivity (Flutter Team) | ||
|
||
This plugin allows Flutter apps to discover network connectivity and configure themselves accordingly. It can distinguish between cellular vs WiFi connection. This plugin works for iOS and Android. | ||
|
||
```dart | ||
import 'package:connectivity/connectivity.dart'; | ||
var connectivityResult = await (Connectivity().checkConnectivity()); | ||
if (connectivityResult == ConnectivityResult.mobile) { | ||
// I am connected to a mobile network. | ||
} else if (connectivityResult == ConnectivityResult.wifi) { | ||
// I am connected to a wifi network. | ||
} | ||
``` |
Oops, something went wrong.