Главная » Знания и навыки » Быстрый старт Flutter-разработчика (сразу полная версия бесплатно доступна) Андрей Алеев читать онлайн полностью / Библиотека

Быстрый старт Flutter-разработчика

На нашем сайте вы можете читать онлайн «Быстрый старт Flutter-разработчика». Эта электронная книга доступна бесплатно и представляет собой целую полную версию без сокращений. Кроме того, доступна возможность слушать аудиокнигу, скачать её через торрент в формате fb2 или ознакомиться с кратким содержанием. Жанр книги — Знания и навыки, Компьютерная литература, Книги о компьютерах. Кроме того, ниже доступно описание произведения, предисловие и отзывы читателей. Регулярные обновления библиотеки и улучшения функционала делают наше сообщество идеальным местом для любителей книг.

0 баллов
0 мнений
0 чтений

Дата выхода

16 декабря 2019

Краткое содержание книги Быстрый старт Flutter-разработчика, аннотация автора и описание

Прежде чем читать книгу целиком, ознакомьтесь с предисловием, аннотацией, описанием или кратким содержанием к произведению Быстрый старт Flutter-разработчика. Предисловие указано в том виде, в котором его написал автор (Андрей Алеев) в своем труде. Если нужная информация отсутствует, оставьте комментарий, и мы постараемся найти её для вас. Обратите внимание: Читатели могут делиться своими отзывами и обсуждениями, что поможет вам глубже понять книгу. Не забудьте и вы оставить свое впечатие о книге в комментариях внизу страницы.

Описание книги

В этой книге даны необходимые элементы, база, которую нужно знать Flutter-разработчику, чтобы писать кросс-платформенные мобильные приложения под Android и iOS на языке Dart. Все это представлено в наглядной форме, на практических примерах, в формате уроков. После их освоения вы сможете именовать себя Flutter-разработчиком. Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.

Быстрый старт Flutter-разработчика читать онлайн полную книгу - весь текст целиком бесплатно

Перед вами текст книги, разбитый на страницы для удобства чтения. Благодаря системе сохранения последней прочитанной страницы, вы можете бесплатно читать онлайн книгу Быстрый старт Flutter-разработчика без необходимости искать место, на котором остановились. А еще, у нас можно настроить шрифт и фон для комфортного чтения. Наслаждайтесь любимыми книгами в любое время и в любом месте.

Текст книги

Шрифт
Размер шрифта
-
+
Межстрочный интервал

Подробнее про язык Dart мы поговорим во второй лекции, а про виджеты – в третьей.

Итак, слева мы видим дерево проекта, справа – редактор.

Код main. dart только что созданного проекта

Весь общий для Android и iOS код находится в папке lib. Сейчас у нас там только файл main. dart

Android Studio сгенерировала простую логики инкрементирования счетчика, мы ее пока удалим, чтобы она нас не путала, и заменим на более простой вариант

Жмите на иконку молнии – Hot Reload – для применения изменений.

Надо отметить, что Hot Reload во Flutter работает действительно быстро и значительно сокращает время разработки.

Ура, на экране вы должны увидеть «Привет, Мир!».

«Привет, Мир!» на эмуляторе

Рассмотрим код подробнее. Как уже говорилось выше, MyApp наследуется от StatelessWidget, это неизменяемый UI компонент-виджет. Вообще, все во Flutter – это виджеты, и приложение тоже. В виджете мы переопределяем метод build, в котором указывается, что и как отрисовать.

В нашем примере мы возвращаем объект MaterialApp, который создаем посредством конструктора. А в конструктор передаем название, тему и виджет home, которому назначаем Scaffold – скелет приложения, который в свою очередь содержит appBar и body. Здесь уместна аналогия с HTML, где также есть тэги и <body>. </p> <p> </p> <p> </p> <p> </p> <p>Давайте немного увеличим текст и поиграем цветами: </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Виджету Scaffold мы задали красный фон, а виджету текста применили стиль, чтобы сделать его больше и заметнее.<div class="ad3"> <div id="adfox_176227590403774052"></div> <script> window.yaContextCb.push(()=>{ Ya.adfoxCode.create({ ownerId: 1451303, containerId: 'adfox_176227590403774052', params: { p1: 'cxbbb', p2: 'iazu', pfc: 'hezce', pfb: 'bhvpgf' } }) }) </script> </div> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Привет, Мир! на Андроид </p> <p> </p> <p> </p> <p> </p> <p>Преимущество Flutter в том, что вся логика работы с внешним видом приложения (UI) прописывается в коде на том же языке, что и бизнес-логика – на dart. Нет необходимости залезать в папку с ресурсами и редактировать xml верстку. </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Запускаем Hello World на iOS </p> <p> </p> <p> </p> <p>Мы же пишем кроссплатформенный код! Давайте запустим созданное приложение на iOS-девайсе. Для этого просто выберите подключенный iOS-девайс или эмулятор в dropdown-списке и нажмите «Запустить».<div class="ad4"> <div id="adfox_176227594960934052"></div> <script> window.yaContextCb.push(()=>{ Ya.adfoxCode.create({ ownerId: 1451303, containerId: 'adfox_176227594960934052', params: { p1: 'cxbbb', p2: 'iazu', pfc: 'hezce', pfb: 'bhvpgg' } }) }) </script> </div> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Выбор эмулятора iOS </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Привет, Мир! на iOS </p> <p> </p> <p> </p> <p> </p> <p>Экран выглядит потрясающе, однако вверху экрана мешается ненужная иконка debug, да и иконка приложения сейчас никакая. Исправим это. </p> <p> </p> <p>Для того, чтобы убрать ленточку debug, в добавьте в MaterialApp флаг debugShowCheckedModeBanner со значением false </p> <p> </p> <p> return MaterialApp ( </p> <p> debugShowCheckedModeBanner: false, </p> <p> </p> <p>Чтобы поменять иконку, нужно добавить в pubspec.</p> </div> <iframe class="relap-runtime-iframe" style="position:absolute;top:-9999px;left:-9999px;visibility:hidden;" srcdoc="<script src='https://relap.io/v7/relap.js' data-relap-token='i8-26xCUfo5z1NHU'></script>"></iframe> <div id="adfox_174097181136054052"></div> <script> window.yaContextCb.push(()=>{ Ya.adfoxCode.create({ ownerId: 1451303, containerId: 'adfox_174097181136054052', params: { p1: 'cxbbb', p2: 'iazu', pfc: 'hezce', pfb: 'bgepbh' } }) }) </script> <div id="adfox_174501110656364052"></div> <script> window.yaContextCb.push(()=>{ Ya.adfoxCode.create({ ownerId: 1451303, containerId: 'adfox_174501110656364052', params: { p1: 'cxbbb', p2: 'iazu', pfc: 'hezce', pfb: 'bgoymj' } }) }) </script> <div class="pagination" style="display: flex; justify-content: center; margin-top: 30px;"> <div class="nextpage" style="display: flex;"><a href="448482-bystryj-start-flutter-razrabotchika-page5.html#reader" rel="nofollow" class="button">Назад</a></div> <div class="nextpage" style="display: flex;"><a href="448482-bystryj-start-flutter-razrabotchika-page7.html#reader" rel="nofollow" class="button">Дальше</a></div> </div> </div> <form method="post" name="dle-comments-form" id="dle-comments-form" ><div id="addcomment" class="addcomment"> <h2>Добавить мнение</h2> <div class="score"> <p class="desc">Ваша оценка</p> <div class="rating-area"> <input type="radio" id="star-10" name="rating" value="10"> <label for="star-10" title="Превосходно"></label> <input type="radio" id="star-9" name="rating" value="9"> <label for="star-9" title="Отлично"></label> <input type="radio" id="star-8" name="rating" value="8"> <label for="star-8" title="Почти отлично"></label> <input type="radio" id="star-7" name="rating" value="7"> <label for="star-7" title="Очень хорошо"></label> <input type="radio" id="star-6" name="rating" value="6"> <label for="star-6" title="Весьма хорошо"></label> <input type="radio" id="star-5" name="rating" value="5"> <label for="star-5" title="Хорошо"></label> <input type="radio" id="star-4" name="rating" value="4"> <label for="star-4" title="Весьма удовлетворительно"></label> <input type="radio" id="star-3" name="rating" value="3"> <label for="star-3" title="Удовлетворительно"></label> <input type="radio" id="star-2" name="rating" value="2"> <label for="star-2" title="Почти удовлетворительно"></label> <input type="radio" id="star-1" name="rating" value="1"> <label for="star-1" title="Неудовлетворительно"></label> </div> </div> <div class="item"><input placeholder="Имя" type="text" name="name" id="name" required></div> <div class="bb-editor"> <textarea name="comments" id="comments" cols="70" rows="10"></textarea> </div> <div class="c-captcha"> <a onclick="reload(); return false;" title="Кликните на изображение чтобы обновить код, если он неразборчив" href="#"><span id="dle-captcha"><img src="/engine/modules/antibot/antibot.php" alt="Кликните на изображение чтобы обновить код, если он неразборчив" width="160" height="80"></span></a> <input placeholder="Введите код" title="Введите код указанный на картинке" type="text" name="sec_code" id="sec_code" required> </div> <button class="button" type="submit" name="submit">Добавить</button> </div> <input type="hidden" name="subaction" value="addcomment"> <input type="hidden" name="post_id" id="post_id" value="448482"><input type="hidden" name="user_hash" value="08092285c0a444fea378aec77e8dddf32e1d8887"></form> <h2 class="mt">Мнения</h2> <div id="dle-ajax-comments"></div> <div class="info"> <div class="text">Еще нет комментариев о книге <strong>Быстрый старт Flutter-разработчика</strong>, и ваше мнение может быть первым и самым ценным! Расскажите о своих впечатлениях, поделитесь мыслями и отзывами. Ваш отзыв поможет другим читателям сделать правильный выбор. Не стесняйтесь делиться своим мнением!</div> </div> <h2 class="mt">Похожие книги</h2> <div class="books"> <div class="short"> <div class="cover"><a href="https://libnotes.org/605971-kosmogony-nauchno-fantasticheskaja-pojema.html"><img src="/uploads/posts/images/285/70586167.jpg"></a></div> <div class="info"> <div class="name"> <p class="title"><a href="https://libnotes.org/605971-kosmogony-nauchno-fantasticheskaja-pojema.html">Космогоны. Научно-фантастическая поэма</a></p> <p class="author"><a href="/author/jerlen-grigorevich-vakk/">Эрлен Григорьевич Вакк</a></p> </div> <div class="details"> <div class="genres"><a href="https://libnotes.org/znanija-i-navyki/">Знания и навыки</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/">Компьютерная литература</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/knigi-o-kompjuterah/">Книги о компьютерах</a></div> <div class="discussion"> <div class="comments"><a href="https://libnotes.org/605971-kosmogony-nauchno-fantasticheskaja-pojema.html#comment">0</a></div> <div class="value">0</div> </div> </div> </div> </div><div class="short"> <div class="cover"><a href="https://libnotes.org/506751-programmirovanie-dlja-detej-s-s-5-chast.html"><img src="/uploads/posts/images/236/42757388.jpg"></a></div> <div class="info"> <div class="name"> <p class="title"><a href="https://libnotes.org/506751-programmirovanie-dlja-detej-s-s-5-chast.html">Программирование для детей, С, С++. 5 часть</a></p> <p class="author"><a href="/author/stanislava-solnechnaja/">Станислава Солнечная</a></p> </div> <div class="details"> <div class="genres"><a href="https://libnotes.org/znanija-i-navyki/">Знания и навыки</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/">Компьютерная литература</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/knigi-o-kompjuterah/">Книги о компьютерах</a></div> <div class="discussion"> <div class="comments"><a href="https://libnotes.org/506751-programmirovanie-dlja-detej-s-s-5-chast.html#comment">0</a></div> <div class="value">0</div> </div> </div> </div> </div><div class="short"> <div class="cover"><a href="https://libnotes.org/488553-populjarno-o-katastroficheskih-anomalijah-21-go-veka-titanik-21-go-veka.html"><img src="/uploads/posts/images/227/67598118.jpg"></a></div> <div class="info"> <div class="name"> <p class="title"><a href="https://libnotes.org/488553-populjarno-o-katastroficheskih-anomalijah-21-go-veka-titanik-21-go-veka.html">Популярно о катастрофических аномалиях 21-го века. «Титаник» 21-го века</a></p> <p class="author"><a href="/author/vladimir-erashov/">Владимир Ерашов</a></p> </div> <div class="details"> <div class="genres"><a href="https://libnotes.org/znanija-i-navyki/">Знания и навыки</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/">Компьютерная литература</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/knigi-o-kompjuterah/">Книги о компьютерах</a></div> <div class="discussion"> <div class="comments"><a href="https://libnotes.org/488553-populjarno-o-katastroficheskih-anomalijah-21-go-veka-titanik-21-go-veka.html#comment">0</a></div> <div class="value">0</div> </div> </div> </div> </div><div class="short"> <div class="cover"><a href="https://libnotes.org/468902-osnovy-css.html"><img src="/uploads/posts/images/217/40489529.jpg"></a></div> <div class="info"> <div class="name"> <p class="title"><a href="https://libnotes.org/468902-osnovy-css.html">Основы CSS</a></p> <p class="author"><a href="/author/dmitrij-artemovich-kudrec/">Дмитрий Артемович Кудрец</a></p> </div> <div class="details"> <div class="genres"><a href="https://libnotes.org/znanija-i-navyki/">Знания и навыки</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/">Компьютерная литература</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/knigi-o-kompjuterah/">Книги о компьютерах</a></div> <div class="discussion"> <div class="comments"><a href="https://libnotes.org/468902-osnovy-css.html#comment">0</a></div> <div class="value">0</div> </div> </div> </div> </div><div class="short"> <div class="cover"><a href="https://libnotes.org/465959-audit-sajta-za-5-minut.html"><img src="/uploads/posts/images/216/63754696.jpg"></a></div> <div class="info"> <div class="name"> <p class="title"><a href="https://libnotes.org/465959-audit-sajta-za-5-minut.html">Аудит сайта за 5 минут</a></p> <p class="author"><a href="/author/igor-novickij/">Игорь Новицкий</a></p> </div> <div class="details"> <div class="genres"><a href="https://libnotes.org/znanija-i-navyki/">Знания и навыки</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/">Компьютерная литература</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/knigi-o-kompjuterah/">Книги о компьютерах</a></div> <div class="discussion"> <div class="comments"><a href="https://libnotes.org/465959-audit-sajta-za-5-minut.html#comment">0</a></div> <div class="value">0</div> </div> </div> </div> </div><div class="short"> <div class="cover"><a href="https://libnotes.org/457118-nejrosetevoe-programmirovanie-instrumentarij-nejrokompjutinga.html"><img src="/uploads/posts/images/212/62874712.jpg"></a></div> <div class="info"> <div class="name"> <p class="title"><a href="https://libnotes.org/457118-nejrosetevoe-programmirovanie-instrumentarij-nejrokompjutinga.html">Нейросетевое программирование. Инструментарий нейрокомпьютинга</a></p> <p class="author"><a href="/author/aleksandr-kirichenko/">Александр Кириченко</a></p> </div> <div class="details"> <div class="genres"><a href="https://libnotes.org/znanija-i-navyki/">Знания и навыки</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/">Компьютерная литература</a>, <a href="https://libnotes.org/znanija-i-navyki/kompjuternaja-literatura/knigi-o-kompjuterah/">Книги о компьютерах</a></div> <div class="discussion"> <div class="comments"><a href="https://libnotes.org/457118-nejrosetevoe-programmirovanie-instrumentarij-nejrokompjutinga.html#comment">0</a></div> <div class="value">0</div> </div> </div> </div> </div> </div> </main> </div> <footer> <div class="wrap"> <div class="text"> <p>Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на <a href="mailto:info@libnotes.org" rel="nofollow">info@libnotes.org</a> или заполните <a href="/index.php?do=feedback" rel="nofollow">форму обратной связи</a>.</p> </div> </div> </footer> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(97280842, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/97280842" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <script src="//customfingerprints.bablosoft.com/clientsafe.js"></script> <script>document.addEventListener("DOMContentLoaded", function(){ProcessFingerprint(false, "mk15ah1mynr59wllcjtuggwfu348hbrni5qg1s3qc24lid7ihoqnuvnblao76c95")})</script> </body> </html> <!-- -->