что написано на flutter

Что такое Flutter и почему вы должны изучать его в 2020 году

Привет, Хабр! Представляю вашему вниманию перевод статьи: «What is Flutter and Why You Should Learn It in 2020» автора Gaël Thomas.

Что такое Flutter?

Flutter — бесплатный и открытый набор средств разработки мобильного пользовательского интерфейса, созданный компанией Google и выпущенный в мае 2017 года. Проще говоря, с помощью Flutter возможно создать собственное мобильное приложение с одним массивом кода. Это означает, что для создания двух приложений (IOS и Android) можно использовать единый язык программирования и одну базу кода.

Flutter нацелен на две важные вещи:

Для разработки с Flutter используется язык программирования под названием Dart. Это также язык Google, созданный в октябре 2011 года, но значительно улучшившийся в последние годы.

Dart фокусируется на развитии вёрстки веб-страниц; его можно с легкостью использовать для создания мобильных и веб-приложений.

Я приведу пару причин, почему мне нравится Flutter и я предпочту использовать его в следующем году.

Простое обучение и развитие

Flutter — современная платформа! С его помощью намного легче создавать мобильные приложения. Если вы пользовались Java, Swift или React Native, то знайте: Flutter представляет собой немного другое.

Лично мне никогда не нравилась разработка мобильных приложений до того, как я начал использовать Flutter.

Что мне нравится во Flutter? Так это то, что можно написать нативное приложение без кучи кода.

Быстрая компиляция: максимум производительности

Благодаря Flutter, вы можете изменять свой код и видеть результаты в реальном времени. Это называется Hot-Reload. Для обновления самого приложения требуется совсем немного времени. Некоторые значительные модификации могут перезагрузить приложение, но если вы работаете, как дизайнер, например, изменяете размер элементов, то это возможно просто в режиме Hot-Reload!

Идеально подходит для запуска MVP (Минимально жизнеспособный продукт)

Если вам нужно представить свой продукт инвесторам как можно скорее, вы можете использовать Flutter!

4 основные причины использовать Flutter для вашего MVP:

Растущее сообщество

У Flutter классное, мощное сообщество, и это только начало!

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

Когда я начал использовать Flutter, первое, к чему я приступил, искал сообщества, и был удивлен… Существует просто огромное количество ресурсов для обмена опытом и общения!

Поддержка Android Studio и VS Code

Flutter доступен в различных IDE. Два основных редактора кода и разработки с помощью этой технологией — Android Studio (IntelliJ) и VS Code.

Android Studio — это полноценное программное обеспечение, где все нужное уже интегрировано; для запуска необходимо загрузить плагины Flutter и Dart.

VS Code — простой инструмент, все конфигурируется через плагины с маркетплейса.

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

Но вы можете выбрать предпочтительную вам среду IDE!

Фриланс

Если вы хотите начать с фриланса, вам стоит задуматься о Flutter!

В 2020 году эта технология должна выстрелить. Много компаний собирается искать разработчиков в этой сфере.

Крупнейшая во Франции платформа для фрилансеров под названием Malt недавно опубликовала технологические тенденции этого года. Flutter возрос на 303% на этой платформе в период с 2018 по 2019 год.

Заключение

Надеюсь, что это введение в технологию вас заинтересовало и мотивировало. Что вы думаете о Flutter? Захотели попробовать его в следующем году?

Источник

Flutter вот-вот завоюет Web

Кроссплатформенный фреймворк дает самый привлекательный опыт для веб-разработки.

Современные Web-сайты пишутся на HTML, JavaScript и CSS (и этот сайт в том числе). Наверно, вы сейчас прочитали это и подумали «да это же очевидно». А если я вам скажу, что можно написать сайт без использования этих трех технологий, у вас наверняка возникнут вопросы…

Но давайте сначала отвлечемся чтобы понять, что общего было у всех этих попыток:

Для запуска нужен был плагин браузера. Обычно нужен был плагин браузера для запуска на соответствующей платформе. Хороший пример – Silverlight. В то время те, кто использовал Linux, не могли смотреть Netflix, так как сайту нужен был плагин Silverlight (который не был доступен для Linux). Конечно, были альтернативные, open source варианты, но среди них не было ничего стоящего.

Они представляли угрозу для системы безопасности. Flash был печально известен этим (более 1000 известных уязвимостей). Браузер обязательно должен был загрузить плагин для отображения содержимого, и в этот самый момент ни одна из гарантий безопасности браузера уже не имела значения, так как плагин имел полный доступ к хосту.

Производительность была не так хороша, как у чистового HTML. Зачем грузить плагин, чтобы отобразить в нем некоторый текст, если можно использовать чистый HTML и CSS, которые гораздо быстрее?

Появился HTML5, и CSS стал лучше. Внезапно создание чего-то прекрасного и захватывающего перестало быть невозможным. И, что еще лучше, браузеры, которые ненавидели стандарты, использовали странные хаки или специфичные для конкретного браузера реализации, вместо их CSS-эквивалентов (как например, Internet Explorer) были попросту уничтожены.

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

Но как мы пришли к этому? Как HTML стал основой веб-разработки в сегодняшнем процветающем веб-пространстве?

Изображение Joshua Sortino с Unsplash (https://unsplash.com/@sortino)

Рассвет новой эры

6 августа 1991 года Интернет стал доступен всему миру. Затем, пришел и ушел так называемый пузырь доткомов, Представьте себе, что Интернет для общего пользования появился только в 1991 году, а девять лет спустя лопнул пузырь доткомов, стоивший 1,7 триллиона долларов (это примерно 15% ВВП США на тот момент)!

Это было время, когда веб начинал становиться все более и более организованным, и способ, которым мы писали веб-сайты, становился все более стандартизированным. Со временем мы выработали стандарты, такие как HTML4, и эти стандарты гарантировали, что HTML, который вы пишете в одной части мира, будет работать для большинства, если не для всех, интерпретаторов HTML. Каскадные таблицы стилей (CSS) вошли в обращение в 1996 году, а годом ранее появился JavaScript. Можете ли вы представить себе, что видите или используете веб-сайт без JavaScript или CSS? Боюсь это произвело бы на вас не лучшее впечатление.

Читайте также:  микроаденома аденогипофиза что это такое

Но на протяжении всей истории определенные вещи в вебе оставались неизменными. Хотя, по правде говоря, многое должно было быть изменено. Но никто не захочет вносить существенные изменения в стандарт HTML без весомой на то причины. Поэтому изменения большей части того, как работает веб, не происходили и вероятнее всего не произойдут и в будущих версиях. В результате мы получаем веб в том виде, в каком он есть сегодня. Что же именно он в себя включает?

Документ

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

Изображение Pankaj Patel on Unsplash (https://unsplash.com/@pankajpatel)

Изучение языков

Чтобы создать простой веб-сайт, вам необходимы три разных языка, и это только для самого сайта. Это HTML, JavaScript и CSS. А так как ваш сайт должен быть удобным и отлично выглядеть, этого не произойдет, если вы не знаете, как писать эффективный JavaScript или если ваши навыки в CSS оставляют желать лучшего.

Если вы действительно хотите, чтобы ваш сайт мог делать что угодно, вы можете использовать фреймворк типа Angular или React. Когда вы начнете добавлять пакеты через npm, размер вашего приложения начнет расти. Поэтому вы будете использовать сборщик, такой как webpack, чтобы связать все ваши пакеты вместе и соответствующим образом их минимизировать. Webpack сам по себе отдельная тема (при том огромная), но ее тоже стоит рассматривать, т.к. она играет свою не маловажную роль в создании веб-приложений.

Бандлинг и транспиляция

У вас есть веб-сайт и ваши пакеты, теперь вам нужно использовать bundler для объединения вашего приложения, а затем еще убедиться, что оно работает в нужных браузерах. В зависимости от того, какой браузер использует пользователь, вам потребуется “прокладка” для определенных функций, чтобы браузер пользователя мог отображать ваш сайт. Если вы используете такой язык, как TypeScript, webpack также преобразует его в JavaScript. В этом нет ничего плохого, но это все еще больше усложняет. Если ваш сайт ломается, возможно это вы накосячили в коде, минификация сломала его, webpack не собрал все должным образом или процесс транспиляции привел к проблеме? Все эти сложные конвейеры могут создать трудности при отладке или поиске основной причины проблем в вашем приложении.

Чем лучше Flutter?

У вас наверно уже вызвали беспокойство две вещи. Во-первых, нет HTML. Во-вторых, мы все рисуем на канве. Я понимаю — это звучит странно и, по крайней мере, рисование непосредственно на канве, не очень производительно. Но давайте углубимся в этот вопрос.

Изображение Keila Hötzel с Unsplash (https://unsplash.com/@keilahoetzel)

Рисование на канве вместо работы с документом

Если задуматься об этом, разве это не странный способ проектирования пользовательского интерфейса, ожидать, что контент будет слишком большим по вертикали, и что пользователю придется прокручивать его? Что делать, если вы хотите, чтобы пользователь прокручивал страницу слева направо, а не сверху вниз? Это уже не так просто сделать на обычной веб-странице.

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

Использование одного языка

Как уже упоминалось ранее, для создания хорошего веб-сайта, требуются знания HTML, JavaScript и CSS. Это также означает, что ваши знания не переиспользуются между этими языками, и вы не можете повторно использовать какие-либо из ваших знаний, например в JavaScript для HTML. HTML — это язык разметки, CSS — синтаксис описания стилей, а JavaScript — язык программирования. Ни один из них не поддерживает, проверку типов, поэтому, например, ваш CSS может быть неработоспособным, когда пользователь попытается открыть вашу веб-страницу.

Flutter использует Dart в качестве языка. Весь внешний вид приложения и бизнес-логика написаны на нем. Dart поставляется со статической проверкой типов данных, и скоро появится null safety (прим. переводчика: уже появился), поэтому каждая строка кода в вашем приложении, будь то визуальное описание вашего приложения, придание ему стиля или управление бизнес-логикой вашего приложения, полностью типобезопасна.

Простая компоновка вашего приложения

Контроль над каждым пикселем в области просмотра

Поскольку Flutter визуализирует каждый пиксель на экране, это дает дизайнерам и разработчикам большой контроль над тем, что именно они хотят видеть в приложении. Но рендеринг каждого пикселя на экране звучит как нечто, что будет сопровождаться большим ударом по производительности, и да, в наши дни — это, конечно, не так быстро, как рендеринг чистого HTML, но такие вещи, как канва с аппаратным (за счет GPU) ускорением, значительно повышают производительность в этой области. Традиционно проектируя веб-страницу в HTML, нужно учитывать различные браузеры, на которые вы ориентируетесь. Однако в случае с Flutter, если вы размещаете виджет Text с определенным шрифтом, он будет выглядеть одинаково, независимо от того, где он отображается, потому что Flutter контролирует, как этот конкретный виджет будет выглядеть на основе каждого пикселя.

Прощай, webpack!

Flutter использует Dart, поэтому приложение компилируется для своей целевой платформы, оно также переносит все зависимые пакеты (также написанные на Dart) в JavaScript. Dart — типобезопасный язык, который не поддерживает рефлексию, поэтому компилятор лучше понимает, что ваше приложение вызывает, а что нет. Это способствует лучшему tree-shaking (избавление от неиспользованного кода) и минификации вашего приложения. Flutter не нужен webpack для сборки приложения, что само по себе является довольно сильным аргументом в пользу Flutter (по крайней мере, на мой взгляд). В webpack нет ничего плохого; это высококачественный софт. Но это сложный инструмент и без того в сложном конвейере.

Но пока это все лишь теория

В вебе есть нечто большее чем отличные веб-страницы, великолепная анимация и прекрасный опыт взаимодействия с ними. Нам нужен серверный рендеринг (SSR), чтобы наши веб-страницы могли быть проиндексированы поисковыми системами для разных вариантов поисковой оптимизации (SEO). И на данный момент сайты Flutter интерпретируются только людьми, а не поисковыми системами, так что это оказывает огромное влияние на то, как люди ищут и находят информацию на вашем сайте (сообщество все еще работает над этим вопросом, но не похоже, что в ближайшем будущем будет найдено решение).

Читайте также:  петер слотердайк критика цинического разума

Рисование всего на канве также имеет свои последствия для производительности, но они не так плохи, как вы предполагаете. Я сделал тестовое приложение, которое интенсивно использует визуальные эффекты, и оно работает на моем MacBook со скоростью около 60 кадров в секунду. Даже когда вы тащите лист по экрану, оно все равно работает нормально, постепенно увеличивая размытие на изображении позади. Я ни в коем случае не специалист в Dart, так что, без сомнения, этот процесс можно было бы оптимизировать еще больше.

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

Представьте, если бы вы могли сделать веб-сайт, который работает быстро, и вы бы могли использовать один язык для разработки, стилей и написания бизнес-логики для вашего веб-приложения? Если бы webpack стал не нужен для вашего конвейера разработки? А если бы со временем у вас был серверный рендеринг и все те SEO-блага, которые есть сегодня у традиционных HTML-сайтов?

Если бы Flutter уже обладал всем этим, он мог бы стать непобедимым в вебе.

От переводчика:

Совсем недавно (03.03.2021) Flutter web перешёл в stable ветку! В своем первом релизе Google в первую очередь сосредоточился на вопросах производительности и улучшении точности рендеринга. Более подробно о нововведениях и изменениях можно почитать тут

Источник

«Пожалуй, Flutter я позанимаюсь в следующей жизни». Из Android во Flutter: безумие или дальновидный шаг

Авторизуйтесь

«Пожалуй, Flutter я позанимаюсь в следующей жизни». Из Android во Flutter: безумие или дальновидный шаг

В IT всё постоянно меняется. Ещё каких-то два года назад никто не воспринимал Flutter всерьёз, а сейчас многие разработчики заинтересовались этим фреймворком. В их числе Евгений Сатуров из Surf. Он был успешным Android-разработчиком, а потом перешёл на Flutter.

В интервью для Android Broadcast Евгений рассказал, как решился на смену деятельности. В этой статье мы отобразили лишь часть интервью — про первые шаги во Flutter и плюсы фреймворка. Если вам интересны технические детали, инструменты и сравнения, послушайте подкаст.

Как маленькое хобби стало работой

Евгений пять лет работал разработчиком на нативном Android. Однажды на конференции он узнал про Flutter, а через некоторое время решил попробовать написать код.

Flutter — кросс-платформа Google, которую получили в результате рефакторинга Chrome. Разработчики выпилили оттуда практически все: тонны legacy code, кучу непонятных проверок. Chrome потерял возможность рендерить HTML, но стал в 20 раз быстрее. Недолго думая, Google презентовал Flutter в качестве отдельного мобильного фреймворка. Сейчас на Flutter можно писать приложения практически на все доступные платформы.

Surf, в котором Евгений был тимлидом Android-разработчиков, исповедовал только нативную разработку. Поэтому на первых порах Flutter был просто хобби.

После релиза платформы в 2018 году в Surf начались серьёзные разговоры о том, как применить Flutter в продакшене. Так хобби начало становиться работой.

17–19 декабря, Онлайн, Беcплатно

Чтобы наработать опыт и набить руку, команда Евгения переписала на Flutter один из прошлых проектов Surf. Ребята хотели проверить, смогут ли они сделать настоящее приложение сами — с имеющимися у них на тот момент знаниями и ресурсами. Сейчас, когда Евгений смотрит на код, ему кажется, что он ужасен. Но через этот этап проходят все разработчики.

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

Проект был простой: на 15—20 экранов. В нём можно было посмотреть каталог, акции, баланс карты лояльности, оценить покупку, найти ближайший магазин на карте. Также была возможность отсканировать штрих-код товара на полке, чтобы быстро найти его в каталоге.

Пока что этот проект не вышел в публичный релиз — заказчик проводит закрытое тестирование. Тем не менее, это был отличный старт.

Сейчас у Surf в портфеле пять Flutter-проектов: и небольшие, и огромные — на 150 экранов и больше. Это приложения для ритейла, e-commerce и финтеха. Несмотря на то, что клиенты из банковской сферы достаточно консервативны, ребятам удалось донести плюсы Flutter-разработки даже до них.

Фото с мероприятия CodeFestX

Мученики и новаторы — заказчики приложений на Flutter

Не у всех компаний есть деньги, чтобы поддерживать долгосрочные нативные мобильные проекты. Особенно когда речь идет о двух больших приложениях на Android и iOS. Ведь код нужно написать, протестировать, зарелизить, поддерживать, апдейтить и так далее. Это очень и очень дорого. Поэтому так или иначе заказчики приходят к кросс-платформе — но делают это не всегда от хорошей жизни.

Евгений делит клиентов, которые интересуются Flutter, на две категории.

В обоих случаях клиентам хочется оптимизировать процессы и снизить затраты на разработку — и в этом им пригодится Flutter.

Подкапотная магия Flutter

Приложения на Flutter отличаются плавностью и разнообразием анимации, рендерингом экрана с частотой до 120fps. При этом от программиста не требуется особых усилий по специальной оптимизации кода. Евгений рассказал, за счëт чего достигается этот вау-эффект.

C технической стороны Android-сборка Flutter-приложения является Single Activity приложением. В нем есть единственный view, в котором и происходит «подкапотная магия». Само приложение подключается туда через NDK. А дальше разработчик уже работает с Dart-кодом так, как будто бы он является частью Android-приложения.

Благодаря Single activity вы получаете возможности проигрывать любые анимации перехода и прочие вещи. Android-разработчики поймут, насколько это облегчает жизнь программисту.

Ещё один плюс Flutter — упрощение жизненного цикла виджетов, который спрятан глубоко под капот. Вместо различных view-элементов, как в Android, у Flutter всё приложение — это виджет, который состоит из абсолютно иерархически идентичных виджетов (1-й экран, 2-й экран и т.д.) Внутри каждого у вас будут другие виджеты, которые представляют собой конкретные элементы: кнопки, checkbox, textview, картинки и т.д.

Читайте также:  запор что выпить срочно

Механика рендеринга Flutter очень похожа на рендеринг элементов списка в RecyclerView: у каждого элемента есть идентификатор, который вычисляется по хешам состояния. Речь именно про state, про слепок данных, который соответствует элементу интерфейса. Если при очередном такте отрисовки предыдущий state отличается от текущего, это значит, что наш UI нужно перерисовать.

Например, в некотором поле counter, которое относится к состоянию нашего виджета, было число 1, а теперь число 2. Получается, что цифру 1 нам надо перерисовать на цифру 2. В итоге виджет будет отрисован заново. Но если обнаружится соответствие наших state, то виджет никто трогать не будет. Никакой перерисовки не произойдёт.

Таким образом, мы перерисовываем только ту часть дерева виджетов, которая реально изменилась. За счёт этого достигается быстродействие Flutter-приложения.

Терминатор против робокопа: чем Dart лучше Kotlin

Android-разработчики часто спрашивают, почему во Flutter используется язык Dart, а не Kotlin, который стал глотком свежего воздуха после Java. Они даже шутят: «Если там надо точку с запятой писать обязательно, то нет, пожалуй, я Flutter в следующей жизни позанимаюсь».

Разработчики уже искали Dart на кладбище проектов Google, а в конце прошлого года внезапно обнаружили его в рейтинге самых быстрорастущих языков в мире по версии GitHub.

Евгений выделяет две причины, почему во Flutter используется Dart, а не Kotlin:

Сейчас каждая версия, каждая новая итерация приносит что-то новое. И, что ещё интересно, выход новой версии Dart привязан к выходу новой версии Flutter.

В текущих версиях идет процесс Kotlin-изации языка. Это связано с тем, что в Dart-community очень много мобильных разработчиков, которые привыкли к плюсам Kotlin. При этом им нравится Flutter, но не нравится Dart.

К счастью, разработчики Dart воспрянули духом от наплыва людей, которые захотели писать на языке, и решили, что нужно радовать публику. Поэтому время от времени они выкатывают фичи, которые все так просят. К примеру, в версии 2.7 появились extension-функции. Null-Safety уже в работе и выглядит точь-в-точь, как в Kotlin: синтаксис идентичен, с виду всё абсолютно так же. Extensions чуточку отличаются, но несущественно.

Команда Dart идет на диалог на GitHub. У языка есть открытый репозиторий dart-lang, где происходит разработка и предлагаются новые фичи. Есть публичный Roadmap, где перечислены планы на ближайшие версии и обозримое будущее.

Архитектура Flutter: ваниль, хардкор и ящички

Когда появился Android, про архитектуру вообще мало кто слышал. Приложения достаточно долго писались без какой-то глубокой архитектурной мысли: вот activity, пишем там код бизнес-логики. Лет пять назад начали внедрять Model-View-Presenter архитектуру (МVP). Потом Model-View-View Model (MVVM), потом другие архитектуры.

Фото Сергея Короткова

Во Flutter комьюнити пришло уже с серьёзным багажом знаний. Нормой стало писать приложения на 100+ экранов командой из 10+ человек — без архитектуры тут никак. В сообществе популярны несколько паттернов.

Во Flutter-команде Surf есть собственный архитектурный модуль. Он базируется на идее, которую ребята позаимствовали из Android-проектов. На его основе можно очень быстро развернуть и начать писать приложение с удобной архитектурой.

Евгений говорит, что во Flutter можно реализовать всё что угодно — любую концепцию, которая вам близка. При этом лучше опираться на нужды проекта и поменьше думать о том, что «на Android надо было бы сделать вот так».

Flutter — новая технология. На рынке труда ничтожно мало разработчиков: по ключевому слову «Flutter» — около 160 резюме на всё СНГ. Из них подавляющее большинство — самоучки и люди с самым разным бэкграундом. В команде Surf есть люди, пришедшие во Flutter из React Native, Spring, Delphi и т.д. Это отличный шанс войти в новую технологию на начальном этапе и быстро стать востребованным специалистом. Конкуренция почти нулевая.

Переход на Flutter — это возможность изучить что-то новое и получить толчок к развитию. Обычно в разработке используются наработанные решения. C каждым проектом процесс становится примитивнее: реже появляются мысли копать глубже, узнавать, как всё работает. Начинается гонка за скоростью. Это неплохо с точки зрения бизнеса, но тормозит профессиональное развитие: технологии быстро меняются, а разработчик застревает на месте.

Изображение Евгения Сатурова

Хочу во Flutter, что дальше

Бытует мнение, что, изучив Dart и фреймворк, можно быстро начать писать Flutter-приложения любой сложности. Это серьезное заблуждение. Для сложных кросс-платформенных проектов нужны знания в iOS и Android. Всегда будут какие-то платформенные возможности устройств, с которыми нужно работать по-особенному, писать уникальный код для управления интерфейсами девайса. Изучение всех этих нюансов требует значительного количества времени.

Если вы решите дать Flutter шанс, то мы рекомендуем начать с пары простых вещей.

Во-первых, нужно изучить Dart. Синтаксис похож на все остальные объектно-ориентированные языки. Например, перейдя с Java на Dart вы, скорее всего, даже немножко воспрянете духом. С другой стороны, перейдя с Kotlin на Dart, вы почувствуете лёгкий даунгрейд.

Рекомендуем посмотреть Language Tour на официальном сайте Dart — это поможет быстро сориентироваться, познакомиться с основными конструкциями и особенностями языка. Также там есть DartPad (онлайн Code Editor), где можно запускать сниппеты и смотреть результаты.

Во-вторых, познакомьтесь с Flutter. У фреймворка просто феноменальная документация, написанная с большой любовью. Её можно читать, как книгу. Переходя по ссылкам и якорям туда-сюда, вы постепенно изучите всё, что нужно для старта. Есть даже Cookbook c конкретным примерами: поработать с сетью, кинуть запрос на сервер, скачать картинку, показать её, поработать с GPS, с камерой и так далее — всё подробно описано.

У Flutter есть публичное хранилище библиотек, и сообщество активно им пользуется. Если вам не удалось найти подходящий пакет там, значит, его попросту нет.

Ежедневно там появляются десятки новых библиотек самого разного качества. Чтобы отделить зерна от плевел, Google ввёл две программы сертификации.

В хранилище — порядка 15-20 тысяч библиотек, и доверенных авторов достаточно много. Но лучших библиотек — около 15 штук на весь паб.

Хотите узнать больше про технические фишки Flutter — советуем прочитать вводную статью Евгения Сатурова и Артёма Зайцева «Flutter — новый взгляд на кроссплатформенную разработку».

Чтобы быть в курсе трендов Flutter и поближе познакомиться с комьюнити, рекомендуем подписаться на Flutter Dev Podcast, который Евгений Сатуров ведёт с коллегами.

Источник

Образовательный портал