Преимущество Flutter в том, что вся логика работы с внешним видом приложения (UI) прописывается в коде на том же языке, что и бизнес-логика – на dart. Нет необходимости залезать в папку с ресурсами и редактировать xml верстку.
Запускаем Hello World на iOS
Мы же пишем кроссплатформенный код! Давайте запустим созданное приложение на iOS-девайсе. Для этого просто выберите подключенный iOS-девайс или эмулятор в dropdown-списке и нажмите «Запустить».
Выбор эмулятора iOS
Привет, Мир! на iOS
Экран выглядит потрясающе, однако вверху экрана мешается ненужная иконка debug, да и иконка приложения сейчас никакая. Исправим это.
Для того, чтобы убрать ленточку debug, в добавьте в MaterialApp флаг debugShowCheckedModeBanner со значением false
return MaterialApp (
debugShowCheckedModeBanner: false,
Чтобы поменять иконку, нужно добавить в pubspec. yaml пакет
dev_dependencies:
flutter_launcher_icons: ^0.7.4
Этот пакет значительно упростит нам добавление иконки для двух платформ сразу. Добавим теперь в корне проекта папку assets с иконкой, а также пропишем путь к иконке
flutter_icons:
android: «launcher_icon»
ios: true
image_path: «assets/icons/flyflutter_ic_512.webp»
не забудьте сказать flutter, чтобы смотрел папочку assets
uses-material-design: true
assets:
– assets/
– assets/icons/
После этого для генерации иконок запустите в терминале команды
flutter pub get
flutter pub run flutter_launcher_icons: main
Чтобы поменять лейбл (название иконки) приложения:
Для Android – найдите манифест в android/app/src/main/AndroidManifest. xml и добавьте в тег application строку
android: label=«FlyFlutter»
Для iOS же зайдите в Info.plist по пути ios>runner/Info.plist и для ключа укажите имя CFBundleName
Готово. Запустите снова для проверки.
Урок 2. Язык программирования Dart
В этой главе:
– Переменные, типы и область видимости
– Функции
– Конструкторы
– Наследование
– Примеси (mixin)
– Callable классы
– Дженерики
– Асинхронные функции
– Исключения
– Использование библиотек
– Компиляция
Приложения под Flutter пишутся на языке Dart. Даже сам фреймворк написан на нем. Dart – это высокоуровневый объектно-ориентированный язык программирования общего назначения с открытым исходным кодом. Был разработан в Google. Испытал влияние C, Javascript, C#, Java. В нем также как и в Java и C# присутствует garbage collector. Язык поддерживает интерфейсы, примеси (англ. Mixin), абстрактные классы, дженерики и статическую типизацию.
Dart был представлен публике в 2011 году авторами Ларсом Барком (Lars Bark) и Каспером Лундом (Kasper Lund). Релиз версии 1.0 состоялся в 2013 году, а версии 2.0 в 2018
Примечание: Здесь и далее в этом курсе мы рассматриваем Dart версии 2
Все приложения на Dart, как и на C и в Java, имеют точку входа в функции main ()
В случае, если необходимо запустить программу на Dart из командной строки, то можно использовать параметризованную main:
Переменные, типы и область видимости
Dart типобезопасный язык. В нем используется как статическая типизация на этапе компиляции, так и динамическая проверка во времени исполнения (runtime) программы. Несмотря на наличие статической типизации, указывать тип переменной необязательно. Например, все объявления и инициализации ниже корректные:
Примечание: В Dart 2 ключевое слово newстало необязательным
По умолчанию, все переменные имеют публичную область видимости. Таких привычных для Java-программистов ключевых слов, как private, protected и public в Dart нет.
Однако если добавить нижнее подчеркивание [_] к имени переменной, такая переменная будет иметь область видимости библиотеки, в которой она находится.
Читать дальше