This media is not supported in your browser
VIEW IN TELEGRAM
17–18 июня Яндекс проводит Weekend Offer Mobile
Всего за 2 дня можно пройти все технические секции и попасть в проект, который покажется самым интересным. Ищут крутых мобильных разработчиков на iOS, Android и Flutter с опытом от 3 лет.
Ребята предлагают работу в любом офисе в России и Беларуси. Некоторые команды приглашают в свои хабы в Армении, Казахстане и Сербии.
Заявки принимаются до 12 июня.
Подробности ищите здесь
Всего за 2 дня можно пройти все технические секции и попасть в проект, который покажется самым интересным. Ищут крутых мобильных разработчиков на iOS, Android и Flutter с опытом от 3 лет.
Ребята предлагают работу в любом офисе в России и Беларуси. Некоторые команды приглашают в свои хабы в Армении, Казахстане и Сербии.
Заявки принимаются до 12 июня.
Подробности ищите здесь
Разбор новых фичей Figma
👉Переменные, которые могут представлять цвета, размеры, эффекты, типографику и локализованные строки.
👉Новые настройки автолейаута, с помощью которых можно прямо в Figma делать адаптивный дизайн.
👉Новый Developer Mode, который позволяет готовить экраны для передачи их разработчикам.
👉Песочница компонентов, в которой дизайнер может легко переключать разные настройки экспортируемых компонентов и смотреть, как они себя ведут в граничных состояниях.
👉Поддержка в VSCode для работы с макетом прямо в IDE.
👉Плагины для экспорта дизайна в код на любом фреймворке.
👉Переменные, которые могут представлять цвета, размеры, эффекты, типографику и локализованные строки.
👉Новые настройки автолейаута, с помощью которых можно прямо в Figma делать адаптивный дизайн.
👉Новый Developer Mode, который позволяет готовить экраны для передачи их разработчикам.
👉Песочница компонентов, в которой дизайнер может легко переключать разные настройки экспортируемых компонентов и смотреть, как они себя ведут в граничных состояниях.
👉Поддержка в VSCode для работы с макетом прямо в IDE.
👉Плагины для экспорта дизайна в код на любом фреймворке.
Пройдете тест — получите подборку легендарных уроков курса. Курс поможет научиться создавать современные кроссплатформенные приложения с помощью Flutter. Результат обучения — свое приложения на Flutter для портфолио.
— «Аркадные игры на Flutter 3»
— «Создание невероятных визуальных эффектов на Flutter»
— «Создаем свою систему координат для RenderObject»
Нативная интеграция информация о продукте www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Гранты от Kotlin Foundation
На KotlinConf рассказали о программе грантов для авторов библиотек. За два месяца пришло целых 100 заявок, из которых отобрали 5 победителей:
⭐️Coil – библиотека для загрузки изображений, которая планирует поддержать KMP
⭐️Store – KMP библиотека для работы с данными
⭐️http4k – серверный фреймворк, который тоже собирается поддержать KMP
⭐️KMP-NativeCoroutines – адаптер для связки корутин и Swift Concurrency
⭐️Lyricist – i18n библиотека для KMP проектов
На KotlinConf рассказали о программе грантов для авторов библиотек. За два месяца пришло целых 100 заявок, из которых отобрали 5 победителей:
⭐️Coil – библиотека для загрузки изображений, которая планирует поддержать KMP
⭐️Store – KMP библиотека для работы с данными
⭐️http4k – серверный фреймворк, который тоже собирается поддержать KMP
⭐️KMP-NativeCoroutines – адаптер для связки корутин и Swift Concurrency
⭐️Lyricist – i18n библиотека для KMP проектов
Kotlin Foundation – official site
The Kotlin Foundation Announces Grants Program Winners
Kotlin Foundation – protect, promote and advance the development of the Kotlin programming language.
Как выбирать метрики перфоманса
Полезные метрики нужно выбирать их таким образом, чтобы они были напрямую привязаны к пользовательскому опыту. Чаще всего это метрики плавности и отзывчивости. Различные рисерчи подсказывают, что целевыми показателями могут быть:
⭐️Для плавности: 11мс на смену кадров
⭐️Для отзывчивости: 69мс на реакцию на действие пользователя
Плавность обычно измеряют, смотря на frame rate и missed frames. Отзывчивость – сильно зависит от юзкейса, но можно смотреть в сторону APDEX, или Interaction to Next Paint.
Полезные метрики нужно выбирать их таким образом, чтобы они были напрямую привязаны к пользовательскому опыту. Чаще всего это метрики плавности и отзывчивости. Различные рисерчи подсказывают, что целевыми показателями могут быть:
⭐️Для плавности: 11мс на смену кадров
⭐️Для отзывчивости: 69мс на реакцию на действие пользователя
Плавность обычно измеряют, смотря на frame rate и missed frames. Отзывчивость – сильно зависит от юзкейса, но можно смотреть в сторону APDEX, или Interaction to Next Paint.
Redwood вышел в Beta
Redwood – это альтернативная реализация кроссплатформенного UI на базе Compose. В отличие от Compose Multiplatform, который рисует компоненты на канвасе, Redwood рендерится с использованием нативных компонентов на каждой из поддерживаемых платформ.
Работает это следующим образом. Вы описываете все компоненты в виде дата классов. Redwood затем генерирует Jetpack Compose или SwiftUI компоненты на их основе.
Так вот, спустя примерно год после анонса, фреймворк выходит в Beta. Одновременно с этим Square, которые и занимаются его разработкой, планируют зарелизить в прод первые экраны, написанные с его помощью.
Redwood – это альтернативная реализация кроссплатформенного UI на базе Compose. В отличие от Compose Multiplatform, который рисует компоненты на канвасе, Redwood рендерится с использованием нативных компонентов на каждой из поддерживаемых платформ.
Работает это следующим образом. Вы описываете все компоненты в виде дата классов. Redwood затем генерирует Jetpack Compose или SwiftUI компоненты на их основе.
Так вот, спустя примерно год после анонса, фреймворк выходит в Beta. Одновременно с этим Square, которые и занимаются его разработкой, планируют зарелизить в прод первые экраны, написанные с его помощью.
Вышел Kotlin 1.9.0
Релиз состоялся уже на прошлой неделе, но это не повод не рассказать о нем в канале! Из самого важного в этом релизе:
👉Переход К2 компилятора в Beta, что значит, что его уже вполне безопасно можно начинать затаскивать в свои JVM проекты.
👉Новый оператор
👉В KMP поддержали Configuration Cache, который сильно улучшит жизнь авторам библиотек.
👉В Kotlin/Native логика линковки библиотек приблизилась к JVM – например, компиляция теперь не будет падать, если у какой-то из транзитивных зависимостей поменялся экспериментальный API, который не использовался нигде в проекте.
👉Компиляторные опции для Kotlin/JVM теперь можно задавать с помощью нового DSL в билдфайле, в блоке
Релиз состоялся уже на прошлой неделе, но это не повод не рассказать о нем в канале! Из самого важного в этом релизе:
👉Переход К2 компилятора в Beta, что значит, что его уже вполне безопасно можно начинать затаскивать в свои JVM проекты.
👉Новый оператор
..<
, про который я рассказывал на KotlinConf, окончательно стабилизирован и поддержан в stdlib.👉В KMP поддержали Configuration Cache, который сильно улучшит жизнь авторам библиотек.
👉В Kotlin/Native логика линковки библиотек приблизилась к JVM – например, компиляция теперь не будет падать, если у какой-то из транзитивных зависимостей поменялся экспериментальный API, который не использовался нигде в проекте.
👉Компиляторные опции для Kotlin/JVM теперь можно задавать с помощью нового DSL в билдфайле, в блоке
compilerOptions
.The JetBrains Blog
Kotlin 1.9.0 Released | The Kotlin Blog
Kotlin 1.9.0 has been released! Highlights include: Kotlin K2 for JVM is in Beta, other K2 compiler updates, new enum class values function, new operator for open-ended ranges, preview of Gradle configuration cache in Kotlin Multiplatform, changes for Android…
Обновление роадмапа Kotlin
Публичный роадмап Котлина обновляется раз в полгода. В нем подробно расписываются основные планы команды на несколько ближайших релизов. Вот самое интересное из последнего апдейта:
⭐️Можно будет дебажить инлайн функции и классы в Android.
⭐️Kotlin/Wasm планируется переводить в Alpha, а вместе с этим официально поддержать его во всех kotlinx библиотеках.
⭐️Стабильную мультиплатформу все так же планируется выпустить в конце года.
⭐️В Kotlin/Native скоро выйдет первый релиз инкрементальной компиляции, скорость билдов вырастет.
⭐️Улушится поддержка Version Catalogs в gradle.kts.
⭐️Новую библиотеку kotlinx-io продолжат стабилизировать, а заодно будут рисерчить асинхронный API для нее.
Публичный роадмап Котлина обновляется раз в полгода. В нем подробно расписываются основные планы команды на несколько ближайших релизов. Вот самое интересное из последнего апдейта:
⭐️Можно будет дебажить инлайн функции и классы в Android.
⭐️Kotlin/Wasm планируется переводить в Alpha, а вместе с этим официально поддержать его во всех kotlinx библиотеках.
⭐️Стабильную мультиплатформу все так же планируется выпустить в конце года.
⭐️В Kotlin/Native скоро выйдет первый релиз инкрементальной компиляции, скорость билдов вырастет.
⭐️Улушится поддержка Version Catalogs в gradle.kts.
⭐️Новую библиотеку kotlinx-io продолжат стабилизировать, а заодно будут рисерчить асинхронный API для нее.
Как тестируют в 100 компаниях
Реаозиторий с подборкой ресурсов о том, как организовано тестирование и CI/CD мобильных приложений в очень разных компаниях. В списке есть Netflix, Reddit, Revolut и Uber.
Реаозиторий с подборкой ресурсов о том, как организовано тестирование и CI/CD мобильных приложений в очень разных компаниях. В списке есть Netflix, Reddit, Revolut и Uber.
GitHub
GitHub - testableapple/how-they-automate-on-mobile: A curated collection of publicly available resources on how software companies…
A curated collection of publicly available resources on how software companies implement automation on iOS and Android platforms 📱🚢 - testableapple/how-they-automate-on-mobile
План Coil по поддержке Kotlin Multiplatform
Я уже упоминал, что недавно библиотека Coil получила грант от Kotlin Foundation направленный на поддержку KMP.
Вышел блогпост, где автор раскрывает больше деталей про миграцию. Основная задача переезда – полностью отвязать Coil от Android. Самым большим изменением API будет замена
План – завершить миграцию в течение нескольких месяцев.
Я уже упоминал, что недавно библиотека Coil получила грант от Kotlin Foundation направленный на поддержку KMP.
Вышел блогпост, где автор раскрывает больше деталей про миграцию. Основная задача переезда – полностью отвязать Coil от Android. Самым большим изменением API будет замена
Drawable
на Image
, который абстрагирует детали платформенной реализации изображений.План – завершить миграцию в течение нескольких месяцев.
Cash App Code Blog
Multiplatform image loading: Coil 3.0
Building towards Coil 3.0 with a focus on Compose Multiplatform.
Как измерять время старта приложения
В разговорах об оптимизации времени старта все привыкли рассуждать в терминах холодных/горячих стартов приложения, замерять и оптимизировать их отдельно. При этом для пользователя тип старта вообще не важен — для него скорее важен сценарий, то, каким образом он приложение запускает.
В статье разбирается более холистический подход к измерению времени запуска, и то, на какие конкретно метрики можно завязываться.
В разговорах об оптимизации времени старта все привыкли рассуждать в терминах холодных/горячих стартов приложения, замерять и оптимизировать их отдельно. При этом для пользователя тип старта вообще не важен — для него скорее важен сценарий, то, каким образом он приложение запускает.
В статье разбирается более холистический подход к измерению времени запуска, и то, на какие конкретно метрики можно завязываться.
This media is not supported in your browser
VIEW IN TELEGRAM
Проекты на Compose Multiplatform
Собрал подборку интересных проектов, которые сообщество делает на базе Compose Multiplatform. Если вы еще не добрались его попробовать – может быть, что-то из них вас вдохновит!
📱tivi.app, портированный с Jetpack Compose на мультиплатформу
📱RSS-ридер с топовым дизайном
📱Приложение рецептов с красивыми анимациями
📱Эффект Reflective UI
📱Cupertino-виджеты от сообщества
Собрал подборку интересных проектов, которые сообщество делает на базе Compose Multiplatform. Если вы еще не добрались его попробовать – может быть, что-то из них вас вдохновит!
📱tivi.app, портированный с Jetpack Compose на мультиплатформу
📱RSS-ридер с топовым дизайном
📱Приложение рецептов с красивыми анимациями
📱Эффект Reflective UI
📱Cupertino-виджеты от сообщества
Законы UX
Список из 21 правила, которых стоит придерживаться при разработке интерфейсов. Каждое подкреплено ссылками на исследования.
🏎️Doherty Threshold – Пользователь воспринимает свою производительность оптимальной, если реакция на его действия не превышает 400мс.
🎯Fitt's Law – Время на то, чтобы прицелиться во что-то – функция от размера и удаленности цели.
🤔Jakob's Law – Пользователь проводит большую часть времени в других приложениях, поэтому для него будет идеально, если ваше приложение не будет от них отличаться.
⛰️Peak-End rule – Люди запоминают не весь опыт работы с чем-то, а его самый пиковый момент и самый последний.
Список из 21 правила, которых стоит придерживаться при разработке интерфейсов. Каждое подкреплено ссылками на исследования.
🏎️Doherty Threshold – Пользователь воспринимает свою производительность оптимальной, если реакция на его действия не превышает 400мс.
🎯Fitt's Law – Время на то, чтобы прицелиться во что-то – функция от размера и удаленности цели.
🤔Jakob's Law – Пользователь проводит большую часть времени в других приложениях, поэтому для него будет идеально, если ваше приложение не будет от них отличаться.
⛰️Peak-End rule – Люди запоминают не весь опыт работы с чем-то, а его самый пиковый момент и самый последний.
Laws of UX
Home | Laws of UX
Laws of UX is a collection of best practices that designers can consider when building user interfaces.
Почему рендеринг текста – это сложно
Отличная статья, про то, из каких элементов вообще состоит текст, почему все браузеры и другие графические движки чаще всего рендерят его неправильно, и с какими эзотерическими проблемами можно столкнуться.
Отличная статья, про то, из каких элементов вообще состоит текст, почему все браузеры и другие графические движки чаще всего рендерят его неправильно, и с какими эзотерическими проблемами можно столкнуться.
Faultlore
Text Rendering Hates You - Faultlore
KotlinConf 2024
Открыта покупка билетов на KotlinConf следующего года! Пройдет, как и в 2019 году, в Копенгагене. Приезжайте, если можете, увидимся!
📆Дата: 22-24 мая.
Открыта покупка билетов на KotlinConf следующего года! Пройдет, как и в 2019 году, в Копенгагене. Приезжайте, если можете, увидимся!
📆Дата: 22-24 мая.
Исследование продуктовых дизайнеров
Я периодически провожу исследования различных областей разработки. Например, вот уже много лет подряд я опрашиваю кучу людей, чтобы понять, а что там происходит у айосеров и андроидщиков.
Вот прямо сейчас мы заканчиваем наш первый опрос продуктовых дизайнеров про то, чем они занимаются на работе, какие навыки прокачивают, как используют AI и за кем в сообществе следят. Чтобы результаты были репрезентативными, хочется получить как можно больше ответов. Если в вашей текущей или бывшей команде есть продуктовые дизайнеры – я буду очень благодарен, если вы пошарите им ссылку на опрос! Результаты я потом тоже обязательно в канал выложу.
Я периодически провожу исследования различных областей разработки. Например, вот уже много лет подряд я опрашиваю кучу людей, чтобы понять, а что там происходит у айосеров и андроидщиков.
Вот прямо сейчас мы заканчиваем наш первый опрос продуктовых дизайнеров про то, чем они занимаются на работе, какие навыки прокачивают, как используют AI и за кем в сообществе следят. Чтобы результаты были репрезентативными, хочется получить как можно больше ответов. Если в вашей текущей или бывшей команде есть продуктовые дизайнеры – я буду очень благодарен, если вы пошарите им ссылку на опрос! Результаты я потом тоже обязательно в канал выложу.
survey.alchemer.eu
Исследование рынка продуктовых дизайнеров, 2023
Исследование рынка продуктовых дизайнеров, 2023.
Как писать Swift-friendly API мультиплатформенных библиотек
Одна из проблем, с которыми вы можете столкнуться, затягивая к себе Kotlin Multiplatform – iOS разработчики, которым не нравится получающийся на выходе API. В серии статей разбираются основные решения, которые позволяют сделать API общих модулей выглядящим, как идиоматичный Swift.
Одна из проблем, с которыми вы можете столкнуться, затягивая к себе Kotlin Multiplatform – iOS разработчики, которым не нравится получающийся на выходе API. В серии статей разбираются основные решения, которые позволяют сделать API общих модулей выглядящим, как идиоматичный Swift.
André Oriani
List: Writing Swift-friendly Kotlin Multiplatform APIs | Curated by André Oriani | Medium
10 stories · Series of articles on how to write Kotlin Multiplatform libraries that work well with Swift
Appyx теперь мультиплатформенный
Appyx – библиотека навигации от Bumble с фокусом на простую реализацию кастомных анимированных переходов. Так вот, на прошлой неделе вышла первая альфа версии 2.0. Основная фича новой версии – поддержка Compose Multiplatform. Обязательно потыкайте документацию, все демки там интерактивные и реализованы на Compose!
Appyx – библиотека навигации от Bumble с фокусом на простую реализацию кастомных анимированных переходов. Так вот, на прошлой неделе вышла первая альфа версии 2.0. Основная фича новой версии – поддержка Compose Multiplatform. Обязательно потыкайте документацию, все демки там интерактивные и реализованы на Compose!
bumble-tech.github.io
Home
Model-driven navigation + UI components with gesture control for Compose Multiplatform
Как работает Lincheck
Lincheck – фреймворк для тестирования многопоточных алгоритмов на Kotlin. В треде Никита Коваль, его автор, рассказывает о его основных концепциях.
Lincheck – фреймворк для тестирования многопоточных алгоритмов на Kotlin. В треде Никита Коваль, его автор, рассказывает о его основных концепциях.