Forwarded from Android Good Reads (Egor Tolstoy)
Ищем тестировщика в Compose Multiplatform
Compose Multiplatform – это новый кроссплатформенный UI фреймворк, который разрабатывается в JetBrains. Мы ищем в его команду человека, который будет отвечать за его качество. И вот тут кроется самое интересное, ведь качество делится на два аспекта:
💻Качественный developer experience тех, кто с помощью фреймворка разрабатывает приложения.
🐞Качество приложений, которые получаются на выходе: перфоманс, UX, функциональность.
Несколько примеров задач, которыми предстоит заниматься:
1️⃣Исследовать, как работает нативный скроллинг в iOS приложениях, сравнить его с реализацией скроллинга в Compose Multiplatform, и составить требования по тому, как сделать их максимально похожими.
2️⃣Протестировать API для тестирования приложений на Compose.
3️⃣Написать простое приложение с формой логина и потестировать, как работают все элементы этой формы.
Вакансия подойдет тем, у кого есть опыт разработки тестов или приложений на Kotlin и кто хорошо разбирается в специфике мобильных приложений. Готовы рассматривать и Android-разработчиков, которым интересно заниматься вопросами обеспечения качества, и которые готовы полностью свтичнуться в новую роль!
Вакансия с релокацией: Нидерланды, Германия, Кипр, Сербия или Армения. Отправляйте резюме, а если будут вопросы – пишите напрямую мне (@etolstoy).
Compose Multiplatform – это новый кроссплатформенный UI фреймворк, который разрабатывается в JetBrains. Мы ищем в его команду человека, который будет отвечать за его качество. И вот тут кроется самое интересное, ведь качество делится на два аспекта:
💻Качественный developer experience тех, кто с помощью фреймворка разрабатывает приложения.
🐞Качество приложений, которые получаются на выходе: перфоманс, UX, функциональность.
Несколько примеров задач, которыми предстоит заниматься:
1️⃣Исследовать, как работает нативный скроллинг в iOS приложениях, сравнить его с реализацией скроллинга в Compose Multiplatform, и составить требования по тому, как сделать их максимально похожими.
2️⃣Протестировать API для тестирования приложений на Compose.
3️⃣Написать простое приложение с формой логина и потестировать, как работают все элементы этой формы.
Вакансия подойдет тем, у кого есть опыт разработки тестов или приложений на Kotlin и кто хорошо разбирается в специфике мобильных приложений. Готовы рассматривать и Android-разработчиков, которым интересно заниматься вопросами обеспечения качества, и которые готовы полностью свтичнуться в новую роль!
Вакансия с релокацией: Нидерланды, Германия, Кипр, Сербия или Армения. Отправляйте резюме, а если будут вопросы – пишите напрямую мне (@etolstoy).
JetBrains: Developer Tools for Professionals and Teams
Become the well-awaited Compose Multiplatform Quality Engineer!
Learn more about the position
🔥7
30 мая 2023 года правительство Москвы открыло доступ всем пользователям к библиотеке разработок с открытым кодом Mos.Hub (МосХаб) — аналогу GitHub и GitLab.
https://habr.com/ru/news/738572/
Делитесь впечатлениями, кто уже попробовал?
https://habr.com/ru/news/738572/
Делитесь впечатлениями, кто уже попробовал?
mos.ru
Московская библиотека решений с открытым кодом Mos.Hub стала доступна всем российским разработчикам
Это позволит ИТ-специалистам страны объединиться на базе городской площадки и совместно работать над проектами.
💩8😁7👍4🤔3🔥2
JetBrains в своей рассылке решили поднять тему взаимодействия мобильных приложений и Chat GPT.
https://uxplanet.org/is-it-possible-to-create-an-entire-mobile-app-using-chatgpt-aa6000c357a8
https://mobileappcircular.com/how-chat-gpt-impact-on-mobile-app-development-d5bdc37b0513
https://uxplanet.org/is-it-possible-to-create-an-entire-mobile-app-using-chatgpt-aa6000c357a8
https://mobileappcircular.com/how-chat-gpt-impact-on-mobile-app-development-d5bdc37b0513
Medium
Is It Possible To Create an Entire Mobile App Using ChatGPT?
TL;DR: Yes, but it won’t be as simple as you might think
👍6
Записки разработчицы pinned «А мы тут собрали с авторами полезных каналов для Android разработчиков (именно каналами а не чатами) и сделали общую подборку. Чтобы было удобно собрали все в одной папке https://t.iss.one/addlist/k3QvI6MeX49kMjhi забирайте себе)»
Приглашаем джуниор разработчиков андроид прокачаться на собеседовании 😎
https://www.youtube.com/watch?v=ka30zdgOAYg
https://www.youtube.com/watch?v=ka30zdgOAYg
YouTube
Собеседование на Junior Android Dev у Анны Жарковой
Собеседование проходило в формате вопрос-ответ, при необходимости писали пример ответом на вопрос.
Интервьюер: Анна Жаркова, руководитель группы разработки в Usetech
🔗 Ген партнер Android Broadcast - AvitoTech https://cutt.ly/Dwq5wiTY
🔗 Каналы "Android…
Интервьюер: Анна Жаркова, руководитель группы разработки в Usetech
🔗 Ген партнер Android Broadcast - AvitoTech https://cutt.ly/Dwq5wiTY
🔗 Каналы "Android…
❤15👍5🔥2👎1👏1
Otus готовятся провести открытый урок по профилированию UI на Android:
https://www.youtube.com/watch?v=YbaMaAbBYuY
https://www.youtube.com/watch?v=YbaMaAbBYuY
YouTube
Профайлинг UI // Демо-занятие курса «Android Developer. Professional»
Никто не любит тормозящие приложения, верно?
На открытом уроке мы разберёмся в том, что же такое "тормозящее приложение", рассмотрим основные причины такого поведения, и инструменты, призванные найти и исправить эту проблему.
Но мало понять, какова производительность…
На открытом уроке мы разберёмся в том, что же такое "тормозящее приложение", рассмотрим основные причины такого поведения, и инструменты, призванные найти и исправить эту проблему.
Но мало понять, какова производительность…
🔥8❤2💩1
Forwarded from Mobile Compose
#Release #Compose #Changelog
Compose Release Digest (19.04 — 02.06)
Традиционный дайджест по основным изменениям релизов библиотек фреймворка за последние полтора месяца, среди которых:
🔹RC/Stable🔹
🔸🔸Compose Compiler (1.4.6 — 1.4.7)
▫️Добавлена поддержка версии Kotlin 1.8.21.
▫️Требуемая версия Java понижена с 17 до 11.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.2 — 1.4.3)
▫️Исправлена проблема, при которой AndroidView мог отображаться неверно при использовании с некоторыми модификаторами. (Подробнее)
▫️Исправлен баг, из-за которого клавиатура не отображалась для текстовых полей внутри диалогов, не созданных через Dialog composable. (Подробнее)
🔹Alpha/Beta🔹
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.5.0-alpha03 — 1.5.0-beta01)
▫️Изменено дефолтное поведение SubcomposeLayout в LookaheadScope, внутри которого нет условных slot-блоков (как TabRow, Scaffold или BoxWithConstraints), что позволяет ему лучше работать с lookahead анимациями.
▫️В AnimatedContent добавлена поддержка contentKey. (Подробнее)
▫️В ходе рефакторинга значительно сокращено количество выделений памяти в рекомпозиции, анимациях и AndroidComposeView. (Подробнее)
▫️FlowColumn/FlowRow теперь inline. (Подробнее)
▫️LazyStaggeredGrid API теперь stable. (Подробнее)
▫️Добавлены FlowRowScope и FlowColumnScope для дочерних элементов FlowRow и FlowColumn соответственно. (Подробнее)
▫️Добавлен экспериментальный модификатор Modifier.animateItemPlacement() для анимирования изменения/переупорядочивания позиций элементов при работе с LazyStaggeredGrid. (Подробнее)
▫️В BasicText добавлен отдельный лямбда-параметр color. Спорное решение, но, по заявлению разработчиков, это позволит эффективнее задавать цвет текста, а также его анимировать. (Подробнее)
▫️В методы DrawScope.drawText, Paragraph.paint и MultiParagraph.paint добавлен параметр BlendMode для поддержки различных алгоритмов смешивания при рисовании текста на Canvas. (Подробнее).
▫️TextMeasurer и связанные с ним API больше не являются экспериментальными. (Подробнее).
... и много всего ещё.
Также были обновлены и различные дополнения Compose, а именно:
▫️constraintlayout-compose обновлен до версии 1.1.0-alpha10
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версий 1.0.0-alpha05 и 1.2.0-beta01
▫️Paging-Compose обновлен до версии 1.0.0-alpha20
▫️Compose Material 3 (Material You) обновлен до версии 1.2.0-alpha02
Compose Release Digest (19.04 — 02.06)
Традиционный дайджест по основным изменениям релизов библиотек фреймворка за последние полтора месяца, среди которых:
🔹RC/Stable🔹
🔸🔸Compose Compiler (1.4.6 — 1.4.7)
▫️Добавлена поддержка версии Kotlin 1.8.21.
▫️Требуемая версия Java понижена с 17 до 11.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.2 — 1.4.3)
▫️Исправлена проблема, при которой AndroidView мог отображаться неверно при использовании с некоторыми модификаторами. (Подробнее)
▫️Исправлен баг, из-за которого клавиатура не отображалась для текстовых полей внутри диалогов, не созданных через Dialog composable. (Подробнее)
🔹Alpha/Beta🔹
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.5.0-alpha03 — 1.5.0-beta01)
▫️Изменено дефолтное поведение SubcomposeLayout в LookaheadScope, внутри которого нет условных slot-блоков (как TabRow, Scaffold или BoxWithConstraints), что позволяет ему лучше работать с lookahead анимациями.
▫️В AnimatedContent добавлена поддержка contentKey. (Подробнее)
▫️В ходе рефакторинга значительно сокращено количество выделений памяти в рекомпозиции, анимациях и AndroidComposeView. (Подробнее)
▫️FlowColumn/FlowRow теперь inline. (Подробнее)
▫️LazyStaggeredGrid API теперь stable. (Подробнее)
▫️Добавлены FlowRowScope и FlowColumnScope для дочерних элементов FlowRow и FlowColumn соответственно. (Подробнее)
▫️Добавлен экспериментальный модификатор Modifier.animateItemPlacement() для анимирования изменения/переупорядочивания позиций элементов при работе с LazyStaggeredGrid. (Подробнее)
▫️В BasicText добавлен отдельный лямбда-параметр color. Спорное решение, но, по заявлению разработчиков, это позволит эффективнее задавать цвет текста, а также его анимировать. (Подробнее)
▫️В методы DrawScope.drawText, Paragraph.paint и MultiParagraph.paint добавлен параметр BlendMode для поддержки различных алгоритмов смешивания при рисовании текста на Canvas. (Подробнее).
▫️TextMeasurer и связанные с ним API больше не являются экспериментальными. (Подробнее).
... и много всего ещё.
Также были обновлены и различные дополнения Compose, а именно:
▫️constraintlayout-compose обновлен до версии 1.1.0-alpha10
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версий 1.0.0-alpha05 и 1.2.0-beta01
▫️Paging-Compose обновлен до версии 1.0.0-alpha20
▫️Compose Material 3 (Material You) обновлен до версии 1.2.0-alpha02
❤7👍3
Осталось чуть более суток до Keynote одной из самых ожидаемых недели WWDC https://developer.apple.com/wwdc23/
Apple Developer
WWDC25
Join the worldwide developer community online for a week of technology and creativity.
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Про работу с dynamicMemberLookup
Аннотация
Аннотация
dynamicMemberLookup
позволяет проксировать обращение к свойствам объекта. Например, вместо cache
.storage["profile"]
дергать сразу cache
.profile
. Основной минус такого подхода – компилятор не предупредит вас, что вы обращаетесь к несуществующему свойству. В статье разбирается, как использование KeyPath вместо строковых ключей поможет вернуть compile-time safety.Swift with Majid
Dynamic member lookup in Swift
One of my favorite features of the Swift Language is the dynamic member lookup. We don’t use it very often, but it improves the API of the provided type significantly by improving the way we access the data of the particular type.
Один из самых важных моментов в разработке приложения Android - правильное обращение с состоянием:
https://www.youtube.com/watch?v=V-s4z7B_Gnc
https://www.youtube.com/watch?v=V-s4z7B_Gnc
YouTube
Best practices for saving UI state on Android
Saving a UI state properly is essential for providing a great UX experience. Your users might be disappointed if your screen doesn't preserve its state during a configuration change, activity recreation, or system-initiated process death. Learn best practices…
👍6
Forwarded from Android Broadcast (Кирилл Розов)
На сайте developers.android.com появился раздел с лучшими практиками для высокой производительности SQLite:
👉 Выставляем настройки SQLite (тут)
👉 Правильно проектируйте таблицы с лучшими практиками (тут)
👉 Правильно делайте запросы в БД (тут)
👉 Анализируйте с помощь тулинга работу SQLite (тут)
#sqlite #performance
👉 Выставляем настройки SQLite (тут)
👉 Правильно проектируйте таблицы с лучшими практиками (тут)
👉 Правильно делайте запросы в БД (тут)
👉 Анализируйте с помощь тулинга работу SQLite (тут)
#sqlite #performance
👍8🔥2
Похоже, пора оформлять свои либки и туториалы в физическую форму и делиться с миром. Вселенная недвузначно намекает 🧐
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from Mobile Developer (Алексей Гладков)
Kamel. Compose Multiplatform библиотека для картинок
https://github.com/Kamel-Media/Kamel
Хочу поделиться библиотекой, которую сам использую для картинок в Compose Multiplatform
👉 Поддержка всех платформ
👉 Загрузка по URL
👉 Загрузка локально
👉 Callback загрузки
Пишите насколько полезна вам эта рубрика
https://github.com/Kamel-Media/Kamel
Хочу поделиться библиотекой, которую сам использую для картинок в Compose Multiplatform
👉 Поддержка всех платформ
👉 Загрузка по URL
👉 Загрузка локально
👉 Callback загрузки
Пишите насколько полезна вам эта рубрика
GitHub
GitHub - Kamel-Media/Kamel: Kotlin asynchronous media loading and caching library for Compose.
Kotlin asynchronous media loading and caching library for Compose. - GitHub - Kamel-Media/Kamel: Kotlin asynchronous media loading and caching library for Compose.
👍3
Итак, что мне кажется нужным и полезным:
1. Интерактивные виджеты везде. Мы их ждали, мы их хотели. Вернулась эра мини-плейеров и игрулек на рабочем столе
2. Vision OS. Сама реализация с цельным устройством спорная, но отдельные части API выглядят интересно. И это прорыв в VR/AR
3. SwiftUI. На презентации упомянули вскользь, смотрим доклады
1. Интерактивные виджеты везде. Мы их ждали, мы их хотели. Вернулась эра мини-плейеров и игрулек на рабочем столе
2. Vision OS. Сама реализация с цельным устройством спорная, но отдельные части API выглядят интересно. И это прорыв в VR/AR
3. SwiftUI. На презентации упомянули вскользь, смотрим доклады
👍9
Написала статью-обзор анонсированных сессий:
https://habr.com/ru/companies/usetech/articles/740046/
https://habr.com/ru/companies/usetech/articles/740046/
Хабр
WWDC 2023. Что нового для разработчика
Всем привет! С вами Анна Жаркова, руководитель группы разработки в ГК Usetech . Вчера Apple представили Keynote долгожданной WWDC 2023. Как обычно, основная информация по новинкам для разработки...
👍3
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Подборка анонсов с WWDC
Пока я жду появления подробных статей с разбором всех анонсов, держите несколько отдельных штук, которые мне показались очень крутыми:
👉В SwiftUI можно применять Metal шейдеры к любым вьюхам
👉Благодаря макросам синтаксис для объявления Preview стал очень простым и читаемым
👉А еще Preview теперь работают для AppKit и UIKit
👉В SwiftUI есть новый компонент для готового экрана с пэйволлом
👉В SFSymbols появилась поддержка анимированных иконок, причем анимировать можно слои по отдельности
👉Xcode зашерлочил SwiftGen и генерирует символы для цветов и картинок автоматически
👉Ну и, конечно, Swift Data – замена Core Data, которую я предсказывал каждый год уже пять лет
Пока я жду появления подробных статей с разбором всех анонсов, держите несколько отдельных штук, которые мне показались очень крутыми:
👉В SwiftUI можно применять Metal шейдеры к любым вьюхам
👉Благодаря макросам синтаксис для объявления Preview стал очень простым и читаемым
👉А еще Preview теперь работают для AppKit и UIKit
👉В SwiftUI есть новый компонент для готового экрана с пэйволлом
👉В SFSymbols появилась поддержка анимированных иконок, причем анимировать можно слои по отдельности
👉Xcode зашерлочил SwiftGen и генерирует символы для цветов и картинок автоматически
👉Ну и, конечно, Swift Data – замена Core Data, которую я предсказывал каждый год уже пять лет
X (formerly Twitter)
Janum Trivedi on X
Woah, SwiftUI in iOS 17 adds support for applying Metal shaders onto arbitrary views.
This would make it possible to create really custom visual effects, new blurs/materials, mesh transforms, all sorts of crazy stuff!
https://t.co/L0m970BDiS
This would make it possible to create really custom visual effects, new blurs/materials, mesh transforms, all sorts of crazy stuff!
https://t.co/L0m970BDiS
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
В AOSP занялись созданию SQLite API, чтобы сделать его удобным для KMM. За основу берут SQLite3 C/C++ API
#android #kmp
#android #kmp
👍14🔥1🤝1
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Новый линкер в пять раз быстрее ld64
На WWDC показали новый линкер. Он написан в Apple с нуля и оптимизирован для работы на нескольких ядрах. Это первый продакшн-реди параллельный линкер, доступный для iOS разработки.
На WWDC показали новый линкер. Он написан в Apple с нуля и оптимизирован для работы на нескольких ядрах. Это первый продакшн-реди параллельный линкер, доступный для iOS разработки.
X (formerly Twitter)
Davide Italiano on X
Today at WWDC we introduced a new static linker. It is a ground-up rewrite that’s up to 5x faster than ld64. The new linker is written with multicore in mind, and it’s the first production ready parallel linker officially supported for iOS development. (1/n)
🔥3