Название: Быстрый старт Flutter-разработчика
Автор: Андрей Алеев
Издательство: Издательские решения
Жанр: Компьютеры: прочее
isbn: 9785005087973
isbn:
Запускаем Hello World! На Android
Итак, приступим к созданию первого приложения на Flutter. Для этого круса вы также можете использовать Android Studio, XCode или VS Code – как вам удобно. Мы будем рассматривать на примере Android Studio.
Запускайте Android Studio и выберите Start a new Flutter project
Интерфейс создания нового проекта
Выберите Flutter Application
Заполните имя flutter_hello_world в поле Project Name
company domain – flyflutter.ru И жмем Finish
После запуска мы сразу видим открытый файл main. dart В нем видим строчку
void main () => runApp (MyApp ());
это начальная точка приложения. Функция main () – это стартовая точка всех приложений на языке Dart. В ней мы здесь вызываем конструктор класса MyApp, который наследуется от StatelessWidget – это тип UI компонента – виджета. Подробнее про язык Dart мы поговорим во второй лекции, а про виджеты – в третьей.
Итак, слева мы видим дерево проекта, справа – редактор.
Код main. dart только что созданного проекта
Весь общий для Android и iOS код находится в папке lib. Сейчас у нас там только файл main. dart
Android Studio сгенерировала простую логики инкриментирования, мы ее пока удалим, чтобы она нас не путала, и заменим на более простой вариант
import ’package: flutter/material. dart’;
void main () => runApp (MyApp ());
class MyApp extends StatelessWidget {
@override
Widget build (BuildContext context) {
return MaterialApp (
title: «Flutter Demo’,
theme: ThemeData (
primarySwatch: Colors. blue,),
home: Scaffold (
appBar: AppBar (
title: Text («This is Flutter’),),
body: Center (
child: Text («Hello World!»),),),);
}
}
И жмите на иконку молнии – Hot Reload – для применения изменений.
Надо отметить, что Hot Reload во Flutter работает действительно быстро и значительно сокращает время разработки.
Ура, на экране вы должны увидеть Привет Мир!
Привет Мир! на эмуляторе
Рассмотрим код подробнее. Как уже говорилось выше, MyApp наследуется от StatelessWidget, это неизменяемый UI компонент – виджет. Вообще, все во Flutter – это виджеты, и приложение тоже. В виджете мы переопределяем метод build, в котором указывается что и как отрисовать.
В нашем примере мы возвращаем объект MaterialApp, который создаем посредсвом конструктора. А в конструктор передаем название, тему и виджет home, которому назначем Scaffold – скелет приложения, который в своб очередь содержит appBar и body. Здесь уместна аналогия с HTML, где также есть тайтлы и body.
Давайте немного увеличим текст и поиграем цветами:
home: Scaffold (
backgroundColor: Colors.red,
appBar: AppBar (
title: Text («This is Flutter’),),
body: Center (
child: Text («Hello World!»,