MMKV - это эффективный, небольшой и простой в использовании мобильный фреймворк для хранения ключевых значений, используемый Tencent в приложении WeChat. В настоящее время он доступен для Android, iOS/macOS, Windows, POSIX и HarmonyOS NEXT.
Фичи: эффективность - MMKV использует mmap для синхронизации памяти с файлами и protobuf для кодирования/декодирования значений, максимально используя возможности Android для достижения наилучшей производительности; многопроцессный параллелизм - MMKV поддерживает одновременный доступ процессов к чтению-чтению и чтению-записи; простота - можно использовать MMKV по мере необходимости, все изменения сохраняются немедленно; небольшой - 50K в бинарнике.
MMKV на GitHub: https://github.com/Tencent/MMKV
Платформа: Android/кроссплатформа
⭐️: 17.6K
Фичи: эффективность - MMKV использует mmap для синхронизации памяти с файлами и protobuf для кодирования/декодирования значений, максимально используя возможности Android для достижения наилучшей производительности; многопроцессный параллелизм - MMKV поддерживает одновременный доступ процессов к чтению-чтению и чтению-записи; простота - можно использовать MMKV по мере необходимости, все изменения сохраняются немедленно; небольшой - 50K в бинарнике.
MMKV на GitHub: https://github.com/Tencent/MMKV
Платформа: Android/кроссплатформа
⭐️: 17.6K
Малоизвестные представления SwiftUI
Здесь я пытаюсь показать некоторые представления, которые в целом редко используются (если вы глубоко погружены в SwiftUI, то, возможно, уже знаете их):
• AnyLayout
• ViewThatFits
• ContentUnavailableView
Статья: https://apptractor.ru/info/articles/maloizvestnye-predstavleniya-swiftui.html
Платформа: iOS
Здесь я пытаюсь показать некоторые представления, которые в целом редко используются (если вы глубоко погружены в SwiftUI, то, возможно, уже знаете их):
• AnyLayout
• ViewThatFits
• ContentUnavailableView
Статья: https://apptractor.ru/info/articles/maloizvestnye-predstavleniya-swiftui.html
Платформа: iOS
Стековая и кучная память в Kotlin
Задумывались ли вы когда-нибудь над тем, как работает распределение памяти в Kotlin? Предлагаю погрузиться в волшебный мир стековой и кучной памяти, используя забавные аналогии из повседневной жизни. Приготовьтесь к увлекательному путешествию!
Статья: https://nuancesprog.ru/p/22872/
Платформа: Android
Задумывались ли вы когда-нибудь над тем, как работает распределение памяти в Kotlin? Предлагаю погрузиться в волшебный мир стековой и кучной памяти, используя забавные аналогии из повседневной жизни. Приготовьтесь к увлекательному путешествию!
Статья: https://nuancesprog.ru/p/22872/
Платформа: Android
AppTractor
Архивы Android - AppTractor
Про разработку и создание приложений для Android (андроид), про написание программ и, конечно, про сами приложения для Android
❤1
sRouting - легкий и гибкий навигационный фреймворк для SwiftUI. Фреймворк предоставляет собственный механизм навигации, который упрощает перемещение между экранами.
sRouting на GitHub: https://github.com/ThangKM/sRouting
Платформа: iOS
⭐️: 11
sRouting на GitHub: https://github.com/ThangKM/sRouting
Платформа: iOS
⭐️: 11
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(iOS Ru) SwiftUI: алхимия приложений — превращаем идеив реальность•
(iOS Ru) Тактики ускорения билда: матиз, кобальт, камри 3.5•
(iOS Ru) SwiftUI: Custom TabBar + animation•
(iOS En) Apple Engineer Shows How To Build a SwiftUI Step Counter•
(iOS En) Complete Document Scanner App•
(iOS En) Working with C and C++ in Apple environment•
(And Ru) Переезжаем с фрагментов на (De)compose•
(And Ru) Как устроена разработка в Яндекс.Клавиатуре•
(And Ru) Android + AI. Решаем задачи с умом•
(And En) 5 Things You MUST Do Before Deploying Your App to Google Play (or you'll regret it)•
(And En) The Beginner to Industry-Ready Roadmap For Android & KMP Development In 2025•
(And En) We fixed an inconsistency in Kotlin (non-local break & continue)•
(And En) What are all of those Kotlin function types for?•
(Dev Ru) Основы DevEx: ищем, куда исчезает время программистов•
(Dev Ru) Заменяем облака домашним сервером — Selfhosting, homelabЭкспорт и импорт File Templates в IDE от Intellij
Это заключительная статья цикла про File Templates. В предыдущих частях мы познакомились с инструментом File Templates, разобрали синтаксис написания шаблонов и написали шаблоны для кода типового экрана SomeFeature мобильного приложения.
В заключительной части разберем, как можно экспортировать и импортировать File Templates в Intellij-IDE, а также подведем общие итоги по циклу статей.
Статья: https://habr.com/ru/companies/tbank/articles/874048/
Платформа: Android
Это заключительная статья цикла про File Templates. В предыдущих частях мы познакомились с инструментом File Templates, разобрали синтаксис написания шаблонов и написали шаблоны для кода типового экрана SomeFeature мобильного приложения.
В заключительной части разберем, как можно экспортировать и импортировать File Templates в Intellij-IDE, а также подведем общие итоги по циклу статей.
Статья: https://habr.com/ru/companies/tbank/articles/874048/
Платформа: Android
❤2
5 лет React Native в Shopify
Shopify поделились своим 5-летним опытом работы с React Native. В статье подробно рассказывается:
✅ Почему компания выбрала RN для своих приложений.
✅ Какие вызовы пришлось преодолеть.
✅ Как они оптимизировали производительность и работали над улучшением UX.
✅ Какие инструменты и подходы разработали для масштабирования проектов.
💡 Это отличный кейс для всех, кто использует или планирует использовать React Native. Особенно полезно для тех, кто строит большие продукты и ищет способы сохранить баланс между кросс-платформенностью и качеством приложений.
Статья: https://shopify.engineering/five-years-of-react-native-at-shopify
Платформа: кроссплатформа
Shopify поделились своим 5-летним опытом работы с React Native. В статье подробно рассказывается:
✅ Почему компания выбрала RN для своих приложений.
✅ Какие вызовы пришлось преодолеть.
✅ Как они оптимизировали производительность и работали над улучшением UX.
✅ Какие инструменты и подходы разработали для масштабирования проектов.
💡 Это отличный кейс для всех, кто использует или планирует использовать React Native. Особенно полезно для тех, кто строит большие продукты и ищет способы сохранить баланс между кросс-платформенностью и качеством приложений.
Статья: https://shopify.engineering/five-years-of-react-native-at-shopify
Платформа: кроссплатформа
🤮5👏2
Android Interview Questions and Answers - репозиторий с вопросами для Android-собеседований. Материал систематизирован, охватывает большинство тем, которые чаще всего встречаются на собеседованиях. Подойдет как новичкам, так и опытным разработчикам для закрепления знаний. Внутри:
• Основы Android: Activity, Fragment, жизненные циклы.
• Архитектура приложений: MVVM, MVP, Clean Architecture.
• Работа с данными: Room, SQLite, SharedPreferences.
• Асинхронность: Coroutines, RxJava, WorkManager.
• Лучшие практики: Советы по кодингу, оптимизации производительности и безопасности.
Android Interview Questions на GitHub: https://github.com/amitshekhariitbhu/android-interview-questions
Платформа: Android
⭐️: 11.6K
• Основы Android: Activity, Fragment, жизненные циклы.
• Архитектура приложений: MVVM, MVP, Clean Architecture.
• Работа с данными: Room, SQLite, SharedPreferences.
• Асинхронность: Coroutines, RxJava, WorkManager.
• Лучшие практики: Советы по кодингу, оптимизации производительности и безопасности.
Android Interview Questions на GitHub: https://github.com/amitshekhariitbhu/android-interview-questions
Платформа: Android
⭐️: 11.6K
👍2
Go в GUI, я создал
Идея сделать игру под Android на Go была неоднозначной, но интересной. Я легко мог представить Go не только в привычной для него сервисной нише, но и в прикладной — его кросс-платформенность и близость к системному уровню в сочетании с простотой пришлись бы там очень кстати. И вот мы здесь — игру мечты я пока не создал, но пару игр попроще сделать удалось.
Статья: https://habr.com/ru/articles/874264/
Платформа: Android
Идея сделать игру под Android на Go была неоднозначной, но интересной. Я легко мог представить Go не только в привычной для него сервисной нише, но и в прикладной — его кросс-платформенность и близость к системному уровню в сочетании с простотой пришлись бы там очень кстати. И вот мы здесь — игру мечты я пока не создал, но пару игр попроще сделать удалось.
Статья: https://habr.com/ru/articles/874264/
Платформа: Android
👍1
Костыли, костыли и ещё раз костыли. Или поддержка iOS 15 на SwiftUI
Итак, есть задача: переделать экран авторизации на новый дизайн, добавить новые способы авторизации. И заодно опять же перейти на SwiftUI. Кстати, у нас довольно объёмный проект, и я думала мы будем очень долго переходить с UIKit, но прошло пол года, а уже треть почти переделана, без особых напрягов.
Статья: https://habr.com/ru/articles/874258/
Платформа: iOS
Итак, есть задача: переделать экран авторизации на новый дизайн, добавить новые способы авторизации. И заодно опять же перейти на SwiftUI. Кстати, у нас довольно объёмный проект, и я думала мы будем очень долго переходить с UIKit, но прошло пол года, а уже треть почти переделана, без особых напрягов.
Статья: https://habr.com/ru/articles/874258/
Платформа: iOS
Как Класс производительности помог Google Maps предоствить первоклассный опыт
Экосистема Android включает в себя широкий спектр устройств, и бывает сложно создать опыт, который бы использовал преимущества новых или премиальных аппаратных функций и при этом хорошо работал для пользователей на всех устройствах. В Android 12 Google ввел стандарт Media Performance Class (MPC), чтобы помочь разработчикам лучше понять возможности устройства и определить высокопроизводительные устройства.
Статья: https://apptractor.ru/info/articles/kak-klass-proizvoditelnosti-pomog-google-maps-predostvit-pervoklassnyy-opyt.html
Платформа: Android
Экосистема Android включает в себя широкий спектр устройств, и бывает сложно создать опыт, который бы использовал преимущества новых или премиальных аппаратных функций и при этом хорошо работал для пользователей на всех устройствах. В Android 12 Google ввел стандарт Media Performance Class (MPC), чтобы помочь разработчикам лучше понять возможности устройства и определить высокопроизводительные устройства.
Статья: https://apptractor.ru/info/articles/kak-klass-proizvoditelnosti-pomog-google-maps-predostvit-pervoklassnyy-opyt.html
Платформа: Android
👍1
Forwarded from Mobile Development by AppTractor
Shopify поделился своим опытом использования React Native в компании. Основные тезисы:
• Приложения на React Native работают быстро
• Горячая перезагрузка — это потрясающе
• Typenoscript открывает возможности движения талантов
• Нативные разработчики имеют решающее значение
• Нативный код имеет решающее значение
• Отладка хуже
• Обновления React Native не являются бесшовными
• Большая зависимость от библиотек сторонних разработчиков
• Общие основы открывают массу преимуществ
Главный вывод - за последние 5 лет React Native прошел долгий путь развития, и многие ограничения, из-за которых люди не принимали его, просто больше не существуют. Если вы давно не пробовали использовать RN, сейчас самое время вернуться к нему.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Sharing - мгновенный обмен состоянием между функциями вашего приложения и внешними слоями, включая user defaults, файловую систему и многое другое. Инструмент работает в различных контекстах, таких как представления SwiftUI, модели @Observable и контроллеры представлений UIKit, и полностью поддается модульному тестированию.
Sharing на GitHub: https://github.com/pointfreeco/swift-sharing
Платформа: iOS
⭐️: 459
Sharing на GitHub: https://github.com/pointfreeco/swift-sharing
Платформа: iOS
⭐️: 459
Архитектура для SwiftUI — VSURF
Кому-то может показаться, что мы изобретаем велосипед. Кто-то упрекнет нас в том, что мы специально накосячили с одной из классических архитектур, чтобы выставить её в плохом свете. Другой скажет, что архитектура вообще не нужна.
Но мы уверены в своих силах. Ведь у нас уже была SurfMVP, а теперь пришел час VSURF. Технологии не стоят на месте, а задачи остаются прежними. Заказчику нужна «картинка». Разработчики собирают «картинку» как пазл. А архитектор продумывает детали этого пазла.
Статья: https://habr.com/ru/companies/surfstudio/articles/874958/
Платформа: iOS
Кому-то может показаться, что мы изобретаем велосипед. Кто-то упрекнет нас в том, что мы специально накосячили с одной из классических архитектур, чтобы выставить её в плохом свете. Другой скажет, что архитектура вообще не нужна.
Но мы уверены в своих силах. Ведь у нас уже была SurfMVP, а теперь пришел час VSURF. Технологии не стоят на месте, а задачи остаются прежними. Заказчику нужна «картинка». Разработчики собирают «картинку» как пазл. А архитектор продумывает детали этого пазла.
Статья: https://habr.com/ru/companies/surfstudio/articles/874958/
Платформа: iOS
💩1🥴1
Абсолютно потрясающее, но определенно не всеобъемлющее руководство по тестированию пуш-уведомлений
Представьте себе страшный сон тестировщика и в целом вашей команды – пользователи пишут в поддержку, что пуши не приходят, сообщения не доходят, а вы никак не можете воспроизвести проблему и у вас даже нет понимания: а как это воспроизводить, от чего вообще зависит доставка пушей?
Посмотрев русскоязычные и англоязычные ресурсы про тестирование, я так и не смог найти полноценного материала, который бы гарантировал достаточные знания для того, чтобы понимать как пуши и уведомления работают, как их тестировать и что не маловажно как искать и разбираться с проблемами, когда пуши не доходят до пользователей.
Статья: https://habr.com/ru/articles/811297/
Платформа: Android/тестирование
Представьте себе страшный сон тестировщика и в целом вашей команды – пользователи пишут в поддержку, что пуши не приходят, сообщения не доходят, а вы никак не можете воспроизвести проблему и у вас даже нет понимания: а как это воспроизводить, от чего вообще зависит доставка пушей?
Посмотрев русскоязычные и англоязычные ресурсы про тестирование, я так и не смог найти полноценного материала, который бы гарантировал достаточные знания для того, чтобы понимать как пуши и уведомления работают, как их тестировать и что не маловажно как искать и разбираться с проблемами, когда пуши не доходят до пользователей.
Статья: https://habr.com/ru/articles/811297/
Платформа: Android/тестирование
❤3👍1🔥1
Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника
В статье рассказываем, как в суперсжатые сроки реализовали распознавание номеров телефонов on-device на iOS. Результаты работы мы представили 40 тысячам гостей на стенде Т-Банка нашего продукта на ИТ-Пикнике 2024 — ежегодном фестивале для айтишников.
Мы расскажем о технических достижениях и вызовах, с которыми столкнулись, поделимся решениями, которые разработали специально для мероприятия, а еще теми, что уже встроены в наши приложения и успешно используются
Статья: https://habr.com/ru/companies/tbank/articles/874868/
Платформа: iOS
В статье рассказываем, как в суперсжатые сроки реализовали распознавание номеров телефонов on-device на iOS. Результаты работы мы представили 40 тысячам гостей на стенде Т-Банка нашего продукта на ИТ-Пикнике 2024 — ежегодном фестивале для айтишников.
Мы расскажем о технических достижениях и вызовах, с которыми столкнулись, поделимся решениями, которые разработали специально для мероприятия, а еще теми, что уже встроены в наши приложения и успешно используются
Статья: https://habr.com/ru/companies/tbank/articles/874868/
Платформа: iOS
Lumo-UI - плагин Gradle для генерации компонентов пользовательского интерфейса Compose через командную строку. Он предоставляет настраиваемые и готовые к использованию компоненты, которые вы можете скопировать и вставить в свои проекты. Он генерирует компоненты пользовательского интерфейса непосредственно в вашей кодовой базе, предоставляя вам полное право собственности и гибкость в настройке их в соответствии с вашими конкретными потребностями дизайна, без внешних зависимостей.
Lumo-UI на GitHub: https://github.com/nomanr/lumo-ui
Платформа: Android
⭐️: 159
Lumo-UI на GitHub: https://github.com/nomanr/lumo-ui
Платформа: Android
⭐️: 159
❤2
Технический гайд по сторис или как мы повысили конверсию в мобильном приложении в 9 раз
Наша команда мобильной разработки развивает одноименное приложение — онлайн-платформу для решения вопросов с недвижимостью. Мы помогаем проводить сделки проще, быстрее и безопаснее. Основные пользователи приложения — физические лица (B2C) и риелторы (B2B2C). Эта статья — технический гайд для android-разработчиков, которые хотят реализовать и внедрить полный цикл сторис у себя в приложении с использованием: Compose, MVVM, Coroutines flow и правил чистой архитектуры.
Статья: https://habr.com/ru/companies/m2tech/articles/874438/
Платформа: Android
Наша команда мобильной разработки развивает одноименное приложение — онлайн-платформу для решения вопросов с недвижимостью. Мы помогаем проводить сделки проще, быстрее и безопаснее. Основные пользователи приложения — физические лица (B2C) и риелторы (B2B2C). Эта статья — технический гайд для android-разработчиков, которые хотят реализовать и внедрить полный цикл сторис у себя в приложении с использованием: Compose, MVVM, Coroutines flow и правил чистой архитектуры.
Статья: https://habr.com/ru/companies/m2tech/articles/874438/
Платформа: Android
Jetpack Compose и Edge-to-Edge на Android 15
В Android 15 (API 35) Google продолжает продвигать иммерсивные пользовательские интерфейсы от края до края (edge-to-edge). Несмотря на то, что это улучшает дизайн современных приложений, это вносит тонкие изменения, которые могут нарушить существующие макеты - особенно если ваше приложение полагается на точную работу с системными панелями. В этой статье мы рассмотрим, как перенести приложение Jetpack Compose на API 35, и обсудим лучшие методы управления переходом к edge-to-edge UI.
Статья: https://apptractor.ru/info/articles/jetpack-compose-i-edge-to-edge-na-android-15.html
Платформа: Android
В Android 15 (API 35) Google продолжает продвигать иммерсивные пользовательские интерфейсы от края до края (edge-to-edge). Несмотря на то, что это улучшает дизайн современных приложений, это вносит тонкие изменения, которые могут нарушить существующие макеты - особенно если ваше приложение полагается на точную работу с системными панелями. В этой статье мы рассмотрим, как перенести приложение Jetpack Compose на API 35, и обсудим лучшие методы управления переходом к edge-to-edge UI.
Статья: https://apptractor.ru/info/articles/jetpack-compose-i-edge-to-edge-na-android-15.html
Платформа: Android
Recall - это приложение-календарь, предназначенное для записи ежедневных событий, чтобы иметь возможность просматривать тенденции в продуктивности, достижении целей и управлении временем. Оно построено на базе Swift и SwiftUI, а на бэкенде использует MongoDB и Realm DeviceSync.
Recall на GitHub: https://github.com/Brian-Masse/Recall
Платформа: iOS
⭐️: 7
Recall на GitHub: https://github.com/Brian-Masse/Recall
Платформа: iOS
⭐️: 7