How to create new project in Flutter using terminal

create new flutter project using terminal

Flutter, an open-source UI software development kit, has taken the software development world by storm. With its ability to create stunning, natively compiled applications for mobile, web, and desktop from a single codebase, Flutter has become a favorite among developers. In this comprehensive guide, we’ll walk you through the entire process of setting up your Flutter environment and initiating your first Flutter project, all using the power of the terminal.

Setting Up Your Flutter Environment

Let’s dive right in and get your development environment ready for some Flutter magic. Whether you’re on Windows, macOS, or Linux, we’ve got you covered. Follow these detailed steps to ensure a seamless setup:

Step 1: Install Flutter and Dart SDKs

To begin, head over to the official Flutter website ( and locate the installation guide tailored to your specific operating system. Follow the step-by-step instructions provided to download and install both Flutter and Dart SDKs onto your machine.

Step 2: Adding Flutter to System PATH

To make Flutter commands accessible from any directory in your terminal, you need to add the Flutter bin directory to your system’s PATH. This involves modifying your system’s environment variables. Here’s how you do it:

  1. Find the directory where you’ve installed Flutter. It’s typically named flutter.
  2. Copy the complete path of the flutter/bin directory.
  3. Open your system’s environment variables settings.
  4. Locate the Path variable and click “Edit.”
  5. Add a new entry and paste the copied path.
  6. Click “OK” to save your changes.

Step 3: Choosing a Code Editor

While you have the flexibility to choose any code editor, Visual Studio Code (VS Code) is widely recommended for Flutter development due to its robust extensions and compatibility. Here’s how to set up VS Code for Flutter:

  1. Download and install Visual Studio Code from
  2. Launch VS Code and navigate to the Extensions view by clicking on the square icon in the sidebar or pressing Ctrl+Shift+X.
  3. Search for “Flutter” and “Dart” extensions. Install both extensions by clicking the “Install” button.
  4. Once installed, you’ll see additional options and functionality specifically tailored for Flutter development.

With your environment now set up, you’re ready to kick off your Flutter journey!

Initializing Your First Flutter Project

Congratulations, you’re about to create your very first Flutter project! This is where the excitement truly begins. Let’s walk through each step to ensure you’re on the right track:

Step 1: Opening the Terminal

To open the terminal on your operating system, follow these quick steps:

  • Windows: Press Win + X and select “Windows Terminal” or “Command Prompt.”
  • macOS: Press Command + Space, search for “Terminal,” and press Enter.
  • Linux: Press Ctrl + Alt + T.

Step 2: Navigating to Your Project Directory

Using the terminal, navigate to the directory where you want to create your Flutter project. For instance, if you’d like to create your project in the “Projects” directory within your user folder, you’d type:

Replace Projects with the name of your desired directory.

Step 3: Initiating the Project

With your terminal pointed to the desired directory, it’s time to create your Flutter project. Enter the following command, replacing my_first_app with the name you want for your project:

flutter create my_first_app

Flutter will swiftly generate the necessary files and directories for your project.

Understanding Your Project’s Structure and Files

Before we delve further into the development process, let’s take a moment to understand the structure of a Flutter project and the significance of key files and directories:

‘lib/main.dart’: Where the Magic Begins

In the heart of your Flutter project lies the lib/main.dart file. This is the entry point of your application, where the execution begins. Think of it as the director’s chair, setting the stage for the grand performance.

‘pubspec.yaml’: Blueprint of Your App

Consider the pubspec.yaml file your app’s blueprint. Here, you’ll define essential project information such as dependencies, versioning, and metadata. Flutter uses this file to manage your project’s packages and assets.

‘android’ and ‘ios’ Directories: Platform-specific Resources

The ‘android’ and ‘ios’ directories house platform-specific resources and configurations for Android and iOS, respectively. It’s akin to having separate backstage areas for different acts of a play, ensuring each platform gets its moment in the spotlight.

Now that you’re acquainted with your project’s layout, let’s move on to running your Flutter app!

Launching Your Flutter Project

It’s time to witness the culmination of your efforts as you launch your Flutter project on a connected device or emulator. Follow these steps to make your creation come to life:

Step 1: Navigating to Your Project

Navigate to your project directory using the terminal. If your project is in the “my_first_app” directory within “Projects,” you’d execute:

cd ~/Projects/my_first_app

Remember, the terminal is your gateway to the world of Flutter development!

Step 2: Let the Flutter Flow

With your terminal set to the right directory, type the following command to launch your Flutter app:

As you press Enter, watch with excitement as your app springs to life on your connected device or emulator. It’s as if the curtain is rising on your app’s opening night!

Troubleshooting Hiccups

Occasionally, even the most mesmerizing performances encounter hiccups. If you encounter errors during the ‘flutter run’ process, don’t fret. Here are a few common troubleshooting steps:

  • Ensure your device or emulator is correctly set up and recognized by Flutter.
  • Double-check that your project’s dependencies in the ‘pubspec.yaml’ file are correctly specified.
  • Consult the official Flutter documentation or online forums for guidance on specific error messages.

Remember, every hiccup is an opportunity to learn and grow as a developer. Embrace the challenges!

Diving into Starter Code

Now that your app is running successfully, it’s time to explore the starter code provided by Flutter. Open the ‘lib/main.dart‘ file in your preferred code editor and let’s unravel the mysteries together:

Understanding the Main Components

As you peer into the ‘main.dart’ file, you’ll encounter two critical elements: the ‘main()’ function and the ‘MaterialApp’ widget.

  • main() Function: This function serves as the entry point of your Flutter app. It’s like the opening scene of a play, setting the tone for everything that follows.
  • MaterialApp Widget: Think of this widget as the stage on which your app performs. It provides essential elements for creating a Material Design app, ensuring a cohesive and visually pleasing user experience.

Together, the ‘main()‘ function and ‘MaterialApp‘ widget lay the foundation for your app’s architecture, guiding its behavior and appearance.

Hot Reload: Your Secret Weapon

Flutter’s ‘hot reload’ feature is your secret weapon for rapid development. It’s like having a magical spell that instantly applies your code changes without restarting your app. As you make edits to your code, simply save the file and watch as your app updates in real-time, preserving its state and speeding up your development process.

Imagine ‘hot reload’ as a masterful illusionist, effortlessly transforming your code into visible changes with a flick of the wrist. It’s a tool that empowers you to iterate and experiment with your app’s design and functionality.

Adding Your Own Features

With a solid grasp of your project’s structure and the basics of Flutter development, it’s time to add your own creative touch. Let’s journey into the realm of feature addition:

Step 1: Crafting Dart Files

Flutter’s strength lies in its versatility. To create different screens or components, you’ll need to craft new Dart files. Think of each Dart file as a script for a new act in your app’s performance.

Using the terminal, create a new Dart file with a descriptive name. For example, to create a file named ‘my_screen.dart,’ execute:

Feel free to replace ‘my_screen.dart‘ with your preferred file name.

Step 2: Importing Necessary Packages

In Flutter, packages are like building blocks that add functionality to your app. To use a package, you’ll need to import it into your Dart file. The ‘pubspec.yaml’ file acts as your package manager, and the terminal is your delivery service. Here’s how it works:

  1. Open your ‘pubspec.yaml‘ file in your code editor.
  2. Under the ‘dependencies‘ section, add the package you want to use. For example, to add the popular ‘http‘ package, add:
    sdk: flutter
  http: ^0.13.3

  1. Save the ‘pubspec.yaml‘ file.
  2. Return to the terminal and run the following command to fetch the newly added package:

This command gathers all the packages listed in your ‘pubspec.yaml‘ file and makes them available for use in your project.

Step 3: Designing UI Elements and Beyond

With your Dart files and packages in place, it’s time to unleash your creativity and design stunning UI elements. Think of your app’s UI as a canvas, and each widget you add is like a brushstroke, contributing to the masterpiece.

Explore Flutter’s rich library of widgets to create buttons, text fields, images, and more. Combine them to compose intricate layouts that bring your app’s vision to life. As you code, ‘hot reload’ remains your faithful companion, allowing you to fine-tune your UI with lightning speed.

Testing Your App

A true craftsman ensures the integrity of their creation through rigorous testing. Flutter provides robust tools for unit and widget testing, enabling you to catch bugs and ensure smooth functionality. Let’s explore this essential phase of development:

Unit and Widget Tests: The Guardians of Quality

Unit tests and widget tests serve as the guardians of your app’s quality. They verify that individual units of code (functions, classes) and widgets function as expected. To create tests, follow these steps:

  1. Create a new Dart file within your project’s ‘test’ directory. For instance, if you’re testing a file named ‘my_utils.dart,’ create ‘my_utils_test.dart‘ in the ‘test’ directory.
  2. Write test cases using Flutter’s testing library. Test cases should cover various scenarios to ensure your code behaves correctly.
  3. Run tests using the terminal:

Test-Driven Development (TDD): The Path to Perfection

Test-driven development (TDD) is a powerful approach that emphasizes writing tests before writing code. It’s like constructing a blueprint before building a house. With TDD, you establish a clear roadmap for your app’s functionality, ensuring that each piece falls into place flawlessly.

TDD offers several benefits:

  • Early Bug Detection: Catch bugs at an early stage, preventing them from sneaking into your final product.
  • Confidence in Refactoring: Make changes to your code with confidence, knowing that your tests will reveal any unintended side effects.
  • Improved Design: TDD encourages modular and well-structured code, resulting in a more maintainable and extensible app.

Incorporating TDD into your workflow sets you on a path to creating robust, reliable, and future-proof applications.


Congratulations, you’ve embarked on a remarkable journey into the world of Flutter development using the terminal! We’ve covered everything from environment setup and project initiation to understanding project structure, running your app, exploring code, adding features, and testing. As you explore Flutter’s boundless potential, remember that the terminal is your trusty companion, ready to assist you at every step of your app-building adventure.

Your newfound knowledge and skills empower you to craft exceptional Flutter applications that captivate and delight users. Whether you’re building a groundbreaking mobile app, a stunning web interface, or a sleek desktop application, Flutter’s versatility and the terminal’s efficiency are your keys to success.

So go ahead, seize the opportunity to experiment, innovate, and build your unique projects with Flutter. The journey is yours to embrace, and the terminal is your passport to creative expression. Let your imagination soar, and may your Flutter endeavors be nothing short of extraordinary!

Frequently Asked Questions

Can I use a different code editor for Flutter development?

Absolutely! While Visual Studio Code is recommended for its robust integration, you can use any code editor that supports Dart and Flutter plugins. Popular alternatives include IntelliJ IDEA and Android Studio.

What if I encounter errors during ‘flutter run’?

Don’t panic! Error messages are your app’s way of communicating its needs. Consult the official Flutter documentation or seek help from the vibrant Flutter community. Often, a quick online search reveals solutions that can get you back on track.

Is ‘hot reload’ available for all types of code changes?

Indeed! ‘Hot reload’ works like magic for most code changes, allowing you to see instant results without restarting your app. From tweaking UI elements to refining logic, ‘hot reload’ is your tool for swift iteration.

Can I test my Flutter app on multiple devices?

Absolutely! Flutter empowers you to test your app on a variety of devices and emulators, ensuring consistent performance across different platforms. This versatility guarantees that your app reaches its audience seamlessly.

What are the benefits of test-driven development (TDD)?

Test-driven development offers a range of benefits for developers and projects alike. It promotes early bug detection, ensures code quality, and enhances design by encouraging modular, well-tested components. By writing tests before code, TDD provides a safety net that fosters confidence in your app’s functionality and stability.

Related Searches: how to create new project in flutter using terminal, flutter new project, create flutter new project, create new project in flutter using terminal, create flutter new project using cmd, how you can create flutter new project using terminal, create new flutter project using terminal, flutter new project using terminal, guide to create flutter new project

5/5 (1 vote)
Share to:
Scroll to Top