Если создать новый Flutter-проект из master channel, мы увидим новую директорию integration_test. Как легко догадаться из названия, лежат в ней интеграционные тесты приложения. И вместе с их появлением библиотека integration_test стала частью Flutter.
📌 Найти её можно теперь в репозитории с плагинами.
#библиотека
📌 Найти её можно теперь в репозитории с плагинами.
#библиотека
Для многих приложений важна привязка к пользователю. Для корректной работы в данном случае потребуется авторизация. Одним из популярных способов ее реализации является использование Firebase Auth.
Он предоставляет различные варианты авторизации:
👉 email и пароль;
👉 ссылка на email;
👉 по номеру телефона;
👉 Apple авторизация;
👉 Facebook авторизация;
👉 Twitter авторизация;
👉 Google авторизация;
Подробнее о том, как можно использовать возможности Firebase Auth, читайте в статье от Paul Ruiz.
#статья
Он предоставляет различные варианты авторизации:
👉 email и пароль;
👉 ссылка на email;
👉 по номеру телефона;
👉 Apple авторизация;
👉 Facebook авторизация;
👉 Twitter авторизация;
👉 Google авторизация;
Подробнее о том, как можно использовать возможности Firebase Auth, читайте в статье от Paul Ruiz.
#статья
Иногда даже хорошо написанное приложение может негативно восприниматься пользователем - ощущение дискомфорта при использовании, недоработанности. Это узкие кейсы, мешающие восприятию, работают против разработчика. Например, состояние загрузки, появляющееся на сотые доли секунды. Каждая такая ситуация портит пользовательский опыт от приложения, к тому же, причины дискомфорта не всегда очевидны. Но если вы знаете о них, считайте вы сделали большой шаг к победе над ними.
📌 О ситуациях, портящих пользовательский опыт при работе с изображениями, а также их решении, читайте в статье от Per Classon.
#статья
📌 О ситуациях, портящих пользовательский опыт при работе с изображениями, а также их решении, читайте в статье от Per Classon.
#статья
Довольно часто нужно акцентировать внимание пользователя на какой-то части интерфейса, или по шагам объяснить что-то пользователю. Это может быть полезным при:
👉 первоначальном входе, для объяснения как пользоваться приложением;
👉 редизайне, чтобы показать где искать привычные действия;
👉 обновлениях приложения, чтобы продемонстрировать новые возможности;
👉 объяснении как пользоваться какой-то уникальной особенностью приложения.
Реализовывать подобные обучения, не имея удобного механизма, весьма затратно. На помощь в этом вопросе может прийти библиотека showcaseview. Она предоставляет удобный и простой механизм, который позволит:
👉 пометить необходимые части интерфейса для подсветки и задать пояснения;
👉 выбрать последовательность показа этапов;
👉 запустить процесс демонстрации в нужный момент;
👉 отследить его окончание.
#библиотека
👉 первоначальном входе, для объяснения как пользоваться приложением;
👉 редизайне, чтобы показать где искать привычные действия;
👉 обновлениях приложения, чтобы продемонстрировать новые возможности;
👉 объяснении как пользоваться какой-то уникальной особенностью приложения.
Реализовывать подобные обучения, не имея удобного механизма, весьма затратно. На помощь в этом вопросе может прийти библиотека showcaseview. Она предоставляет удобный и простой механизм, который позволит:
👉 пометить необходимые части интерфейса для подсветки и задать пояснения;
👉 выбрать последовательность показа этапов;
👉 запустить процесс демонстрации в нужный момент;
👉 отследить его окончание.
#библиотека
Репозиторий flutter/plugins хранит в себе множество полезных плагинов, созданных непосредственно командой Flutter. Некоторые из них были улучшены, а также получили дополнительную поддержку различных платформ силами Flutter Community.
В этом списке:
👉 battery_plus;
👉 connectivity_plus;
👉 network_info_plus;
👉 device_info_plus;
👉 package_info_plus;
👉 sensors_plus;
👉 share_plus;
👉 android_alarm_manager_plus;
👉 android_intent_plus;
Найти улучшенные плагины вы можете в репозитории.
#библиотека
В этом списке:
👉 battery_plus;
👉 connectivity_plus;
👉 network_info_plus;
👉 device_info_plus;
👉 package_info_plus;
👉 sensors_plus;
👉 share_plus;
👉 android_alarm_manager_plus;
👉 android_intent_plus;
Найти улучшенные плагины вы можете в репозитории.
#библиотека
У каждого из нас есть любимые инструменты разработки. Кому то нравится Android Studio или IntelliJ IDEA, кто-то без ума от VS Code. Но любой инструмент может быть еще лучше, благодаря мощной экосистеме плагинов.
Awesome Flutter Snippets от Neevash Ramdial - плагин для VS Code, значительно ускоряющий разработку. Плагин содержит огромный набор сниппетов для создания часто используемых конструкций Dart-кода для Flutter:
👉 Stateless Widget
👉 Stateful Widget
👉 Single Child Scroll View
👉 Tween Animation Builder
👉 Test
👉 Test Widgets и многие другие
📌 Прокачайте свой VS Code при помощи Awesome Flutter Snippets.
Awesome Flutter Snippets от Neevash Ramdial - плагин для VS Code, значительно ускоряющий разработку. Плагин содержит огромный набор сниппетов для создания часто используемых конструкций Dart-кода для Flutter:
👉 Stateless Widget
👉 Stateful Widget
👉 Single Child Scroll View
👉 Tween Animation Builder
👉 Test
👉 Test Widgets и многие другие
📌 Прокачайте свой VS Code при помощи Awesome Flutter Snippets.
Продолжаем прокачивать VS Code. Приятно, когда IDE заметно помогает ускорить написание рутинного кода, например декларацию верстки. Плагин Flutter Tree от Marcelo Velasquez позволяет удобно описать требуемое поддерево, получив в результате его сгенерированную версию.
Например
в результате превратится в
Установить расширение можно из marketplace по ссылке.
Например
OneChild>MultipleChild[OneChild,MultipleChild[OneChild,OneChild],OneChild>OneChild]
в результате превратится в
OneChild(
child: MultipleChild(
children: <Widget>[
OneChild(),
MultipleChild(
children: <Widget>[
OneChild(),
OneChild(),
]
),
OneChild(
child: OneChild(),
),
]
),
)
Установить расширение можно из marketplace по ссылке.
Для каждого из нас этот год был разный, но что точно, для всех он был запоминающимся. Спросите любого через 20 лет, каким был 2020 и он сразу его вспомнит. Началось все с пандемии, и тогда это выглядело как “приключение на 20 минут, зашли и вышли”. Но не тут-то было. Приключение затянулось, и нам пришлось приспособиться - поменялись наши привычки, появились новые подходы в работе, мы стали смотреть на многие вещи просто по-другому. И это дало свои плоды, продуктивность не уменьшилась, а иногда даже возросла. Ивенты не пропали, а просто поменяли свой формат, при этом расстояние и границы перестали быть проблемой. 2020 год был продуктивным! И для меня тоже. Уже 3 месяца я веду этот канал, и мне нравится результат - то комьюнити подписчиков, которое в нем собралось. You are breathtaking! Желаю каждому из вас оставаться здоровыми - это самое главное, и чтобы следующий год стал не менее продуктивным, но более размеренным и спокойным, чем этот!
Увидимся здесь, после новогодних праздников. С наступающим!
Увидимся здесь, после новогодних праздников. С наступающим!
В Dart существует весьма полезный инструмент, при помощи которого можно автоматически улучшить ваш код. Для запуска выполните команду dart fix. Инструмент работает по 2 направлениям:
👉 исправление предупреждений анализатора, для которых существует стандартное решение;
👉 обновление кода для использования обновленных API.
Такая полезная утилита не могла остаться без внимания Flutter команды. Вероятно добавление подобной функциональности и во Flutter.
Почитать обсуждение по ссылке.
#fix
👉 исправление предупреждений анализатора, для которых существует стандартное решение;
👉 обновление кода для использования обновленных API.
Такая полезная утилита не могла остаться без внимания Flutter команды. Вероятно добавление подобной функциональности и во Flutter.
Почитать обсуждение по ссылке.
#fix
Недавно я выкладывал новость, что библиотека integration_test стала частью фреймворка. Почему так произошло, ведь во Flutter уже был механизм flutter_driver для end-to-end тестирования? Дело в том, что он имел ряд проблем, которые делали его менее эффективным, чем требовалось:
👉 тесты взаимодействуют с приложением на устройстве, что исключает использование ферм устройств, таких как Firebase Test Lab;
👉 наличие отдельного процесса затрудняет проверку состояния приложения;
👉 API flutter_driver оказался сложнее, чем ему следовало быть.
Эти проблемы получилось решить в integration_test. Подробнее прочитать в статье от Chris Sells.
#статья #тестирование
👉 тесты взаимодействуют с приложением на устройстве, что исключает использование ферм устройств, таких как Firebase Test Lab;
👉 наличие отдельного процесса затрудняет проверку состояния приложения;
👉 API flutter_driver оказался сложнее, чем ему следовало быть.
Эти проблемы получилось решить в integration_test. Подробнее прочитать в статье от Chris Sells.
#статья #тестирование
Привет!
Пока все мы потихоньку втягиваемся в рабочий ритм, поделитесь о чём хотите чаще читать на канале? Ниже опрос по основным рубрикам, а пожелания и предложения пишите в чат t.me/chat_ohmyflutter
Пока все мы потихоньку втягиваемся в рабочий ритм, поделитесь о чём хотите чаще читать на канале? Ниже опрос по основным рубрикам, а пожелания и предложения пишите в чат t.me/chat_ohmyflutter
Anonymous Poll
71%
статьи
60%
инструментарий
23%
фиксы
62%
советы
14%
тестирование
21%
вакансии
24%
события
Наверняка у каждого на диске есть каталог, где собрано много Flutter проектов. Но даже если проект запускался всего один раз, он занимает дополнительное дисковое пространство, оставляя артефакты после запуска.
Держите скрипт от jeroen-meijer, который выполняет рекурсивно flutter clean и освободит вам, вероятно, многие гигабайты 😉
PS: в случае, если вы пользуетесь Windows, придётся позаботиться о запуске .sh скриптов, а также объявить $SHELL переменную сред, хранящую путь до исполняемого файла оболочки для их запуска.
#fix
Держите скрипт от jeroen-meijer, который выполняет рекурсивно flutter clean и освободит вам, вероятно, многие гигабайты 😉
PS: в случае, если вы пользуетесь Windows, придётся позаботиться о запуске .sh скриптов, а также объявить $SHELL переменную сред, хранящую путь до исполняемого файла оболочки для их запуска.
#fix
Во Flutter из коробки имеется множество виджетов для построения различных лейаутов. Но помимо стандартных виджетов, вы можете писать свои, которые будут покрывать более узкие варианты построения макета. Один из таких вариантов — WallLayout от David Gonzalez, который вырос в библиотеку. Он будет удобен отображения большого набора прямоугольных виджетов разных размеров в единой сетку.
📌 Подробнее о том, как пользоваться библиотекой, читайте в статье от её разработчика.
#библиотека #статья
📌 Подробнее о том, как пользоваться библиотекой, читайте в статье от её разработчика.
#библиотека #статья
Приложения на Flutter всё чаще реализуют кейсы, на которые никто не решился бы выбрать кроссплатформенное решение некоторое время назад. К примеру, один из проектов студии Surf — The Hole, небольшой личный Youtube для компании MediumQuality.
А может вы захотите сделать приложение с дополненной реальностью? Flutter может!
К примеру DeepAR — платформа, которая предоставляет SDK для Snapchat с фильтрами для лица, линзами для лица и эффектами.
👉 О том, как можно интегрировать её в своё Flutter приложение, читайте в статье от Promise Nzubechi Amadi.
#статья
А может вы захотите сделать приложение с дополненной реальностью? Flutter может!
К примеру DeepAR — платформа, которая предоставляет SDK для Snapchat с фильтрами для лица, линзами для лица и эффектами.
👉 О том, как можно интегрировать её в своё Flutter приложение, читайте в статье от Promise Nzubechi Amadi.
#статья
Dart по концепции однопоточный язык, это надо учитывать во время разработки приложения на Flutter. Несмотря на наличие асинхронных операций, выполняются они в основном потоке, а это значит, что тяжёлые операции могут сказаться на производительности и отзывчивости UI.
📌 Практический пример того, как можно избежать подобных проблем, в статье от Altynbek Usenbekov.
#статья
📌 Практический пример того, как можно избежать подобных проблем, в статье от Altynbek Usenbekov.
#статья
В продолжении поста про нестандартные кейсы для Flutter. Тема машинного обучения уже некоторое время является не просто модной, но и востребованной бизнесом. В Surf разрабатывается проект, построенный на ML. Его функциональность заключается в распознавании лиц сотрудников для фиксации выхода на смену. Это нативный проект, но можно ли использовать Flutter для подобных приложений?
Во Flutter можно использовать Firebase ML — это библиотека, которая использует машинное обучение для:
👉 идентификации языка;
👉 распознавания текста;
👉 обнаружения лиц.
📌О том, как использовать Firebase ML в своём Flutter проекте, читайте в статье Paulina Szklarska.
#статьи
Во Flutter можно использовать Firebase ML — это библиотека, которая использует машинное обучение для:
👉 идентификации языка;
👉 распознавания текста;
👉 обнаружения лиц.
📌О том, как использовать Firebase ML в своём Flutter проекте, читайте в статье Paulina Szklarska.
#статьи
Тяжёлые вычисления можно выносить в изоляты. Но у использования изолята тоже есть свои минусы:
👉 имеется задержка на старт изолята;
👉 накладные расходы памяти на работу изолята;
👉 дублирование памяти при передаче данных в сообщении.
Так когда же, использование изолята будет рационально, а когда нет? Самый очевидный ответ - нужен бенчмарк.
📌 Ознакомиться с его результатами можно в статье от Charles Crete.
#статья
👉 имеется задержка на старт изолята;
👉 накладные расходы памяти на работу изолята;
👉 дублирование памяти при передаче данных в сообщении.
Так когда же, использование изолята будет рационально, а когда нет? Самый очевидный ответ - нужен бенчмарк.
📌 Ознакомиться с его результатами можно в статье от Charles Crete.
#статья
Мы, будучи разработчиками, обычно рассматриваем процесс создания приложения именно с технической стороны. Но на успешность результата влияет не только насколько хорошо и правильно написано приложение, но и продуманность различных аспектов с точки зрения бизнеса. Взглянуть с этой стороны на создание приложения, проанализировать возможные проблемы и ошибки может быть весьма полезно, особенно если вы:
👉 аутсорс разработчик или компании, которая хочет действительно создавать ценности для своего заказчика;
👉 собираетесь заказать приложение и не хотите набивать себе лишние шишки;
👉 разработчик и заказчик в одном лице, работаете над запуском собственного продукта.
📌 Держите интересную статью от Sophia Martin., которая расскажет о популярных ошибках. Не смотря на то, что она написана с позиции найма, для самих разработчиков также может быть интересна.
#статья
👉 аутсорс разработчик или компании, которая хочет действительно создавать ценности для своего заказчика;
👉 собираетесь заказать приложение и не хотите набивать себе лишние шишки;
👉 разработчик и заказчик в одном лице, работаете над запуском собственного продукта.
📌 Держите интересную статью от Sophia Martin., которая расскажет о популярных ошибках. Не смотря на то, что она написана с позиции найма, для самих разработчиков также может быть интересна.
#статья
Во Flutter имеется AnimationSwitcher, который позволяет осуществить анимированный переход между двумя виджетами. Стандартный вариант перехода - растворение, но его можно кастомизировать, тем самым добиваясь совершенно различных анимаций. Одной из таких, является переворот виджета.
📌 О том, как добиться приятной анимации переворачивания виджета, читайте в статье от David Gonzalez.
#статья
📌 О том, как добиться приятной анимации переворачивания виджета, читайте в статье от David Gonzalez.
#статья
Для современного смартфона биометрические датчики давно перестали быть чем то диковинным. Даже самые бюджетные экземпляры могут похвастаться их наличием. А это значит, что использование удобств, которые они дают, всё чаще будет использоваться в приложениях. Один из вариантов использования — локальная аутентификация.
👉 О том, как реализовать локальную аутентификацию по отпечатку пальца во Flutter, читайте в статье от Cy Uket.
#статья
👉 О том, как реализовать локальную аутентификацию по отпечатку пальца во Flutter, читайте в статье от Cy Uket.
#статья
Приглашаю 4 февраля в 18:00 на бесплатный вебинар Surf «Почему компании всё чаще выбирают Flutter и что это значит для разработчиков?». На трансляции обсудим текущий спрос на Flutter и будущее технологии.
Вебинар будет полезен всем, кто хочет сделать собственный проект на Flutter или стать Flutter-разработчиком, чтобы больше зарабатывать.
Что будет:
📌Инсайты про Flutter из опыта реальных проектов компании Surf
📌Нужно ли изучать Flutter и где искать работу Flutter-разработчику
📌Как выглядит рынок мобильной разработки и почему компании всё чаще выбирают Flutter.
📌Сможет ли Flutter сместить другие кроссплатформы и конкурировать с нативной разработкой
⚓️ Зарегистрироваться https://bit.ly/3cgkXDF
#события
Вебинар будет полезен всем, кто хочет сделать собственный проект на Flutter или стать Flutter-разработчиком, чтобы больше зарабатывать.
Что будет:
📌Инсайты про Flutter из опыта реальных проектов компании Surf
📌Нужно ли изучать Flutter и где искать работу Flutter-разработчику
📌Как выглядит рынок мобильной разработки и почему компании всё чаще выбирают Flutter.
📌Сможет ли Flutter сместить другие кроссплатформы и конкурировать с нативной разработкой
⚓️ Зарегистрироваться https://bit.ly/3cgkXDF
#события