Последнее время во всех крупных обновлениях Dart уделяют особое внимание FFI (Foreign Function Interface). Как можно понять из названия, FFI позволяет использовать вызов нативного C API из Dart кода. Осуществляется все это при помощи библиотеки ffi, основная часть которой уже встроена в Dart, а также дополнительной части с различными утилитами, которая доступна в pub.
А о том, как же всем этим пользоваться, можно почитать в статье от Maksim Lin.
#статья
А о том, как же всем этим пользоваться, можно почитать в статье от Maksim Lin.
#статья
Среди мобильных разработчиков весьма популярны сервисы, предоставляющие удобную инфраструктуру для приложений. Ярким примером является Firebase - облачная база, авторизация и многое другое. Но не Firebasом единым жив Flutter-разработчик. Отличной альтернативой в ближайшем времени ему может стать например сервис @ platform от The @ Company. Как заявляют сами разработчики упор сделан не только на создание инфраструктуры, но и на то, чтобы сделать ее максимально безопасной для данных пользователя. К тому же @ platform является opensource решением и абсолютно бесплатна. Более того, компания предоставляет реферальную программу по привлечению новых пользователей через приложения.
Почитать подробнее про @ platform можно в статье от Anthony Prakash.
#статья
Почитать подробнее про @ platform можно в статье от Anthony Prakash.
#статья
Даже далекие от общеупотребимых решений могут быть полезны. Например анимированный фон, казалось бы ну в каком мобильном приложении такое может потребоваться? Можно использовать на сплеш-экране, или воспользоваться для необычного состояния загрузки. А может быть вам придется писать геймифицированное обучающее приложение для детей и ваш дизайнер именно так увидит основной фон.
Добавить такой фон можно с помощью библиотеки animated_background:
👉 имеет набор готовых поведений, описывающих как будет выглядеть анимация;
👉 исходя из исходников, не будет большой проблемой также описать свое кастомное поведение.
Прочитать о том, как пользоваться этой библиотекой, можно в статье от Naveen Srivastava.
#статья
Добавить такой фон можно с помощью библиотеки animated_background:
👉 имеет набор готовых поведений, описывающих как будет выглядеть анимация;
👉 исходя из исходников, не будет большой проблемой также описать свое кастомное поведение.
Прочитать о том, как пользоваться этой библиотекой, можно в статье от Naveen Srivastava.
#статья
Хорошей прокачкой своих навыков в анимациях может быть выполнение понравившегося примера на Dribbble. Tony Owen в своей статье разбирает как раз такой пример. За основу он взял пример автора Pontus Wellgraf, посвященный Formula 1 и попытался реализовать его на Flutter.
📌 Каким образом он это сделал и насколько похоже на оригинал получилось, можно посмотреть в статье, или даже зачеленджить себя и сделать более точную версию.
#статья
📌 Каким образом он это сделал и насколько похоже на оригинал получилось, можно посмотреть в статье, или даже зачеленджить себя и сделать более точную версию.
#статья
Коллега из мира мобильной разработки создал свой канал Mobile Native. Артём - практикующий Android разработчик, пишет на Java и Kotlin. На своём канале он публикует полезные материалы по Android разработке – нововведения, подборки актуальных статей, анонсы мобайл ивентов. Более того, останавливаться только на Android он не планирует 💪 - в канале будут еще и материалы, посвященные iOS.
Подписывайтесь на @mobile_native, полезно будет для любого уровня разработчиков от Junior до Senior.
Подписывайтесь на @mobile_native, полезно будет для любого уровня разработчиков от Junior до Senior.
Всем привет! Интересует ваше мнение: Когда вы выбираете библиотеку, влияет ли на ваш выбор ее нахождение в монорепе (репозиторий с множеством пакетов, например https://github.com/fluttercommunity/plus_plugins)?
Anonymous Poll
8%
Отдам предпочтение монорепе, если нужный пакет есть
18%
Отдам предпочтение одиночному решению с отдельным репозиторием
37%
Без разницы, при выборе не опираюсь на этот параметр совсем
37%
Не смотрю на репозиторий, только pub.dev
Недавно вышел очередной выпуск Flutter Dev Podcast. Тема его на этот раз весьма грустная - компания Wrike, все эти годы бывшая, пожалуй, главным амбассадором языка Dart в России, а может быть и в мире, объявила об отказе от Dart и смене технологического стека. На подкаст пришли ребята из Wrike, чтобы рассказать о причинах и будущем.
Участники выпуска: Евгений Сатуров (Surf), Александр Денисов (EPAM), Евгений Кот (Wrike), Иван Синеговский (Wrike).
🎧Послушать подкаст можно в Apple Podcasts, Яндекс.Музыка, Google Podcasts, Spotify.
#подкасты
Участники выпуска: Евгений Сатуров (Surf), Александр Денисов (EPAM), Евгений Кот (Wrike), Иван Синеговский (Wrike).
🎧Послушать подкаст можно в Apple Podcasts, Яндекс.Музыка, Google Podcasts, Spotify.
#подкасты
Недавно для VSCode вышло обновление плагина для Flutter от Dart Code. В релизе:
👉 Dependencies View - механизм просмотра цепочки транзитивных зависимостей;
👉 добавлен пункт контекстного меню, позволяющий создать конфигурацию запуска;
👉 множество исправлений и улучшений дебагера, редактора и взаимодействия с Flutter.
📌Ознакомиться с более подробным списком можно по ссылке.
#обновление
👉 Dependencies View - механизм просмотра цепочки транзитивных зависимостей;
👉 добавлен пункт контекстного меню, позволяющий создать конфигурацию запуска;
👉 множество исправлений и улучшений дебагера, редактора и взаимодействия с Flutter.
📌Ознакомиться с более подробным списком можно по ссылке.
#обновление
Хороший способ ворваться в IT-индустрию - это стажировка. От вас обычно еще ничего не требуют, при этом помогают расти и еще часто платят пусть и небольшие, но деньги. Многие мои знакомые, да и я сам, именно так и начали свой путь в IT. Если и вам этот вариант по душе, то у меня есть хорошие новости - мы в Surf набираем стажеров, чтобы помочь им сделать первые шаги в профессии, и вполне может быть по окончании стать коллегами 🤙 Если переживаете, что не хватает знаний, то на входе даём небольшое тестовое задание и можно оценить свой уровень. Ну а если знаний намного больше чем нужно для стажировки, то у нас есть еще актуальная вакансия сразу на мидла 💪
Откликнуться можно по ссылкам: стажировка и middle.
#вакансия
Откликнуться можно по ссылкам: стажировка и middle.
#вакансия
Плагин Flutter для IntelliJ IDE тоже недавно был обновлен. Это обновление принесло следующие изменения:
👉 запуск тестов с отображением покрытия кода;
👉 продолжение улучшения поддержки Embedded Browser для MacOS Big Sur;
👉 множество внутренних улучшений и исправлений плагина.
Ознакомиться с более подробным списком можно по ссылке.
#обновление
👉 запуск тестов с отображением покрытия кода;
👉 продолжение улучшения поддержки Embedded Browser для MacOS Big Sur;
👉 множество внутренних улучшений и исправлений плагина.
Ознакомиться с более подробным списком можно по ссылке.
#обновление
Недавно вышло обновление для Flutter DevTools. В релизе:
👉 различные улучшения интерфейса, включая компактный режим;
👉 добавлена возможность диагностировать зависания связанные с компиляцией шейдеров;
👉 добавлен показ сводки для событий UI потока.
Помимо перечисленного, обновление содержит множество исправлений и улучшений, с полным списком которых можно ознакомиться по ссылке.
#обновление
👉 различные улучшения интерфейса, включая компактный режим;
👉 добавлена возможность диагностировать зависания связанные с компиляцией шейдеров;
👉 добавлен показ сводки для событий UI потока.
Помимо перечисленного, обновление содержит множество исправлений и улучшений, с полным списком которых можно ознакомиться по ссылке.
#обновление
Интерфейсы в стиле неоморфизм могут выглядеть весьма интересно, однако реализация их часто довольно затратна. Множество теней, плавные переходы этих теней при смене состояния требуют много времени на проработку. Упростить вам эту задачу может UIKit в стиле неоморфизма, например flutter_neumorphic. Он содержит:
👉 NeumorphicButton;
👉 NeumorphicRadio;
👉 NeumorphicCheckbox;
👉 NeumorphicText;
👉 NeumorphicIcon;
👉 NeumorphicToggle;
👉 NeumorphicSlider;
👉 NeumorphicSwitch.
📌 Этими и множеством других виджетов, можно воспользоваться из библиотеки flutter_neumorphic, доступной по ссылке.
#библиотека
👉 NeumorphicButton;
👉 NeumorphicRadio;
👉 NeumorphicCheckbox;
👉 NeumorphicText;
👉 NeumorphicIcon;
👉 NeumorphicToggle;
👉 NeumorphicSlider;
👉 NeumorphicSwitch.
📌 Этими и множеством других виджетов, можно воспользоваться из библиотеки flutter_neumorphic, доступной по ссылке.
#библиотека
Мы с коллегам из Surf продолжаем начатую ранее серию мероприятий. В первой части мы разобрали проблемные решения примера и исправили их, а также покрыли различными типами тестов полученный код. В этот раз мы продолжим пытать тот же самый пример, но уже в другом направлении. Речь пойдет о локализации приложения:
👉 как спроектировать приложение сразу готовым к локализации, даже если пока ее и в планах нет;
👉 разберем динамическую смену локализации;
👉 рассмотрим plurals;
👉 поговорим про локализацию бандла приложения.
🗓 Стартуем 20 июля в 18:30 мск, планируем закончить к 20:00
📌 Зарегистрироваться можно по ссылке.
#анонс
👉 как спроектировать приложение сразу готовым к локализации, даже если пока ее и в планах нет;
👉 разберем динамическую смену локализации;
👉 рассмотрим plurals;
👉 поговорим про локализацию бандла приложения.
🗓 Стартуем 20 июля в 18:30 мск, планируем закончить к 20:00
📌 Зарегистрироваться можно по ссылке.
#анонс
Большинство программистов пользуются системами контроля версий и сервисами для хостинга и управления удаленными репозиториями. И если ваш выбор - GitHub, то стоит обратить внимание на последнее обновление, в нем много интересного:
👉 переработана система проблем, доступна в бета-версии;
👉 запущен в техническое превью GitHub Copilot - искусственный интеллект помощник;
👉 дискуссии интегрированы с GitHub Actions;
👉 расширены возможности drag-and-drop управления в десктоп версии;
👉 GitHub Packages Container для публикации, управления и использования контейнеров на GitHub.
📌 С полным списком нововведений можно ознакомиться по ссылке.
#обновление
👉 переработана система проблем, доступна в бета-версии;
👉 запущен в техническое превью GitHub Copilot - искусственный интеллект помощник;
👉 дискуссии интегрированы с GitHub Actions;
👉 расширены возможности drag-and-drop управления в десктоп версии;
👉 GitHub Packages Container для публикации, управления и использования контейнеров на GitHub.
📌 С полным списком нововведений можно ознакомиться по ссылке.
#обновление
GitHub предоставляет множество сервисов, которые позволяют сделать вашу работу намного проще. Одним из них является GitHub Actions, сервис автоматизации рабочих процессов, или CI/CD. Не так давно была добавлена официальная поддержка Dart, а набор уже готовых решений для GitHub Actions скорее всего покроет почти все ваши потребности. Но что делать, если все таки у вас особая потребность, и решения еще нет. Такой пример разобрал в статье мой коллега Дмитрий Круцких. Из нее вы узнаете, как пользуясь Dart написать свой Action c Docker и github_action_toolkit 🤖
📌 Почитать подробнее можно по ссылке.
📌 Почитать подробнее можно по ссылке.
Буквально через 5 минут мы начинаем наш эвент, посвященный локализации. Присоединяйтесь к трансляции, если не успели зарегаться ✌️
Для построения архитектуры приложения можно использовать различные подходы и паттерны. Некоторые подходы довольно популярны в конкретных технологиях, другие же мигрируют и легко распространяются по множеству. В мобильном мире существует вариация на тему Clean Architecture под названием VIPER. В ней выделяются слои:
👉 View - пользовательский интерфейс;
👉 Interactor - слой бизнес логики управления данными;
👉 Presenter - слой логики управления отображением;
👉 Entity - слой данных;
👉 Router - логика навигации.
📌 О том, как можно попытаться использовать этот паттерн во Flutter, читайте в статье от Paras.
#статья
👉 View - пользовательский интерфейс;
👉 Interactor - слой бизнес логики управления данными;
👉 Presenter - слой логики управления отображением;
👉 Entity - слой данных;
👉 Router - логика навигации.
📌 О том, как можно попытаться использовать этот паттерн во Flutter, читайте в статье от Paras.
#статья
Анимации текста не самое частое решение, но иногда оно может действительно круто украсить какой-то момент в вашем приложении. Однако реализация такой анимации далеко не всегда является тривиальной задачей. Помочь с ней может библиотека animated_text_kit, которая содержит как множество уже готовых анимаций, так и механизм для удобной реализации собственного анимированного текста.
📌 Подробнее ознакомиться с библиотекой можно по ссылке.
#библиотека
📌 Подробнее ознакомиться с библиотекой можно по ссылке.
#библиотека
Сайты одностраничники довольно частое явление. Они довольно просты, но при этом хорошо справляются со своей задачей, которая чаще всего заключается в продаже чего-либо. Поскольку Flutter пригоден и для веб, пусть пока и лишь потенциально, но подобные кейсы рано или поздно будут приходить и к нам.
📌 Размышления про реализацию одностраничника на Flutter, можно прочитать в статье от Cagatay Ulusoy.
#статья
📌 Размышления про реализацию одностраничника на Flutter, можно прочитать в статье от Cagatay Ulusoy.
#статья
Современный дизайн просто изобилует всякими X-морфизмами. И на этот раз речь про glassmorphism. Как следует из названия, это дизайн-паттерн отображения с эффектом стеклянности. Помимо этого, подход интересен тем, что может хорошо сочетаться с другими паттернами.
О том, как легко реализовать подобный эффект во Flutter, можно прочитать в статье от Naveen Srivastava.
#статья
О том, как легко реализовать подобный эффект во Flutter, можно прочитать в статье от Naveen Srivastava.
#статья
Flutter постоянно пытаются сделать лучше, удобнее, производительнее. Одним из способов улучшения производительности может быть оптимизация уже существующих подходов. Так и получилось с platform channel. Разработчики провели анализ и нашли лишние копии данных, отправляемых по каналам платформы, и оптимизировали реализацию. По результатам проведенных ими тестов, ускорение работы достигнуто весьма серьезное.
📌 Подробнее о проведенных изменения и их результатах, можно прочитать в статье от Aaron Clarke.
#статья
📌 Подробнее о проведенных изменения и их результатах, можно прочитать в статье от Aaron Clarke.
#статья