slidy2 1.5.2 slidy2: ^1.5.2 copied to clipboard
Just a slidy2 fork with Get support
Acesse a documentação em Português-Brasil
slidy2 #
CLI package manager and template generator for Flutter. Generate Modules, Pages, Widgets, BLoCs, Controllers and tests.
slidy2 supports rxBLoC, flutter_bloc and mobx.
Why should I use? #
slidy2's goal is to help you structure your project in a standardized way. Organizing your app in Modules formed by pages, repositories, widgets, BloCs, and also create unit tests automatically. The Module gives you a easier way to inject dependencies and blocs, including automatic dispose. Also helps you installing the dependencies and packages, updating and removing them. The best is that you can do all of this running a single command.
Motivations #
We realized that the project pattern absence is affecting the productivity of most developers, so we're proposing a development pattern along with a tool that imitates NPM (NodeJS) functionality as well as template generation capabilities (similar to Scaffold ).
About the Proposed Pattern #
The structure that slidy2 offers you, it's similar to MVC, where a page keeps it's own business logic classes(BloC).
We recommend you to use get_modular when structuring with slidy2. It offers you the module structure(extending the ModuleWidget) and dependency/bloc injection, or you will probably get an error.
To understand get_modular, take a look at the README.
We also use the Repository Pattern, so the folder structure it's organized in local modules and a global module. The dependencies(repositories, BloCs, models, etc) can be accessed throughout the application.
Sample folder structure generated by slidy2:
Installation #
-
First of all you need install the Dart:
-
Activate the slidy2 using the pub:
pub global activate slidy2
- Type
slidy2 --version
to make sure everything is working properly. This command should return the installed version.
Commands: #
upgrade: #
Updates slidy2's version:
slidy2 upgrade
create: #
Create a new project with same structure describe in start command.
slidy2 create **myproject**
start: #
Create the basic structure of your project existing (make sure that your "lib" folder it's empty).
slidy2 start
Then choose your provider:
Then choose your State Manager:
Mobx
And you will get this Structure:
Flutter Bloc:
And you will get this Structure:
Bloc With RxDart
And you will get this Structure:
If you have the flutter_bloc or flutter_mobx package in pubspec, the generation of pages, widgets, and bloc defaults to the installed manager default.
Options
The command allows to specify provider and state manager using the following options:
- Provider:
-p <provider_name>
Options:
get_modular / bloc_pattern
Example:
slidy2 start -p get_modular
- State manager:
-s <state_manager_name>
Options:
mobx / flutter_bloc / rxdart
Example:
slidy2 start -s mobx
- Provider and state manager:
slidy2 start -p get_modular -s mobx
This command asks for permission to erase lib folder. If you don't want to see the warning, type the -e (erase) flag:
slidy2 start -p get_modular -s mobx -e
run: #
Runs the scripts in pubspec.yaml:
slidy2 run open_folder
install: #
Installs or update the packages in dependencies:
slidy2 install rxdart dio bloc_pattern
or you can just use the i command (both are the same)
slidy2 i rxdart dio bloc_pattern
Install packages as dev_dependency:
slidy2 i mockito --dev
uninstall: #
Removes a package
slidy2 uninstall dio
You can also remove a dev_dependency using the flag --dev
generate: #
Creates a module, page, widget or repository including its BloC class.
NOTE: You can replace "g" with "generate" command.
Creates a new module:
slidy2 g module folder_name
or
slidy2 g m folder_name
NOTE: You can create a "Complete Module" with Module, Page, Bloc/Controller, tests for Page and for Bloc/Controller using the flag -c
Creates a new page + BloC:
slidy2 g page folder_name/pages
or
slidy2 g p folder_name/pages
Creates a new widget + BloC:
slidy2 g widget folder_name/widgets
or
slidy2 g w folder_name/widgets
NOTE: You can create a page or widget using its respective BLoC using the flag -b
Create a new repository
slidy2 g r folder_name/repositories
Create a new service
slidy2 g s folder_name/services
Create a new model
slidy2 g mm folder_name/model
You can also use "repository" in "r"'s place, but it will have the same function.
Unit Tests: #
Generate unit tests on the test folder for you.
slidy2 test folder_name/
Common errors: #
I cant update:
1 - First of all you need uninstall the slidy2 on Flutter
flutter pub global deactivate slidy2
2 - After you need uninstall the slidy2 on Dart
pub global deactivate slidy2
2 - And now install only in Dart
pub global activate slidy2
3 - If you don't have the Pub you will need to install Dart:
Windows:
If you got this error when trying to run the pub global activate slidy2
, then you will have to set the environment variables manually:
-
In windows search, write:
Edit System Variables
-
Then click at
Environment Variables
-
Go to
Path
-
Then click in New and add the path that appeared on your console.
If you have any doubt about setting up the system variables, watch this video.
For more details join our Telegram Group Flutterando