Хороший способ ворваться в 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.
#статья
Таб бар внизу - довольно популярное решение для реализации навигации. Но стандартные отображения, это же весьма скучно и обыденно. Поэтому к реализации таб баров многие подходят творчески и реализуют довольно классные варианты.
📌 Посмотреть на один из таких вариантов можно в статье от Tony Owen.
#статья
📌 Посмотреть на один из таких вариантов можно в статье от Tony Owen.
#статья
Ни для кого не тайна, что в Dart был добавлен механизм ffi, для запуска нативного C кода. Но насколько глубока кроличья нора? Совсем недавно вышел сразу ряд статей, направленных на раскрытие одного и того же вопроса - использование Dart в связке с WASM. WebAssembly (WASM) - формат двоичных инструкций для виртуальной машины на основе стека. Изначально он был разработан для запуска нативного кода в web, но уже превратился в технологию для запуска скомпилированного кода на различных платформах.
📌 Почитать подробнее про связку WASM + Dart можно в статье от Michael Thomsen, а также в статье от Maksim Lin.
#статья
📌 Почитать подробнее про связку WASM + Dart можно в статье от Michael Thomsen, а также в статье от Maksim Lin.
#статья
У Flutter внутри довольно продуманное и оптимизированное устройство. Но помимо этого, разработчик может самостоятельно позитивно повлиять на производительность, продумывая моменты с оптимизацией перерисовок и пересборок. Один из таких способов - виджет RepaintBoundary. Он позволяет абстрагировать часть поддерева от пересчета макета и перерисовки, если они не связаны непосредственно с изменением самого виджета.
📌 Как пользоваться этим виджетом можно прочитать в статье от Shaiq khan.
#статья
📌 Как пользоваться этим виджетом можно прочитать в статье от Shaiq khan.
#статья
Чаще всего приложение на Flutter рассматривают как отдельное решение. Но это не единственная возможность его использования. Части написанные на Flutter можно легко интегрировать в уже существующее нативное приложение. Механизм этот носит название add-to-app.
📌 О том, как пользоваться этим механизмом, можно прочитать в статье от Paul Ruiz.
#статья
📌 О том, как пользоваться этим механизмом, можно прочитать в статье от Paul Ruiz.
#статья
Если любого из нас попросить назвать топ любимых решений и библиотек, то скорее всего это будут разные списки. Недавно небезызвестная компания Very Good Ventures опубликовала в своем блоге статью с топ 15 пакетами Dart и Flutter по мнению компании.
📌 Посмотреть, что же нравится ребятам из VGV и сравнить со своим топом, можно по ссылке.
#статья
📌 Посмотреть, что же нравится ребятам из VGV и сравнить со своим топом, можно по ссылке.
#статья
К авторизации пользователя в приложении можно подходить различными способами. Одним из удобных вариантов для самого пользователя, является авторизация через различные социальные сети. Конечно в зависимости от территориального расположения, могут быть распространены локально популярные соцсети, но есть и распространенные повсеместно - Google, Facebook, Twitter.
📌 О настройке аутентификации пользователя при помощи этих соцсетей, можно почитать в статье от Jaimil Patel.
#статья
📌 О настройке аутентификации пользователя при помощи этих соцсетей, можно почитать в статье от Jaimil Patel.
#статья
Недавно вышел очередной выпуск Flutter Dev Podcast. В этот раз обсуждался интересный инструмент, о котором я тоже уже не раз писал. Речь идет о Dart Code Metrics, который умеет собирать важные метрики качества, а также отслеживать нарушения правил написания кода. На подкаст пришли сами авторы этого решения и обсудили историю создания Dart Code Metrics, ключевые концепции, подкапотное устройство, а также планы развития.
Участники выпуска: Евгений Сатуров (Surf), Александр Денисов (EPAM), Дмитрий Круцких (Surf), Дмитрий Жифарский (Push Play Labs).
🎧 Послушать подкаст можно в Apple Podcasts, Яндекс.Музыка, Google Podcasts, Spotify.
#подкасты
Участники выпуска: Евгений Сатуров (Surf), Александр Денисов (EPAM), Дмитрий Круцких (Surf), Дмитрий Жифарский (Push Play Labs).
🎧 Послушать подкаст можно в Apple Podcasts, Яндекс.Музыка, Google Podcasts, Spotify.
#подкасты
Недавно вышло обновление плагина Flutter для IntelliJ IDE. В этот релиз вошло:
👉 предварительный просмотр иконок из шрифтов;
👉 установка переменных окружения для desktop;
👉 интеграция с AppCode;
👉 исправлены проблемы с отображением встроенного инспектора в Linux.
Ознакомиться с более подробным списком можно по ссылке.
#обновление
👉 предварительный просмотр иконок из шрифтов;
👉 установка переменных окружения для desktop;
👉 интеграция с AppCode;
👉 исправлены проблемы с отображением встроенного инспектора в Linux.
Ознакомиться с более подробным списком можно по ссылке.
#обновление