AppFiles - Mobile Development
2.01K subscribers
2.61K photos
33 videos
8 files
3.51K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Разработка, управляемая тестами (TDD), для исправления ошибок

Разработка, управляемая тестами — это отличная техника, позволяющая увеличить покрытие кода тестами и одновременно повысить качество кода. Поначалу писать неудачные тесты может быть утомительно, но в результате вы получите более полную реализацию функции, которая охватывает все ожидаемые результаты. Если использовать тесты в сочетании с исправлением ошибок, вы повысите свою уверенность и будете уверены, что ошибка не вернется в будущем.

Статья: https://apptractor.ru/info/articles/razrabotka-upravlyaemaya-testami-tdd-dlya-ispravleniya-oshibok.html
Платформа: потрындеть
This media is not supported in your browser
VIEW IN TELEGRAM
Swift Translate - это CLI-инструмент и плагин Swift Package, который упрощает локализацию вашего приложения. Он деконструирует ваши каталоги строк и отправляет их в модель GPT-3.5-Turbo от OpenAI для перевода. Переводит отдельные каталоги строк или все каталоги в папке, поддерживает два десятка языков, сложные каталоги строк с вариациями и заменами множественного числа и устройств, перевод совершенно новых каталогов или заполнение недостающих переводов для существующих каталогов.

Swift Translate на GItHub: https://github.com/hidden-spectrum/swift-translate
Платформа: iOS
⭐️: 13
Автоматизируем рутину в Android разработке: плагин для создания шаблонного кода на примере создания -api -impl модулей

Меня зовут Алексей, я ведущий разработчик платформенной команды и по совместительству лид архитектурной компетенции в проекте Альфа-Бизнес. Сегодня я расскажу, как можно автоматизировать повторяющуюся работу в андроид-разработке при помощи плагина для Android Studio.

Статья: https://habr.com/ru/companies/alfa/articles/799873/
Платформа: Android
Swift Playdate Examples - технические демки и руководства по разработке игр на Swift для приставки Playdate.

Playdate - это миниатюрная портативная игровая консоль с ручкой, разработанная компанией Panic, оснащенная процессором Cortex M7 и 1-битным дисплеем с разрешением 400х240. Panic предоставляет SDK для создания игр Playdate на языках C и Lua с соответствующим симулятором. Большинство игр Playdate традиционно пишутся на Lua для простоты разработки, но могут возникнуть проблемы с производительностью, которые требуют дополнительной сложности при использовании C.

Встраиваемый Swift решает эту проблему, сочетая высокоуровневую эргономику с низкоуровневой производительностью, а также обеспечивая гарантии безопасности памяти, что повышает производительность и устраняет распространенный источник ошибок.

Swift Playdate Examples на GitHub: https://github.com/apple/swift-playdate-examples
Платформа: разработка
⭐️: 192
Appteka - это альтернативный магазин приложений для Android от Игоря Солкина, Lead of Mobile Design Platform в Авито. Фичи магазина: может извлекать APK, установленные на вашем Android-устройстве, и переносить их на SD-карту, быстрый и простой в использовании, извлекает практически все приложения, включая системные, не требует ROOT-доступа, загружает Apk в специальный Appteka.Store, предусмотрена опция поиска приложений, поддержка функций Android 9.0, возможность резервного копирования и установки Apk с SD-карты, чат в реальном времени для обсуждения приложений.

Appteka на GitHub: https://github.com/solkin/appteka-android
Платформа: Android
⭐️: 230
👍3🤮1
Видео и подкасты за неделю:

(iOS Ru) Моменты неотзывчивости iOS-приложений: как найти и исправить
(iOS Ru) Swift-уроки: cоздание горизонтального меню с индикатором
(iOS En) From Slow to Fast: Profiling SwiftUI Applications for Peak Performance
(iOS En) SwiftUI Performance Optimisation: How to manage Data Flow and UI Updates in your iOS and macOS apps
(iOS En) MapKit with SwiftUI - Regions, Markers and Annotations and CameraPosition
(iOS En) MapKit with SwiftUI - Map Destination Persistence and MockData
(iOS En) How to get started with Swift Macros
(iOS En) Paginating SwiftData
(And Ru) Собеседование по Kotlin (все собеседования)
(And Ru) Ultron — фреймворк для тестирования Android UI и Compose
(And Ru) Собираем грабли при профилировании Android-приложений
(And En) Now in Android: 100 - Android 15 DP 1, Stable Studio Iguana, Cloud Photo Picker, and more
(And En) What’s new in Android Studio Iguana
(And En) Google for Games Developer Summit 2024
(And En) How to Create a Document Scanner App with MLKit
(And En) If You Think THIS Is a Best Practice, You're WRONG in 99% of the Cases
(And En) The Missing Library of the Compose Multiverse
(And En) Making Data Visualizations More Accessible
(And En) Imperative, declarative, object oriented, functional: four of a Kotlin kind
(Crs Ru) Коллекции во Flutter
(Dev Ru) Как принимать решения, строить команды и выбирать инструменты разработки — Павел Щедухин (Ozon Tech)
(Dev Ru) Публичное собеседование по System Design
(Dev Ru) Мобильная инфраструктура. Взгляд изнутри
(Dev Ru) BDUI – удовольствие или боль?
(Dev Ru) BDUI на 100%: управляем шиммерами с бэкенда
(Dev En) Back End Developer Roadmap 2024
(Anl Ru) Аналитика нового продукта «под ключ»

Что вы интересного посмотрели/послушали про разработку на этой неделе? 🌐 @AppFiles
Как и где практиковаться начинающему мобильному разработчику

Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник и автор на курсе «Android-разработчик» в Яндекс Практикуме. Помню то время, когда я начинал заниматься разработкой, — материалы были в основном на английском, а специализированных курсов было маловато, поэтому приходилось всё искать и практиковаться самостоятельно.

Сегодня постараюсь помочь начинающим мобильным разработчикам и расскажу, как можно прокачивать свои знания и применять их на практике.

Статья: https://habr.com/ru/companies/yandex_praktikum/articles/799923/
Платформа: обучение
Routine Tracker - это планировщик, который призван упростить управление деятельностью, которую вам необходимо выполнять постоянно. Он сочетает в себе функции приложения-календаря и трекера привычек, позволяя вам хранить все свои действия в одном месте.

Мотивация для этого проекта проста. Автор не смог найти ни одного планировщика или трекера привычек, который бы оценивал, сколько времени вам потребуется для достижения цели, основываясь на вашем прогрессе. Поэтому он решил создать его сам. Цель - создать универсальное решение для планирования и отслеживания проектов, а также планирования ежедневных задач и событий.

Routine Tracker на GitHub: https://github.com/DanielRendox/RoutineTracker
Платформа: Android
⭐️: 79
Swiftfin - это современный видеоклиент для медиасервера Jellyfin (от этой же компании - альтернатива проприетарным Emby и Plex, позволяющая передавать медиа с выделенного сервера на устройства конечных пользователей через множество приложений). Плеер написан на Swift, что позволяет максимально использовать возможности VLC для прямого воспроизведения и выглядеть нативно на всех классах устройств Apple.

Swiftfin на GitHub: https://github.com/jellyfin/Swiftfin
Платформа: iOS
⭐️: 2.1K
👍1
Разработка под Android в 2024 году

Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.

Важно подчеркнуть: некоторые хорошие инструменты, паттерны и архитектуры я не упомянул в статье в явном виде, но это не отменяет их потенциал в качестве ценных альтернатив для разработки Android-приложений.

Перевод: https://habr.com/ru/companies/otus/articles/800979/
Платформа: Android
Тестирование производительности Swift-кода с помощью XCTest

XCTest — это фреймворк для модульного тестирования для Apple iOS и OS X, который позволяет разработчикам создавать и запускать автоматические тесты. Он предоставляет полный набор инструментов для написания, запуска и анализа модульных тестов и тестов производительности для Swift-приложений. В этой статье мы узнаем, как проводить тестирование производительности в Swift с помощью фреймворка XCTest.

Статья: https://apptractor.ru/info/articles/testirovanie-proizvoditelnosti-swift-koda-s-pomoschyu-xctest.html
Платформа: iOS
👍1
Gramophone - вменяемый музыкальный плеер, построенный на media3 и библиотеке Material Design, который строго следует стандартам Android. Из фич - современный дизайн на основе Material 3, динамический UI, поиск, синхронизированные тексты песен, управление плейлистами.

Gramophone на GitHub: https://github.com/AkaneTan/Gramophone
Платформа: Android
⭐️: 543
Android TOML. Просто о каталогах зависимостей в Android Studio

Меня зовут Евгений и я Android-разработчик. Сегодня хотел бы поделиться своими знаниями и наблюдениями относительно нового способа добавления зависимостей в проекты, созданные на базе Android Studio.

Статья: https://habr.com/ru/articles/801287/
Платформа: Android
🤔1
Интерактивные виджет-подборки в Иви (iOS)

В 2022 году у нас появились первые HomeScreen виджеты, это был первый опыт работы с библиотекой WidgetKit. Затем появились LockScreen виджеты и мы их тоже добавили. А выход iOS 17 и поддержка библиотеки AppIntents в виджетах, знаменовал новый этап в эволюции виджетов.

В этой статье поговорим о том, как мы зарелизили интерактивные виджеты и из чего они состоят: разделение логических слоёв на SPM пакеты, обеспечение качества (unit, snapshot тесты), accessibility и с каким нюансами столкнулись, о которых Apple не рассказывала на WWDC23.

Статья: https://habr.com/ru/companies/ivi/articles/796331/
Платформа: iOS
🔥1
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 1

В этом цикле статей мы рассмотрим лучшие практики использования ViewModel в Android, подчеркнем основные «можно» и «нельзя» для повышения качества кода. Мы рассмотрим роль ViewModel в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и раскрытие mutable состояний, предоставив разработчикам исчерпывающее руководство.

Это первая статья из серии и посвящена она инициализации состояния в блоке init{}. Всего планируется 15 (!) статей.

Перевод: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-1.html
Платформа: Android
1
This media is not supported in your browser
VIEW IN TELEGRAM
JTAppleCalendar - календарь для iOS на Swift. Полностью настраиваемый, с настройками ячеек и общего вида, горизонтальным и вертикальным режимом, изменяемыми заголовками, выбором диапазонов и всем прочим.

JTAppleCalendar на GItHub: https://github.com/patchthecode/JTAppleCalendar
Платформа: iOS
⭐️: 7.5K
Вы за это заплатите! Цена Чистой Архитектуры

Меня зовут Артемий, я работаю старшим Android-разработчиком в core-команде RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы на проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры.

Статья: https://habr.com/ru/companies/vk/articles/801393/
Платформа: архитектура

Еще:

Видео
В защиту простых архитектур
Отсутствие архитектуры лучше, чем плохая архитектура
2
Shattered Pixel Dungeon - это традиционный рогалик с открытым исходным кодом, рандомизированными уровнями и врагами, а также сотнями предметов для сбора и использования. Shattered Pixel Dungeon в настоящее время можно скомпилировать для Android, iOS и настольных платформ.

Shattered Pixel Dungeon на GitHub: https://github.com/00-Evan/shattered-pixel-dungeon
Платформа: Android
⭐️: 3.9K
AutoDev - помощник для программирования на базе искусственного интеллекта с многоязыковой поддержкой, автоматической генерацией кода и помощником по устранению ошибок. Поддерживает Java, Kotlin, JavaScript/TypeScript, Rust, Python, Golang, C/C++, Rust, SQL и прочие языки, создание юнит-тестов и конфигов CI/CD, генерацию документации и т.д.

AutoDev на GitHub: https://github.com/unit-mesh/auto-dev
Платформа: разработка
⭐️: 1.4K
Видео и подкасты за неделю:

(iOS Ru) Разработка под Apple Vision Pro
(iOS Ru) Как встроить в TextField индикатор загрузки и кастомную View
(iOS En) JSON Parsing With Pagination
(iOS En) Build 3D content for visionOS Apps
(iOS En) Long Press Button With Progress Bar
(iOS En) Create a 3D shiny card in SwiftUI
(iOS En) Sign In With Apple - Firebase
(iOS En) SwiftUI Horizontal Wheel Picker
(And Ru) Разработка новостного приложения. Часть 4
(And Ru) Мапим данные из domain в ui модуль в многомодульном проекте
(And En) Now in Android: 101 - Android 15 Developer Preview 2, TheAndroidShow, the Google I/O date, & more
(And En) How to Implement Biometric Auth in Your Android App
(And En) This Is My FAVORITE Error Handling Class
(And En) Java vs. Kotlin: The Ultimate Showdown of Virtual Threads & Coroutines
(Crs Ru) Рецепт приготовления кроссплатформенного мобильного видеоредактора
(Dev Ru) Собеседование по System Design: проектируем клон Авито (все собеседования 🧠)
(Dev Ru) Демистифицируем машинное обучение – из разработчика в ML-инженеры
(Dev Ru) Не работал в FAANG — не программист: полгода работы в Apple
(Dev Ru) Программисты не нужны

Что вы интересного посмотрели/послушали про разработку на этой неделе? 🌐 @AppFiles
Please open Telegram to view this post
VIEW IN TELEGRAM