Binder is a web framework that can be used to create web apps and APIs .
It's like React + Express
or any combination of front-end framework (Vue, Angular, etc.) and a back-end framework (Laravel, Django, etc.). All-in-one in a very simple and powerful way. Binder 🔥 .
First of all, we need to download Binder SDK framework.
If you are using windows , download it directly here .
Add it (path to binder-sdk/bin
) in your Environment variable path .If everything is ok , if you type binder
in your CMD it will work fine , so enjoy it .
-MacOS (soon)
-Linux (soon)
Alternative (sdk/binder-bin) for others plaforms (linux and macOS users):,
You can use it by doing this:
Download Dart SDK from dart official website for your plaform and add binder-bin from binder github folder in the Dart SDK . Then, active it by doing dart pub global activate --source path binder-bin
in the root.
It works on all platforms .
If you already have an old dart sdk in your environment variable, please remove it before adding the binder one otherwise there will be a conflict. The SDK of binder already contains the SDK of Dart.
After the installation , you can use it
To create a new project , use :
binder create <project_name>
To run the project , use :
binder run
An example of project :
import 'package:binder/bootstrap.dart';
void main() {
runApp(MyApp());
}
class MyApp extends Widget {
@override
Element toElement() {
return BootstrapContainer(
child: BootstrapCenter(
child: BootstrapText('Hello World'),
),
).toElement();
}
}
If you have already used flutter, you know that flutter uses mainly two designs, the Material Design (eg: Center
, TextStyle
, Color
, Icon
) and the Cupertino (eg: CupertinoTextStyle
, CupertinoIcons
etc ...).
-
For the flutter material (the most used) we import first
package:flutter/material.dart
and there we can use widgets like ,AlertDialog
,AppBar
,Center
,Color
,TextStyle
,DatePicker
etc ... -
For the flutter cupertino (less used) we import first
package:flutter/cupertino.dart
and there we can use widgets likeCupertinoAlertDialog
,CupertinoButton
,CupertinoApp
,CupertinoColors
,CupertinoTextStyle
,CupertinoDatePicker
etc ...
It is on this principle that the framework binder was created. With binder you have access to more than 4 approaches: Material , Materialize , Bootstrap , MBootstrap (MaterialBootstrap) .
-
For the Binder Material we will import first
package:binder/material.dart
and there we can use widgets like ,Text
,Center
,Color
,TextStyle
, ... -
For the Binder Bootsrap we will import first
package:binder/bootsrap.dart
and there we can use widgets like ,BootsrapText
,BootsrapCenter
,BootsrapColor
,BootsrapTextStyle
, etc ...
Same for Materialize and MBootstrap but not stable.
Currently only Binder bootstrap is not very advanced, so for beta testers, I suggest it for now even if materialize also not bad. Bootstrap will be complete in the next few weeks. Thanks
Binder allows you to manage not only the frontend but also the backend of your site.
- To write front end, it's in
lib/main.dart
. - To write backend , it's in
bin/server.dart
.
For this release, it is not yet possible to create api and manage routing with your server but it will be possible in the next release.
You can use widgets like WebApp
(similar to MaterialApp or CupertinoApp) , Divider
, BoostrapColumn
, BoostrapRow
, BoostrapImage
, BoostrapCenter
, Center
, Text
, BoostrapText
, etc ...
100+ widgets are added or are being added actually .
In the documentaion you will see how to deploy your website , how to manipulate the routes , how to add your own html , css or javascript code , how to add firebase , mongodb or any other database .
If you want to contribute, soon it will be possible from the alpha version and once the official documentation is available.
Thank you for your future contribution.