Как стать автором
Обновить

Flutter, заводи мотор! Основы для начинающих

Приветствую, друзья. В этом блоге я делюсь знаниями, которые освоил. В этом году у меня появилась цель обучить людей, которые только собрались создавать приложения на Flutter.

Главы:

  • Настройка и установка

  • Создание проекта

  • Заключение

Настройка и установка

Переходим на страницу установки Flutter и загружаем для своей платформы.

Затем качаем Android Studio и остальные необходимые компоненты.

Я буду использовать Visual Studio Code, поэтому настраиваем необходимые библиотеки для облегчения написания кода.

  1. Библиотека Flutter для Visual Studio Code

Переходим во вкладку с библиотеками и в строке поиска вводим flutter, находим его в списке и скачиваем.

  1. Окрашивание скобок - Bracket Pair Colorizer

Эта библиотека очень помогает при разработке приложений на Flutter/Dart, поэтому рекомендую тоже установить.

  1. Задать тему для значков - Material Icon Theme

Устанавливать эту библиотеку не обязательно, но при разработке будет приятнее глазам.

Создание проекта

переходим на основную страницу и нажимаем сочетание клавиш Ctrl+Shift+P и вводим:

Flutter: New Project

Выбираем Application и далее папку, где будет находится этот проект. Называем проект только строчными буквами. Несколько слов разделяем нижним подчеркиванием. Нажимаем клавишу Enter и ждем.

Создается такой код:

import 'package:flutter/material.dart';

// main() является главной функцией
// с нее начинается выполнение приложения
void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // build отвечает за постройку класса
  @override
  Widget build(BuildContext context) {
    // MaterialApp - главный виджет приложения
    // можно заменить на CupertinoApp, если хотите, чтобы у всех элементов был стиль IOS
    return MaterialApp(
      // заголовок
      title: 'Flutter Demo',
      // theme задает цвета, шрифт и др, в следующих частях мы это изучим
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      // здесь задается главная страница для приложения
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;
// функция, которая добавляет к числу _counter + 1, при вызове
  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // это виджет для страницы и разных элементов
    return Scaffold(
      // сверху добавляется панель с текстом:
      appBar: AppBar(
        title: Text(widget.title),
      ),
      // С помощью виджета Center все элементы будут находится по центру
      body: Center(
        // Column будет вмещать в себя элементы, которые будут распологаться по вертикали
        child: Column(
          // это задает как элементы будут располагаться
          mainAxisAlignment: MainAxisAlignment.center,
          // в children вкладываются элементы
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      // добавляется кнопка, которая будет находится слева внизу, но мы сможем изменить позицию, если это нам требуется
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

Приложение будет состоять из классов, которые мы создадим, но у них будут разное расширение StatefulWidget или StatelessWidget.

Если нам понадобится менять строение элементов, данные приложения и т.п., то нам нужно использовать StatefulWidget, в остальных случаях StatelessWidget.

Заключение

В данном уроке мы установили Flutter, Visual Studio Code, Android Studio и нужные библиотеки.

В следующем уроке мы начнем изучать основы языка Dart. Когда мы изучим его, то приступим к изучению Flutter и созданию приложений.

Надеюсь я понятно объяснил. Жду Ваших комментариев и вопросов.

До встречи!

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.