У каждого из нас есть любимые инструменты разработки. Кому то нравится 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
#события
Для реализации клиент-серверного взаимодействия можно выбрать совершенно различные подходы. В случае, когда нужно организовать отправку сервером различных фрагментов данных по их готовности, доступно несколько вариантов:
👉 Polling — периодически отправляются запросы к серверу, нет ли для нас интересующих данных и это не самый лучший способ;
👉WebSocket — открытие между клиентом и сервером двустороннего канала коммуникации, может быть полезным для чатов, игр;
👉Server-Sent Events — открытие клиентом канала для прослушивания сообщений от сервера.
📌 О том, как реализовать SSE для Flutter приложения, читайте в статье от Vinay Shankri.
#статья
👉 Polling — периодически отправляются запросы к серверу, нет ли для нас интересующих данных и это не самый лучший способ;
👉WebSocket — открытие между клиентом и сервером двустороннего канала коммуникации, может быть полезным для чатов, игр;
👉Server-Sent Events — открытие клиентом канала для прослушивания сообщений от сервера.
📌 О том, как реализовать SSE для Flutter приложения, читайте в статье от Vinay Shankri.
#статья
Прямые трансляции в приложениях встречаются всё чаще и чаще. Если изначально они были только на специальных площадках вроде Youtube или Twitch, то сейчас большинство соцсетей предлагают эту возможность. Это происходит, потому что прямые трансляции — хороший интерактив со зрителями. С другой стороны, организация подобного механизма довольно сложная задача.
📌 О том, как реализовать прямые трансляции во Flutter приложении, читайте в статье от Nash.
#статья
📌 О том, как реализовать прямые трансляции во Flutter приложении, читайте в статье от Nash.
#статья
Сейчас Dart может использоваться как на фронтенде, так и на бекенде. При этом количество решений, использующих его, постепенно растет и покрывает все новые возможности. Одним из таких решений является FaaS фреймворк, позволяющий писать портативные легковесные функции, которые можно расположить и использовать в различных местах:
👉 локальном компьютере;
👉 Google Cloud Run;
👉 Google App Engine;
👉 Knative окружении.
Не смотря на то, что к продакшену он еще не готов и просто открыт для раннего доступа, идея выглядит весьма интересной, чтобы ее попробовать.
📌 Познакомиться с фреймворком можно по ссылке.
#библиотека
👉 локальном компьютере;
👉 Google Cloud Run;
👉 Google App Engine;
👉 Knative окружении.
Не смотря на то, что к продакшену он еще не готов и просто открыт для раннего доступа, идея выглядит весьма интересной, чтобы ее попробовать.
📌 Познакомиться с фреймворком можно по ссылке.
#библиотека
Рано или поздно, каждому разработчику приходится проходить техническое интервью. Это может быть первое трудоустройство или смена места, но от того как вы его пройдете будет зависеть получите ли вы оффер или нет. Поэтому к нему стоит основательно подготовиться. Если со знаниями по нативным платформам, бекенду, веб, все достаточно понятно и прозрачно для каждой из позиций, то Flutter настолько молод, что границы того, что обязан знать Junior, а что Senior довольно размыты.
Так к чему же все таки готовиться, если почти каждый назовет разный набор необходимых знаний? Есть рациональное решение - поспрашивать тех, кто эти интервью и проводит, и чем больше тем лучше!
Держите статью от такого интервьюера с размышлениями по теме.
#статья
Так к чему же все таки готовиться, если почти каждый назовет разный набор необходимых знаний? Есть рациональное решение - поспрашивать тех, кто эти интервью и проводит, и чем больше тем лучше!
Держите статью от такого интервьюера с размышлениями по теме.
#статья
Одно и тоже приложение может выглядеть по-разному в зависимости от устройства. Кроме устройства на вид вашего приложения может повлиять, например, системное увеличение шрифта или даже локаль. Все это может привести к неконсистентному отображению, багам, да и в целом неудобству пользователя.
Проверять вручную различные комбинации условий - довольно накладно. Здесь могут прийти на помощь тесты скриншотами, или как они еще известны - golden test. Смысл их в следующем:
👉 Заданные виджеты отображаются в различных условиях;
👉 Производится сохранение скриншотов этого отображения;
👉 Скриншоты проверяются на наличие проблем.
О том, как можно использовать тестирование скриншотами во Flutter, читайте в статье от Pavel Sulimau.
#статья #тестирование
Проверять вручную различные комбинации условий - довольно накладно. Здесь могут прийти на помощь тесты скриншотами, или как они еще известны - golden test. Смысл их в следующем:
👉 Заданные виджеты отображаются в различных условиях;
👉 Производится сохранение скриншотов этого отображения;
👉 Скриншоты проверяются на наличие проблем.
О том, как можно использовать тестирование скриншотами во Flutter, читайте в статье от Pavel Sulimau.
#статья #тестирование