DEV Community

Cover image for Comprehensive Guide to Flutter Development for macOS
happyer
happyer

Posted on

Comprehensive Guide to Flutter Development for macOS

1. Preface

Flutter has not only achieved tremendous success in the mobile development field but also started to make its mark in the Mac development domain with its support for desktop platforms. This article will provide a detailed introduction to developing with Flutter on Mac and demonstrate its application on Mac through an example. I would also like to recommend a very rare AI tool in the industry that can automatically generate Mac-side code, and the effect is very good.

2. Installing Flutter SDK

2.1. Download and Extract

First, you need to download the Flutter SDK for Mac from the official Flutter website. Visit Flutter SDK and select the appropriate package for Mac to download. After downloading, extract the files to your chosen directory, for example:

cd ~/development
unzip ~/Downloads/flutter_macos_2.2.3-stable.zip
Enter fullscreen mode Exit fullscreen mode

2.2. Environment Variable Configuration

After extracting, you need to add the Flutter commands to your environment variables so that you can use them anywhere. Open your terminal configuration file (.bash_profile, .bashrc, .zshrc, etc.) and add the following line:

export PATH="$PATH:$HOME/development/flutter/bin"
Enter fullscreen mode Exit fullscreen mode

Then, run the source command or reopen the terminal to apply the changes.

2.3. Check Dependencies

Use the following command to ensure all dependencies are installed:

flutter doctor
Enter fullscreen mode Exit fullscreen mode

The flutter doctor command will check your development environment and point out any issues that need to be resolved. Follow the prompts to install any missing tools or dependencies.

3. Configuring the Editor

3.1. Visual Studio Code

  1. Download and install Visual Studio Code.
  2. Open VS Code, go to the Extensions Marketplace, search for and install the Flutter and Dart plugins.

3.2. Android Studio

  1. Download and install Android Studio.
  2. Open Android Studio, go to Preferences, search for the Flutter plugin, and install it.

Creating and Running Your First Flutter App

3.3. Create a Project

In the terminal, run the following command to create a new Flutter project:

flutter create my_first_flutter_app
cd my_first_flutter_app
Enter fullscreen mode Exit fullscreen mode

3.4. Run the App

Make sure you have Xcode installed on your Mac and at least one simulator set up. Then, run the following command to start your app:

flutter run
Enter fullscreen mode Exit fullscreen mode

4. Developing Desktop Applications

4.1. Enable Desktop Support

Although Flutter's desktop support is still in beta, you can enable MacOS desktop support with the following command:

flutter config --enable-macos-desktop
Enter fullscreen mode Exit fullscreen mode

4.2. Add Desktop Support to an Existing Project

If you already have a Flutter project, you can add MacOS support by running the following command:

flutter create .
Enter fullscreen mode Exit fullscreen mode

4.3. Run the Desktop App

Use the following command to run your desktop app on Mac:

flutter run -d macos
Enter fullscreen mode Exit fullscreen mode

5. Packaging and Publishing

Once your app development is complete, you can use the following command to generate a release version of your Mac app:

flutter build macos
Enter fullscreen mode Exit fullscreen mode

The generated application package will be located in the build/macos/Build/Products/Release directory.

6. Example: A Simple To-Do App

Let's demonstrate the use of Flutter on Mac with a simple to-do app. This app will allow users to add, delete, and view to-do items.

6.1. Create a Project

flutter create todo_app
cd todo_app
Enter fullscreen mode Exit fullscreen mode

6.2. Add Desktop Support

flutter config --enable-macos-desktop
flutter create .
Enter fullscreen mode Exit fullscreen mode

6.3. Write Code

In the lib/main.dart file, write the following code:

import 'package:flutter/material.dart';

void main() {
  runApp(TodoApp());
}

class TodoApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Todo App',
      home: TodoList(),
    );
  }
}

class TodoList extends StatefulWidget {
  @override
  _TodoListState createState() => _TodoListState();
}

class _TodoListState extends State<TodoList> {
  final List<String> _todoItems = [];

  void _addTodoItem(String task) {
    if (task.isNotEmpty) {
      setState(() {
        _todoItems.add(task);
      });
    }
  }

  Widget _buildTodoList() {
    return ListView.builder(
      itemBuilder: (context, index) {
        if (index < _todoItems.length) {
          return _buildTodoItem(_todoItems[index]);
        }
      },
    );
  }

  Widget _buildTodoItem(String title) {
    return ListTile(
      title: Text(title),
      onTap: () {
        // Add tap event here
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Todo List')),
      body: _buildTodoList(),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          // Add new to-do item here
        },
        tooltip: 'Add task',
        child: Icon(Icons.add),
      ),
    );
  }
}
Enter fullscreen mode Exit fullscreen mode

6.4. Run the App

flutter run -d macos
Enter fullscreen mode Exit fullscreen mode

Now, you should be able to see a simple to-do app running on your Mac. Users can add new to-do items by clicking the plus button in the bottom right corner.

7. Conclusion

Through the steps above, you have learned how to develop with Flutter on Mac, and through a simple example, you have understood its basic usage. With the continuous development of the Flutter community, we can expect to see more high-quality Flutter desktop applications in the future.

Top comments (0)