DEV Community

Cover image for Flutter Starter Project, the Easy Way
Salman S
Salman S

Posted on

2

Flutter Starter Project, the Easy Way

When starting our application with Flutter, we usually use a default project from the following Flutter command.

flutter create myapp
Enter fullscreen mode Exit fullscreen mode

These default project is more than enough for a newcomer who just starting to learn development with Flutter.

However, for some who are on their journey to build a real production-ready application, this default feels a little too simple. This is where a starter project comes in.

Starter Project

Starter project is a template that we use to structure our new project.

It's usually comes with boilerplate code so we don't need to repeat ourselves (DRY) each time we start a new project.

There're many starter projects for Flutter that we can find at Github.

Most of it comes as a standalone repository that we can copy via git clone or download manually (and then setup all the necessary changes to fulfill the needs of our new app).

Most of these starter project also comes with a predefined state management that we have to use in the new project. They don't give enough freedom to choose our preferred state management from the start.

This is where F comes it.

F

Started as a simple CLI package to be used as an alternative for Flutter CLI. In its new version, F is now equipped with a command that we can use to create a starter project in Flutter.

https://pub.dev/packages/f
https://github.com/salkuadrat/f

It's as simple as using these command:

f s myapp
Enter fullscreen mode Exit fullscreen mode

By default f s command will generate a starter project with Provider. But, if we want a project with other state management (BLoC, Cubit, GetX, or Riverpod), feel free to specify it in the command.

f s --bloc myapp

f s --cubit myapp

f s --getx myapp

f s --riverpod myapp
Enter fullscreen mode Exit fullscreen mode

You can explore the examples to see the structure of starter project generated by f s command.

starter_bloc
starter_cubit
starter_getx
starter_provider
starter_riverpod

It's simple and flexible.

The goal is to make our journey with Flutter becomes better... more smooth, more comfortable, and more enjoyable.

Try it out and let us know what you think.

~ Happy Coding

👋 Kindness is contagious

Please leave your appreciation by commenting on this post!

It takes one minute and is worth it for your career.

Get started

Thank you!

Top comments (0)

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay