AppFiles - Mobile Development
前往频道在 Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
显示更多2 170
订阅者
+124 小时
+17 天
+530 天
帖子存档
KotlinConf'24 - Keynote
Видео: https://www.youtube.com/watch?v=Ar73Axsz2YA
Платформа: Android
SwiftUI на iOS 14: преодолевая баги и улучшая перформанс в 3 раза
Меня зовут Никита, я iOS-разработчик в команде Яндекс Диска. В этой статье я расскажу про наш опыт разработки на SwiftUI с минимальным деплоймент таргетом iOS 14. Да-да, и с ним можно жить — знаю, что многие уже перешли на iOS 15 или 16, но те, кто ещё поддерживают 14 версию, могут почитать про наш кейс и облегчить себе жизнь. В статье я собрал топ-6 багов, с которыми можно столкнуться, а еще поделился, что помогает улучшить перформанс SwiftUI и ускорить ваши view в 3 раза.
Статья: https://habr.com/ru/companies/yandex360/articles/814047/
Платформа: iOS
Геймдев, про который мы забыли: как работали 2D-игры на кнопочных телефонах нулевых
А вы помните, какими были мобильные игры в 2000-х годах? Помните, как разработчики умудрялись уместить целые миры в устройство с небольшим дисплеем, аппаратной клавиатурой, весьма слабым железом и парой сотен килобайт памяти? Но задумывались ли вы, как в своё время работали эти сами игры «под капотом»? В сегодняшней статье-ретроспективе предлагаю вспомнить мобильный геймдев нулевых и узнать, как же работали 2D Java-игры, какие API были доступны и что из себя представлял средний телефон тех лет.
Статья: https://habr.com/ru/companies/timeweb/articles/814975/
Платформа: разработка
Ketch - это простая, мощная, настраиваемая библиотека загрузчика файлов для Android, полностью построенная на Kotlin. Она упрощает процесс загрузки файлов в Android-приложениях, используя возможности WorkManager. Ketch гарантирует загрузку независимо от состояния приложения.
Ketch на GitHub: https://github.com/khushpanchal/Ketch
Платформа: Android
⭐️: 167
Победители Global Gamers Challenge
В течение 103 дней команды придумывали, создавали, искали отзывы и дорабатывали свои проекты. В результате получились захватывающие игры, которые побуждают нас глубже задуматься о том, как мы можем жить более устойчиво. Вот Топ-10 игр победители в алфавитном порядке - с исходниками.
Статья: https://apptractor.ru/info/github/pobediteli-global-gamers-challenge.html
Платформа: Flutter
Утечки памяти в мобильных приложениях: руководство для QA-инженеров
Меня зовут Ира и я руковожу отделом тестирования мобильной платформы: наш отдел занимается разработкой инструментов для автоматизации тестирования мобильных приложений Ozon и тестированием внутренних библиотек, которые используются в наших приложениях. Около года назад мы пытались понять, почему у одной из команд джоба с автотестами отваливается по тайм-ауту. К слову, это был проект мобильного приложения для продавцов, и на нем у нас для автоматизации тестирования используются нативные фреймворки: Kaspresso + Kotlin для Android и XCTest + Swift для iOS.
Статья: https://habr.com/ru/companies/ozontech/articles/815041/
Платформа: тестирование
Foil - легковесная обертка свойств для UserDefaults, "сделанная по уму". Упрощает работу с локальным хранилищем и упрощает наблюдение за переменными.
Foil на GitHub: https://github.com/jessesquires/Foil
Платформа: iOS
⭐️: 425
Вышел Kotlin 2.0.0
Что нового: https://github.com/JetBrains/kotlin/releases/tag/v2.0.0
Платформа: Android
Скриншот-тестирование для превью Compose
Скриншот-тестирование - эффективный способ проверить, как ваш пользовательский интерфейс выглядит для пользователей. Инструмент Compose Preview Screenshot Testing сочетает в себе простоту и возможности composable превью с повышением производительности при выполнении скриншот-тестов на собственном компьютере. Compose Preview Screenshot Testing разработан для того, чтобы быть таким же простым в использовании, как и сами composable превью.
Статья: https://apptractor.ru/info/articles/skrinshot-testirovanie-dlya-prevyu-compose.html
Платформа: Android
А вы знаете, что превью в Xcode работает и с UIKit?
Видео: https://www.youtube.com/watch?v=sC0WnigbmJw
Платформа: iOS
Как создать аудиоплеер. Часть 1. Что под капотом
Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и я расскажу, как можно создать аудиоплеер в приложении. Поговорим об инструментах разработки и устройстве плеера — разберем его «анатомию», компоненты и их применение, а также способы улучшения звука с помощью эквалайзера.
Статья: https://habr.com/ru/companies/zvuk/articles/814017/
Платформа: Android
ComposeLife - это учебный для автора проект, игра “Жизнь” на современных мультиплатформенных технологиях. Внутри Kotlin, UI на Jetpack Compose для приложения, десктопа и обложки для часов, инъекция зависимостей на kotlin-inject и context receivers, AGSL и OpenGL рендеринг, CI на GitHub Actions.
ComposeLife на GitHub: https://github.com/alexvanyo/composelife
Платформа: Android
⭐️: 109
SwiftUI: наконец-то пора? Опыт разработки на SwiftUI в контексте UIKit приложения
Меня зовут Алексей Непомнящих и я мобильный разработчик Леруа Мерлен. В этой статье я бы хотел поделиться своим опытом внедрения первой большой фичи на SwiftUI в приложение, целиком состоящее из UIKit с минимальной требуемой версией iOS 14.
Статья: https://habr.com/ru/companies/leroy_merlin/articles/813979/
Платформа: iOS
Как я доказывал Google, что мне нужны данные юзеров, но я не скамер
Сегодня поделюсь темой, из-за которой я фрустрировал три месяца, столько же общался с проверяющими из около-гугловой компании, наблюдая, как наше приложение теряет баллы в сторе. Речь пойдёт про спортивный челлендж. Именно так, вы не ослышались. Однажды мы пригласили сотрудников посоревноваться в количестве шагов. Согласовали дизайн челленджа, выбрали название — Alfa Energy, раздали задачи продуктовой команде.
На мне, как обычно, была реализация этого функционала на Андроид в паре со вторым разрабом. А я всегда говорил: хочешь спокойствия — выбирай Айфон, хочешь веселья — Андроид.
Статья: https://habr.com/ru/companies/alfa/articles/811835/
Платформа: Android
TimecodeKit - самая надежная, точная и полная библиотека Swift для работы с таймкодами SMPTE/EBU. Поддерживает 22 частоты кадров таймкодов, набор преобразований, вычислений и интеграций с AV-фреймворками Apple.
Таймкоды - это стандарты для адресации видеокадров. Они используются при записи видео (BITC), а также для отображения в DAW (Digital Audio Workstation) или в приложениях для воспроизведения/редактирования видео.
TimecodeKit на GitHub: https://github.com/orchetect/TimecodeKit
Платформа: iOS
⭐️: 80
Видео и подкасты за неделю:
•
(iOS Ru) TextField с автодополнением
• (iOS Ru) SwiftUI-навигация: просто, нативно и декларативно
• (iOS Ru) Удивительный мир внутри .ipa
• (iOS Ru) Core Motion framework в финансовых приложениях
• (iOS En) Unlock the power of grammatical agreement
• (iOS En) Animate symbols in your app
• (iOS En) Inspectors in SwiftUI: Discover the details
• (iOS En) Demystify SwiftUI performance
• (iOS En) SwiftUI Stacked ScrollView
• (iOS En) Syncing ScrollView's + Swipe To Dismiss
• (And Ru) Путешествие к центру Композиции
• (And Ru) Scout: новый фреймворк для ускоренного и безболезненного управления зависимостями
• (And Ru) Компиляторные плагины: модификация и анализ Сompose
• (And Ru) Как я code coverage внедрял да Gradle plugin для baseline писал
• (And En) What's new in Android
• (And En) What's new in Google Play
• (And En) Все видео Google I/O 2024
• (And En) Мобайл на Google I/O 2024
• (And En) Все воркшопы Google I/O 2024
• (And En) Дизайн на Google I/O 2024
• (And En) Type-Safe Navigation with the OFFICIAL Compose Navigation Library
• (And En) How to Implement a Shared Element Transition In Jetpack Compose
• (And En) Mastering Kotlin in 7 Steps
• (And En) Looking Forward to Kotlin 2.0
• (Crs Ru) Полнодуплексное соединение во Flutter
• (Crs En) How to Share ViewModels in Compose Multiplatform (with Dependency Injection!)
• (Dev Ru) Особенности построения интерфейса для разных платформ
• (Dev Ru) Грабим Дома на Собеседовании в Google (+ другие вопросы с собеседований)
• (Dev Ru) Avito QA meetup
• (Dev En) Quantum Computing Course – Math and Theory for Beginners
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFilesSwiftSecurity - это современный Swift API для фреймворка безопасности Apple Security (Keychain API, SharedWebCredentials API и т.д.). Защитить данные, которыми управляет ваше приложение, гораздо проще с помощью проверок во время компиляции.
Особенности:
• Поддерживает все классы элементов Keychain (Generic & Internet Password, Key, Certificate и Identity).
• Предотвращает создание неправильного набора атрибутов для элементов.
• Совместим с CryptoKit и SwiftUI.
• Очищен от устаревших и неактуальных вызовов.
SwiftSecurity на GitHub: https://github.com/dm-zharov/swift-security
Платформа: iOS
⭐️: 62
TetherFi - приложение для шаринга интернет-соединения на смартфоне. Оно работает, создавая группу Wi-Fi Direct и HTTP-прокси-сервер. Другие устройства могут подключаться к транслируемой сети Wi-Fi и выходить в Интернет, установив настройки прокси-сервер. Для использования TetherFi вам не нужен тарифный план с раздачей интернета, но приложение лучше всего работает с "безлимитными" тарифными планами.
TetherFi использует службу Foreground Service для создания долговременной сети Wi-Fi Direct, к которой могут подключаться другие устройства. Подключенные устройства могут обмениваться сетевыми данными между собой. Пользователь полностью контролирует эту службу Foreground Service и может явно выбирать, когда ее включать и выключать.
TetherFi все еще находится в процессе разработки и не работает не для всех приложений.
TetherFi на GitHub: https://github.com/pyamsoft/tetherfi
Платформа: Android
⭐️: 249
Почему я верю в востребованность кроссплатформы и Flutter в частности?
Сколько помню себя, в IT никогда не утихали споры насчёт ультимативности одного стека технологий для мобильной разработки по отношению к другому. Что же лучше: Android/iOS vs ReactNative/Flutter, React Native vs Flutter, KMM против всех и иже с ними? В разные периоды времени эти споры то разгораются, подогреваемые релизом новых технологий и их обновлений, то затухают, когда спорщики в итоге остаются при своем мнении. Но холивар — не цель этой статьи.
Сегодня я хотел бы порассуждать на тему того, почему я считаю кроссплатформенную разработку (в контексте мобильных устройств) востребованной на длительном горизонте времени и почему я считаю Flutter одним из бенефициаров этого тренда.
Статья: https://habr.com/ru/companies/betboom/articles/812773/
Платформа: кроссплатформа
Notion на Android теперь запускается в два раза быстрее
Сегодня приложение Notion для Android запускается более чем в два раза быстрее, чем в начале 2023 года. В этой статье описаны некоторые шаги, которые мы предприняли для повышения производительности, а также наши постоянные усилия по улучшению мобильного опыта для всех наших пользователей Android.
Статья: https://apptractor.ru/info/articles/notion-na-android-teper-zapuskaetsya-v-dva-raza-bystree.html
Платформа: Android
Подборка статей про оптимизацию запуска приложений: https://apptractor.ru/develop/vremya-zapuska.html
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
