Почему рендеринг текста – это сложно
Отличная статья, про то, из каких элементов вообще состоит текст, почему все браузеры и другие графические движки чаще всего рендерят его неправильно, и с какими эзотерическими проблемами можно столкнуться.
Отличная статья, про то, из каких элементов вообще состоит текст, почему все браузеры и другие графические движки чаще всего рендерят его неправильно, и с какими эзотерическими проблемами можно столкнуться.
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. В треде Никита Коваль, его автор, рассказывает о его основных концепциях.
Обзор всех кешей в Gradle
Леша Быков написал хороший обзор того, как работают различные уровни кеширования в Gradle, в каких случаях на них можно полагаться, и как оптимизировать их работу.
Леша Быков написал хороший обзор того, как работают различные уровни кеширования в Gradle, в каких случаях на них можно полагаться, и как оптимизировать их работу.
Кто адоптит Kotlin Multiplatform
Подборка статей и видео от компаний, которые заадоптили Kotlin Multiplatform, и делятся своим опытом. Из громких названий, которые вы могли пропустить: McDonald's, Google Workspace, Baidu, Deezer, Shopify.
Подборка статей и видео от компаний, которые заадоптили Kotlin Multiplatform, и делятся своим опытом. Из громких названий, которые вы могли пропустить: McDonald's, Google Workspace, Baidu, Deezer, Shopify.
Compose Multiplatform 1.5.0-Beta
Вышла первая публичная версия следующего большого релиза Compose Multiplatform. Из самых крутых фичей:
👉В iOS приложениях физика скролла теперь работает точно так же, как в нативных.
👉В common коде можно создавать диалоги и попапы.
👉На новых Apple девайсах поддерживаются 120 FPS.
👉Шаринг ресурсов с iOS теперь не требует использования CocoaPods.
👉На iOS поддержаны Dynamic Type, корректные инсеты, а шрифт по умолчанию теперь San Francisco.
Вышла первая публичная версия следующего большого релиза Compose Multiplatform. Из самых крутых фичей:
👉В iOS приложениях физика скролла теперь работает точно так же, как в нативных.
👉В common коде можно создавать диалоги и попапы.
👉На новых Apple девайсах поддерживаются 120 FPS.
👉Шаринг ресурсов с iOS теперь не требует использования CocoaPods.
👉На iOS поддержаны Dynamic Type, корректные инсеты, а шрифт по умолчанию теперь San Francisco.
GitHub
Release 1.5.0-beta01 · JetBrains/compose-multiplatform
Common
Features
Dialog API is available to use from common source set
Popup API is available to use from common source set
WindowInsets API is available to use from common source set
A warning if ...
Features
Dialog API is available to use from common source set
Popup API is available to use from common source set
WindowInsets API is available to use from common source set
A warning if ...
Кастомные шрифты в Compose Multiplatform
Кстати, раз мы заговорили про изменение шрифта на San Francisco. Если вы все-таки хотите использовать не системные шрифты, а что-то свое – в статье разобраны все шаги, как завести кастомныю типографику.
Кстати, раз мы заговорили про изменение шрифта на San Francisco. Если вы все-таки хотите использовать не системные шрифты, а что-то свое – в статье разобраны все шаги, как завести кастомныю типографику.
И, конечно, самый важный анонс прошлой недели. Название KMM пора вычеркнуть из своих сердец и памяти, потому что новый рекомендованный способ говорить про мультиплатформу в любых ее проявлениях – Kotlin Multiplatform или KMP.
The JetBrains Blog
Update on the Name of Kotlin Multiplatform | The Kotlin Blog
From now on, “Kotlin Multiplatform” (KMP) is the preferred term when referring to the Kotlin technology for sharing code across different platforms, regardless of the combination of targets being discussed.
В RuStore появилось продвижение приложений
Если вы публикуете свое приложение в RuStore, то обратите внимание на эту новость. В магазине появились инструменты для продвижения мобаппов внутри стора — все благодаря интеграции с VK Рекламой. Ее алгоритмы покажут рекламу вашего приложения только тем пользователям, которые вероятнее всего его установят. Креативы сгенерируются сами: инструменты платформы предложат вам тексты объявлений и адаптируют загруженные изображения под формат рекламы в RuStore.
Если вы публикуете свое приложение в RuStore, то обратите внимание на эту новость. В магазине появились инструменты для продвижения мобаппов внутри стора — все благодаря интеграции с VK Рекламой. Ее алгоритмы покажут рекламу вашего приложения только тем пользователям, которые вероятнее всего его установят. Креативы сгенерируются сами: инструменты платформы предложат вам тексты объявлений и адаптируют загруженные изображения под формат рекламы в RuStore.
Дизассемблер kotlin-explorer
Romain Guy выпустил десктопное приложение, которое дизассемблит код на Kotlin в Java байткод, Android DEX байткод и Android AOT native assembly.
Romain Guy выпустил десктопное приложение, которое дизассемблит код на Kotlin в Java байткод, Android DEX байткод и Android AOT native assembly.
Вакансии в Яндекс 360
Команда Яндекс 360 находится в поиске скилловых Android и iOS разработчиков.
💻 О проекте:
Яндекс 360 - это Почта, Диск, Телемост с видеозвонками, Документы, Мессенджер, Рассылки, Заметки и Календарь. Каждый день этими сервисами пользуются миллионы человек и тысячи компаний.
Яндекс 360 - это несколько сотен миллионов входящих писем в сутки, больше сотни терабайт загрузки данных в сутки, десятки тысяч видео конференций в сутки, сервисы с сотнями тысяч RPS и многое другое. Реальная возможность делать интересные проекты с видимым результатом для огромной аудитории.
Проекты на любой вкус - B2B / B2C, разнообразные задачи - продуктовые / технические / инфраструктура. Большой импакт на продукт - отдельный разработчик значительно влияет на то, как пользователи будут использовать наши продукты.
Команде нужны инженеры с экспертизой в Android или iOS, с опытом от 3 лет в коммерческой разработке. Подробнее про команду Диска и команду Почты.
🚀 Из интересного:
- Kotlin Multiplatform Mobile;
- Прохождение всех тех.секций занимает 2,5 часа;
- Локация команды - Москва, Питер, Минск, Белград, рассматриваем гибридный формат работы (2-3 дня) в этих городах 🙂
✒️ Буду рад более подробней обсудить вакансию @Nikpro_IT
Команда Яндекс 360 находится в поиске скилловых Android и iOS разработчиков.
💻 О проекте:
Яндекс 360 - это Почта, Диск, Телемост с видеозвонками, Документы, Мессенджер, Рассылки, Заметки и Календарь. Каждый день этими сервисами пользуются миллионы человек и тысячи компаний.
Яндекс 360 - это несколько сотен миллионов входящих писем в сутки, больше сотни терабайт загрузки данных в сутки, десятки тысяч видео конференций в сутки, сервисы с сотнями тысяч RPS и многое другое. Реальная возможность делать интересные проекты с видимым результатом для огромной аудитории.
Проекты на любой вкус - B2B / B2C, разнообразные задачи - продуктовые / технические / инфраструктура. Большой импакт на продукт - отдельный разработчик значительно влияет на то, как пользователи будут использовать наши продукты.
Команде нужны инженеры с экспертизой в Android или iOS, с опытом от 3 лет в коммерческой разработке. Подробнее про команду Диска и команду Почты.
🚀 Из интересного:
- Kotlin Multiplatform Mobile;
- Прохождение всех тех.секций занимает 2,5 часа;
- Локация команды - Москва, Питер, Минск, Белград, рассматриваем гибридный формат работы (2-3 дня) в этих городах 🙂
✒️ Буду рад более подробней обсудить вакансию @Nikpro_IT
Релиз Jetpack Compose 1.5
👉Модификаторы стали работать на 80% быстрее во время композиции.
👉Сильно улучшено потребление памяти.
👉BasicText тоже ускорился.
👉LazyStaggeredGrid стал стабильным.
Все будущие планы – в роадмапе.
👉Модификаторы стали работать на 80% быстрее во время композиции.
👉Сильно улучшено потребление памяти.
👉BasicText тоже ускорился.
👉LazyStaggeredGrid стал стабильным.
Все будущие планы – в роадмапе.
Android Developers Blog
What’s new in the Jetpack Compose August ’23 release
News and insights on the Android platform, developer tools, and events.
Как работает CPU
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
This media is not supported in your browser
VIEW IN TELEGRAM
Когда метод был добавлен в Jetpack библиотеку
В API reference Jetpack библиотек добавили информацию о версиях, в которых каждый метод был добавлен или задепрекейчен.
В API reference Jetpack библиотек добавили информацию о версиях, в которых каждый метод был добавлен или задепрекейчен.
Ozon Tech приглашает на митап по мобильной разработке
29 августа в 19:00 | Москва
Офлайн l Онлайн
Кому будет полезно?
Android-, iOS-разработчикам и QA mobile
О чём встреча?
Главная тема митапа — дизайн-система. Затронем вопросы:
➖ Декларативная дизайн-система и Figma + SwiftUI/Jetpack Compose
➖ Тестирование и shapshot-тесты в частности.
➖ Как подружить дизайн-систему и BDUI.
❗️ Не забудьте зарегистрироваться на офлайн/онлайн.
29 августа в 19:00 | Москва
Офлайн l Онлайн
Кому будет полезно?
Android-, iOS-разработчикам и QA mobile
О чём встреча?
Главная тема митапа — дизайн-система. Затронем вопросы:
Please open Telegram to view this post
VIEW IN TELEGRAM
tl;dr legal – опенсорсные лицензии простым языком
Если вы имеете дело с опенсорсными лицензиями – либо принимаете решения о затаскивании зависимостей в проект, либо распространяете свою библиотеку, сохраните себе этот сайт. Tl;dr Legal – каталог всех опенсорсных лицензий с разбором их требований простым языком.
Если вы имеете дело с опенсорсными лицензиями – либо принимаете решения о затаскивании зависимостей в проект, либо распространяете свою библиотеку, сохраните себе этот сайт. Tl;dr Legal – каталог всех опенсорсных лицензий с разбором их требований простым языком.
Простота API задает его элегантность
На примере интерфейса
На примере интерфейса
Provider
, который активно используется в Dagger, автор показывает, как очень простое по своей сути архитектурное решение позволяет вынести управление жизненным циклом всех сущностей в детали имплементации.Simple APIs are elegant APIs
Simple APIs are elegant APIs :: Ryan Harter
I recently gave a presentation about how Dagger works under the hood, and I was once again struck by the elegance of the `javax.inject.Provider` interface. The interface is so simple it almost seems useless, but it's also incredibly flexible, and forms the…