Быстрый старт Flutter-разработчика. Андрей Алеев
Чтение книги онлайн.
Читать онлайн книгу Быстрый старт Flutter-разработчика - Андрей Алеев страница
Цель данной книги – научить вас создавать кросс-платформенные мобильные приложения под Android и iOS на FlutterТМ. На практических примерах мы разберем основы языка Dart и базовые принципы построения FlutterТМ приложений.
Книга будет интересна нативным мобильным разработчикам, которые уже занимаются разработкой приложений, а также всем, кто желает начать писать кросс-платформенные мобильные приложения и познакомиться с языком Dart. Необходимы только базовые знания по программированию. Опыт front-end разработки придется очень кстати – с ним материал курса будет освоить гораздо проще. Тем не менее, иметь его совсем не обязательно, тем более что после освоения этой книги вы будете на один большой шаг ближе к тому, чтобы именоваться мастером front-end девелопмента.
Ученые из Оксфордского Университета выяснили, что всего лишь 400 слов покрывают 75% всех английских текстов. Это означает, что со словарным запасом в 400 самых используемых слов вы в трех случаях из четырех будете знать о чем идет речь в любом тексте. Аналогичным образом написана данная книга: она не претендует на звание учебника или полного справочника платформы FlutterТМ и языка Dart. Мы не будем разбирать по очереди каждый из виджетов в библиотеке material, не будем заучивать все ключевые слова языка Dart. Наоборот, здесь даны самые необходимые элементы, минимум, который надо знать Flutter разработчику в продакшне, то есть в приложении к решению настоящих задач: созданию мобильных приложений для реального мира.
Как работать с этой книгой
Лучше всего усваивается информация, полученная эмпирическим путем. Поэтому ожидается, что вы будете не просто пассивно читать эту книгу, а по каждому уроку напишите код и запустите приложение на двух платформах – Android и iOS.
В идеале, постарайтесь написать свое приложение, которое будет, к примеру, загружать фотки котиков из сети, или выполнять более утилитарную задачу, пусть, калькулятор. На ваш вкус. В этой книге мы будем разбирать два примера – сначала создадим простой счетчик, а затем более сложный – загрузка прогноза погоды с сайта openweathermap.org. Если вы захотите написать такое же приложение, вам потребуется API KEY с их сайта, а также API KEY Google Maps. Помимо этого, желательно иметь опыт работы с Git, Android Studio, Gradle.
Всего в книге 10 глав-уроков, первые уроки более простые, последние – более сложные и для них, возможно, потребуется больше времени. Помогать вам будет уже написанный и работающий код в репозитории проекта – https://github.com/acinonyxjubatus/flyflutter_fast_start – FlyFlutter Fast Start на гитхабе —, там для каждого урока выделена своя ветка. Старайтесь не просто копировать оттуда код, а вдумчиво писать его, только лишь сверяясь с кодом на гитхабе. Ниже вкратце приведено описание уроков, а также указаны ссылки на соответствующие ветки репозитория.
Урок 1. Запускаем Flutter [ветка lesson_1_hello_world]
Научимся запускать проект на Flutter под Android и iOS, а также совершать простейшие манипуляции с виджетами. Помимо этого, узнаем чем может быть полезен Flutter и когда на нем можно создавать приложения.
Урок 2. Язык программирования Dart
Обзорно пройдемся по основным возможностям и правилам языка Dart
Урок 3. StatelessWidget и StatefulWidget [ветки lesson_3_1_stateless_widget, lesson_3_1_stateful_widget]
Научимся создавать Stateless и StatefulWidget-ы. Узнаем про состояния виджетов, попробуем ими манипулировать. Также узнаем, как декорировать и выравнивать виджеты.
Урок 4. Создание списка элементов [ветка lesson_4_listivew]
Познакомимся с ListView, узнаем какие есть способы его создания. Полученные знания применим для создания списка с прогнозами погоды.
Урок 5. Загрузка данных с сервера [ветка lesson_5_http]
Узнаем как можно выполнить асинхронную работу во Flutter. Сделаем запрос на сервер, получим, распарсим и покажем полученную информацию на клиенте. Таким образом, создадим полноценное клиент-серверное приложение.
Урок 6. Inherited Widgets, Elements, Keys [ветка lesson_6_inherited]
Узнаем, что такое Inherited Widget, а также на примере посмотрим как он работает. Разоберемся с тем, что такое Element-ы и как они работают. Помимо этого, мы познакомимся с ключами Keys и узнаем когда и как их нужно использовать.
Урок 7. Навигация между экранами, Работа с Google Maps [ветка lesson_7_navigation_maps]
Научимся переключать экраны с помощью Navigator-а. Сможем подключить и показать карты от Google Maps в приложении, а также подключим дополнительный необходимый