Новенькое с WWDC23: Отчёты о тестировании и аудит доступности
Я — Никита Коробейников, iOS Team Lead в Surf. Уже поставил бета-версию Xcode 15 и проверил на автотестах материал с сессий Fix failures faster with Xcode test reports и Perform accessibility audits for your app. Рассказываю, почему разработчикам гораздо удобнее теперь делать приложение доступным.
Статья: https://habr.com/ru/companies/surfstudio/articles/741830/
Платформа: iOS
Я — Никита Коробейников, iOS Team Lead в Surf. Уже поставил бета-версию Xcode 15 и проверил на автотестах материал с сессий Fix failures faster with Xcode test reports и Perform accessibility audits for your app. Рассказываю, почему разработчикам гораздо удобнее теперь делать приложение доступным.
Статья: https://habr.com/ru/companies/surfstudio/articles/741830/
Платформа: iOS
Хабр
Новенькое с WWDC23: Отчёты о тестировании и аудит доступности
Вот и закончилась очередная конференция Apple WWDC23 , на которой ребята из Apple рассказали об изменениях Xcode и Swift. Я — Никита Коробейников , iOS Team Lead в Surf. Уже поставил...
👌1
Compose Sensors - доступ к данным датчиков Android-устройств. Эта библиотека предоставляет удобную обертку над Sensor API в Android для использования с Jetpack Compose. Поддерживаются все датчики - от акселерометров до глубины и направления.
Compose Sensors на GitHub: https://github.com/mutualmobile/ComposeSensors
Платформа: Android
⭐️: 111
Compose Sensors на GitHub: https://github.com/mutualmobile/ComposeSensors
Платформа: Android
⭐️: 111
👍1
История ограничений фоновой работы в Android для разработчиков
Когда-то в Android были времена, когда запустить задачу в фоне было просто и гарантии её работы были высоки. Теперь же в ОС есть множество ограничений: работа в фоне, доступ к файловой системе, системы оптимизации расхода батарейки, разрешения, часть которых требует одобрения модераторов Google Play. Разработчикам приходится работать в условиях всех этих ограничений и учитывать их при разработке фичей. В рамках этой статьи я хочу разобраться с ограничениями, которые есть на разных версиях Android, чтобы вы смогли лучше понимать, что может происходить.
Статья: https://habr.com/ru/companies/broadcast/articles/734236/
Платформа: Android
Когда-то в Android были времена, когда запустить задачу в фоне было просто и гарантии её работы были высоки. Теперь же в ОС есть множество ограничений: работа в фоне, доступ к файловой системе, системы оптимизации расхода батарейки, разрешения, часть которых требует одобрения модераторов Google Play. Разработчикам приходится работать в условиях всех этих ограничений и учитывать их при разработке фичей. В рамках этой статьи я хочу разобраться с ограничениями, которые есть на разных версиях Android, чтобы вы смогли лучше понимать, что может происходить.
Статья: https://habr.com/ru/companies/broadcast/articles/734236/
Платформа: Android
Хабр
История ограничений фоновой работы в Android для разработчиков
Когда-то в Android были времена, когда запустить задачу в фоне было просто и гарантии её работы были высоки. Теперь же в ОС есть множество ограничений: работа в фоне, доступ к файловой системе,...
👍1
Раскрытие возможностей шаблона Декоратор
В этой статье мы отправимся в прагматичное путешествие по шаблону проектирования Декоратор (Decorator), раскрывая его принципы, практические подходы к реализации и реальные примеры использования.
Статья: https://apptractor.ru/info/articles/decorator.html
Платформа: Swift/Kotlin
В этой статье мы отправимся в прагматичное путешествие по шаблону проектирования Декоратор (Decorator), раскрывая его принципы, практические подходы к реализации и реальные примеры использования.
Статья: https://apptractor.ru/info/articles/decorator.html
Платформа: Swift/Kotlin
👍1
Макросы Swift появились в Swift 5.9 и были анонсированы на WWDC 2023. Макросы позволяют расширить функции компилятора с помощью кастомных проверок, проводимых во время компиляции, анализировать код, генерировать новый код, который будет записан в файлы во время компиляции, что позволит отказаться от шаблонного кода. Репозиторий Swift Macros - список созданных сообществом макросов и связанных с ними обучающих ресурсов.
Swift Macros на GitHub: https://github.com/krzysztofzablocki/Swift-Macros
Платформа: iOS
⭐️: 797
Swift Macros на GitHub: https://github.com/krzysztofzablocki/Swift-Macros
Платформа: iOS
⭐️: 797
Производительность Android-приложений: анализ узких мест с помощью Perfetto
Найти точную первопричину узкого места в производительности иногда бывает непросто. В этой статье мы рассмотрим, как с помощью Perfetto исследовать узкие места в производительности приложения, которые могут вызывать замедление или провалы в работе пользовательского интерфейса.
Статья: https://medium.com/@patilshreyas/mastering-android-app-performance-analyzing-bottlenecks-with-perfetto-3176b59f26d2
Платформа: Android
Найти точную первопричину узкого места в производительности иногда бывает непросто. В этой статье мы рассмотрим, как с помощью Perfetto исследовать узкие места в производительности приложения, которые могут вызывать замедление или провалы в работе пользовательского интерфейса.
Статья: https://medium.com/@patilshreyas/mastering-android-app-performance-analyzing-bottlenecks-with-perfetto-3176b59f26d2
Платформа: Android
👍1
Как обрабатывать пустые состояния с помощью UIContentUnavailableConfiguration
В этом году на WWDC Apple удивила разработчиков неожиданным улучшением UIKit. Введение UIContentUnavailableConfiguration было направлено на упрощение процесса создания пустых состояний для контроллеров представления.
По словам Apple, UIContentUnavailableConfiguration представляет собой composable описание пустого состояния и может быть снабжено содержимым-заполнителем, например, изображением или текстом.
Статья: https://swiftsenpai.com/development/using-uicontentunavailableconfiguration/
Платформа: iOS
В этом году на WWDC Apple удивила разработчиков неожиданным улучшением UIKit. Введение UIContentUnavailableConfiguration было направлено на упрощение процесса создания пустых состояний для контроллеров представления.
По словам Apple, UIContentUnavailableConfiguration представляет собой composable описание пустого состояния и может быть снабжено содержимым-заполнителем, например, изображением или текстом.
Статья: https://swiftsenpai.com/development/using-uicontentunavailableconfiguration/
Платформа: iOS
❤1
Alfa Mobile Meetup в Технопарке аттракционов 📲
23 июня в офисе Альфа-Банка в Москве пройдет митап для iOS и Android разработчиков.
Как всегда, будет два отдельных трека: для iOS и Android. И на каждом треке будут свои доклады от разработчиков из Альфы, Ozon и Яндекс.
На треке Android спикеры обсудят с участниками, зачем объединять код от разных команд в одну библиотеку и как создать Android-монорепозиторий, как работают альтернативные маркетплейсы для приложений и устроен процесс релизов у Альфа-Банка.
На треке iOS будет доклад про дебаггинг приложения без Xcode и дискуссия с коллегами из Яндекса и Ozon Tech.
А помимо докладов гости смогут поучаствовать в розыгрыше мерча от Альфы, попробовать хот-доги и сладкую вату.
Когда: 23 июня в 18:30
Где: в офисе Альфа-Банка в Москве или онлайн
Зарегистрироваться на митап и посмотреть программу
23 июня в офисе Альфа-Банка в Москве пройдет митап для iOS и Android разработчиков.
Как всегда, будет два отдельных трека: для iOS и Android. И на каждом треке будут свои доклады от разработчиков из Альфы, Ozon и Яндекс.
На треке Android спикеры обсудят с участниками, зачем объединять код от разных команд в одну библиотеку и как создать Android-монорепозиторий, как работают альтернативные маркетплейсы для приложений и устроен процесс релизов у Альфа-Банка.
На треке iOS будет доклад про дебаггинг приложения без Xcode и дискуссия с коллегами из Яндекса и Ozon Tech.
А помимо докладов гости смогут поучаствовать в розыгрыше мерча от Альфы, попробовать хот-доги и сладкую вату.
Когда: 23 июня в 18:30
Где: в офисе Альфа-Банка в Москве или онлайн
Зарегистрироваться на митап и посмотреть программу
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Clock of Clocks - анимированные часы, сделанные с помощью Jetpack Compose.
Clock of Clocks на GitHub: https://github.com/khoa-omega/clock-of-clocks
Платформа: Android
⭐️: 22
Clock of Clocks на GitHub: https://github.com/khoa-omega/clock-of-clocks
Платформа: Android
⭐️: 22
❤2
Библиотека MockWebServer-DSL в open-source: делаем конфетку из сетевых запросов в UI-тестах
Сегодня мы выпускаем в open-source собственную библиотеку MockWebServer DSL. Она помогает удобно писать обработчики запросов на бэкенд в Android-тестах. Мы давно пользуемся ею внутри нашей команды мобильной разработки в Авто.ру и других сервисах Яндекс Вертикалей — Аренде, Путешествиях, Недвижимости — и теперь хотим поделиться этим инструментом с остальными.
Статья: https://habr.com/ru/companies/yandex/articles/741882/
Платформа: Android
Сегодня мы выпускаем в open-source собственную библиотеку MockWebServer DSL. Она помогает удобно писать обработчики запросов на бэкенд в Android-тестах. Мы давно пользуемся ею внутри нашей команды мобильной разработки в Авто.ру и других сервисах Яндекс Вертикалей — Аренде, Путешествиях, Недвижимости — и теперь хотим поделиться этим инструментом с остальными.
Статья: https://habr.com/ru/companies/yandex/articles/741882/
Платформа: Android
Хабр
Библиотека MockWebServer-DSL в open-source: делаем конфетку из сетевых запросов в UI-тестах
Писать стабильные UI-тесты для Android-приложений — непростая задача. Здесь против ваших тестов работают обилие девайсов, нестабильность эмуляторов, многообразие поддерживаемых версий ОС, а ещё — ваши...
AppFiles - Mobile Development
Как обрабатывать пустые состояния с помощью UIContentUnavailableConfiguration В этом году на WWDC Apple удивила разработчиков неожиданным улучшением UIKit. Введение UIContentUnavailableConfiguration было направлено на упрощение процесса создания пустых состояний…
AppTractor
Как использовать UIContentUnavailableConfiguration для управления пустыми состояниями
Мне очень нравится это улучшение в UIKit, оно затрагивает аспект, которым долгое время пренебрегали разработчики и дизайнеры - пустое состояние.
Quick - behavior-driven фреймворк тестирования для Swift и Objective-C. Quick помогает вам проверить, как ведет себя ваш код в приложении, сравнивая то, что вы ожидаете от приложения, с тем, что получаете.
Quick на GitHub: https://github.com/Quick/Quick
Платформа: iOS
⭐️: 9.7K
Quick на GitHub: https://github.com/Quick/Quick
Платформа: iOS
⭐️: 9.7K
Портирование Graphing Calculator с C++ на Swift
Стоило ли мое время портирования на Swift? Мне понравилось изучать Swift, и теперь я намного больше доволен состоянием кода. Писать на Swift — сплошное удовольствие. С 80-х я намеревался в конечном итоге открыть исходный код. Когда я решил сделать это с кодовой базой C++, я понял, что это не будет полезным вкладом из-за накопившегося за десятилетия технического долга, делающего код C++ непригодным для сопровождения. Теперь я уверен, что новый код можно превратить в полезные автономные пакеты Swift для математических выражений, редактирования, числовых и символьных вычислений и построения графиков.
Статья: https://apptractor.ru/info/articles/portirovanie-graphing-calculator-s-c-na-swift.html
Платформа: iOS
Стоило ли мое время портирования на Swift? Мне понравилось изучать Swift, и теперь я намного больше доволен состоянием кода. Писать на Swift — сплошное удовольствие. С 80-х я намеревался в конечном итоге открыть исходный код. Когда я решил сделать это с кодовой базой C++, я понял, что это не будет полезным вкладом из-за накопившегося за десятилетия технического долга, делающего код C++ непригодным для сопровождения. Теперь я уверен, что новый код можно превратить в полезные автономные пакеты Swift для математических выражений, редактирования, числовых и символьных вычислений и построения графиков.
Статья: https://apptractor.ru/info/articles/portirovanie-graphing-calculator-s-c-na-swift.html
Платформа: iOS
Я хочу запускать любое количество Android UI тестов на каждом PR
Серия из 5 статей от Евгения Мацюка, который решает проблему автоматизации тестирования. Сам Евгений работает в Marathon Labs, которая как раз работает на тестовым облаком, так что он сравнивает все доступные решения и заодно продвигает свою платформу.
Статья: https://proandroiddev.com/i-want-to-run-any-number-of-android-ui-tests-on-each-pr-your-actions-part-i-40d694c7d641
Платформа: Android
Серия из 5 статей от Евгения Мацюка, который решает проблему автоматизации тестирования. Сам Евгений работает в Marathon Labs, которая как раз работает на тестовым облаком, так что он сравнивает все доступные решения и заодно продвигает свою платформу.
Статья: https://proandroiddev.com/i-want-to-run-any-number-of-android-ui-tests-on-each-pr-your-actions-part-i-40d694c7d641
Платформа: Android
👍2
AnkiDroid - полуофициальный порт на Android системы карточек Anki для интервального повторения. Есть ночной режим, вайтборд, виджет прогресса, статистика, синхронизация с AnkiWeb, text-to-speech, более 6000 готовых колод карточек, 2 алгоритма повторения, добавление новых карточек на основе интентов.
AnkiDroid на GitHub: https://github.com/ankidroid/Anki-Android
Платформа: Android
⭐️: 6.5K
AnkiDroid на GitHub: https://github.com/ankidroid/Anki-Android
Платформа: Android
⭐️: 6.5K
Kotlin Multiplatform и Compose Multiplatform — стратегический провал Apple
Kotlin Multiplatform (KMP) и Compose Multiplatform (CM) представляют собой одну из последних попыток решить эти проблемы. Вместе они представляют собой яркую надежду для менеджмента…
А для Apple они представляют собой крупный стратегический провал высшего порядка.
Статья: https://apptractor.ru/info/articles/kotlin-compose-multiplatform.html
Платформа: кроссплатформа
Kotlin Multiplatform (KMP) и Compose Multiplatform (CM) представляют собой одну из последних попыток решить эти проблемы. Вместе они представляют собой яркую надежду для менеджмента…
А для Apple они представляют собой крупный стратегический провал высшего порядка.
Статья: https://apptractor.ru/info/articles/kotlin-compose-multiplatform.html
Платформа: кроссплатформа
🤡6🤣1
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS Ru)
SwiftUI vs UIKit. Что выбрать новичку?•
(iOS En)
visionOS Fundamentals•
(iOS En)
SwiftUI Menu and Context Menu: How to Show Buttons with Dropdown Lists•
(iOS En)
SwiftUI Presentations with Modals, Bottom Sheets, and FullScreen cover in iOS•
(iOS En)
MatchedGeometryEffect in SwiftUI•
(And Ru)
Android TextView freezesText — замораживаем текст в Android-приложении•
(And Ru)
Что внутри Android SDK•
(And En)
Top 3 things to know from Google Play at Google I/O '2•
(And En)
Technical quality on Google Play•
(And En)
What is the Context? - Android Basics 2023•
(And En)
ViewModels & Configuration Changes - Android Basics 2023•
(And En)
The Art of App Modularization•
(Dev Ru)
Podlodka #323: выбираем язык конфигураций — YAML, TOML или DhallПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
AppTractor
SwiftUI vs UIKit. Что выбрать новичку?
Не пропустите это информативное руководство по выбору и начните свое путешествие в мир мобильной разработки с правильной основой!
👍1
iOS Starter Kit - бесконечный набор примеров для изучающих язык Swift. От самых простых примеров до архитектуры и полезных фишек.
iOS Starter Kit на GitHub: https://github.com/jrasmusson/ios-starter-kit
Платформа: iOS
⭐️: 793
iOS Starter Kit на GitHub: https://github.com/jrasmusson/ios-starter-kit
Платформа: iOS
⭐️: 793
GitHub
GitHub - jrasmusson/ios-starter-kit: A starter kit for those interested in iOS programming
A starter kit for those interested in iOS programming - jrasmusson/ios-starter-kit
🔥2
Осознанная оптимизация Compose
Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии это приводит к неожиданной низкой производительности и проседании метрик.
Статья: https://habr.com/ru/companies/ozontech/articles/742854/
Платформа: Android
Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии это приводит к неожиданной низкой производительности и проседании метрик.
Статья: https://habr.com/ru/companies/ozontech/articles/742854/
Платформа: Android
👍2
Императивный UIKit vs Декларативный SwiftUI
Цель статьи - помочь разработчикам приложений для iOS понять различия между императивным и декларативным подходами к программированию, а также рассмотреть плюсы и минусы фреймворков UIKit и SwiftUI. Знакомство с ними необходимо для оптимизации процесса разработки и создания продукта высокого качества.
Статья: https://habr.com/ru/companies/ozontech/articles/742750/
Платформа: iOS
Цель статьи - помочь разработчикам приложений для iOS понять различия между императивным и декларативным подходами к программированию, а также рассмотреть плюсы и минусы фреймворков UIKit и SwiftUI. Знакомство с ними необходимо для оптимизации процесса разработки и создания продукта высокого качества.
Статья: https://habr.com/ru/companies/ozontech/articles/742750/
Платформа: iOS