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

Я хотел поделиться взглядом на заблуждения, с которыми довелось столкнуться на собственном опыте. Некоторые из них приводили не только к проблемам в коде, но и к холиварам в команде. Поэтому важно не только разобраться самим, но и синхронизировать понимание базовых понятий в команде.

1. MVC — это архитектура приложения
2. Разработка — это только написание кода
3. Бизнес-логика — это все, кроме UI
4. Самый верхний слой — это UI
5. В UI логику не держим

Статья: https://habr.com/ru/companies/tinkoff/articles/793398/
Платформа: iOS/разработка
Вопросы с собеседований: Как в Android определяется приоритет приложений перед системой

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

Статья: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-kak-v-android-opredelyaetsya-prioritet-prilozheniy-pered-sistemoy.html
Платформа: Android
1👎1
Minimum - минималистичный лаунчер для эффективной работы. Основные моменты: улучшенный дизайн с интуитивно понятными иконками и минималистичным интерфейсом для плавной навигации, оптимизированная производительность с быстрым запуском и отзывчивой навигацией в любимых приложениях, упрощенная настройка с темами и схемами, философия минимализма в чистом и сфокусированном пользовательском опыте, улучшенная совместимость.

Minimum на GitHub: https://github.com/JunioJsv/minimum
Платформа: Android
⭐️: 17
Знакомимся с пакетом Swift Algorithms

Пакет Swift Algorithms содержит множество ценных алгоритмов для работы с коллекциями и последовательностями. Охватить их в рамках одного поста практически невозможно, но я расскажу о своих любимых.

Статья: https://apptractor.ru/info/articles/znakomimsya-s-paketom-swift-algorithms.html
Платформа: iOS
Rock Paper Scissor - классическая игра "камень-ножницы-бумага" в одноранговой сети. Этот проект был создан для изучения возможностей фреймворка Apple Multipeer Connectivity для создания одноранговых соединений в экосистеме Apple..

Rock Paper Scissor на GitHub: https://github.com/rational-kunal/P2P-Rock-Paper-Scissor
Платформа: iOS
⭐️: 11
Видео и подкасты за неделю:

(iOS Ru) Как устроен Яндекс Go и зачем работать со студентами и стажерами
(iOS Ru) Навигация в SwiftUI
(iOS En) Self vs self in Swift – Find out the differences with practical examples
(iOS En) SwiftConf ’23 Videos
(iOS En) SwiftUI Minimal Todo List With SwiftData & Interactive Widgets
(iOS En) SwiftUI CoverFlow
(iOS En) Making it Rain – Advanced Special Effects with SwiftUI
(iOS En) Pop to Root View When TabView Item is Pressed
(iOS En) SwiftData & CloudKit: See How To Add Syncing In Your Apps
(And Ru) Многомодульность для UI-тестов
(And Ru) Как мы создавали дизайн-систему на Jetpack Compose
(And Ru) Как мы автоматизировали генерацию Baseline Profile
(And Ru) Кто-то съел мою память на CI!
(And Ru) Верхнеуровневый обзор архитектуры CI/CD мобильного приложения
(And En) BasicTextField2 - Everything You Need to Know
(And En) THIS New Modifier in Compose 1.7.0 Is Amazing!
(And En) Mastering Code Quality: A Deep Dive into Custom Linting for Android Developers with Gopal
(And En) How to integrate Google sign-in with Credential Manager on Jetpack Compose with Supabase Auth
(Crs Ru) Вызовы масштабируемости Kotlin Multiplatform на большом проекте
(Crs En) The State of React Native
(Dev Ru) Как затащить новую технологию
(Dev Ru) Как увольнять людей?
(Dev En) Pkl: Apple’s New JSON/YAML Killer
(Dev En) Firestore Multiple Databases now generally available, Go 1.22, and more dev news!

Что вы интересного посмотрели/послушали про разработку на этой неделе?

🌐 @AppFiles
Vico - это легкая и расширяемая библиотека для построения графиков в Android. Она совместима как с Jetpack Compose, так и с системой представлений, но два ее основных модуля - compose и views - являются независимыми.

Vico на GitHub: https://github.com/patrykandpatrick/vico
Платформа: Android
⭐️: 1.5K
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем анимированные переходы с помощью Matched Geometry Effect в SwiftUI

В SwiftUI мы можем создавать плавные переходы между экранами, из одного состояния в другое, с помощью Matched Geometry Effect (эффект совпадающей геометрии). Используя уникальные идентификаторы, мы можем смешивать геометрию двух видов с одним и тем же идентификатором, создавая анимированный переход. Подобные переходы могут быть полезны для навигации или изменения состояния элементов пользовательского интерфейса.

Статья: https://apptractor.ru/info/articles/sozdaem-animirovannye-perehody-s-pomoschyu-matched-geometry-effect-v-swiftui.html
Платформа: iOS
Собирательный образ Junior Android Developer. Какой он в 2024?

В этой статье мы поговорим про разработку на платформе Android, рассмотрим на что может рассчитывать Junior Android Developer и какие навыки ему для этого потребуются. Кроме того, предоставим ресурсы и материалы, которые помогут в приобретении необходимых навыков.

Статья: https://habr.com/ru/articles/793366/
Платформа: Android
🔥1
Figma Preview - это библиотека Swift, предназначенная для упрощения интеграции макетов Figma в Xcode Preview. Она позволяет разработчикам просматривать компоненты пользовательского интерфейса непосредственно из файлов Figma, способствуя более плавному переходу от дизайна к коду и обеспечивая точное соответствие пользовательского интерфейса вашего приложения спецификациям дизайна.

Figma Preview на GitHub: https://github.com/artemnovichkov/figma-preview
Платформа: iOS
⭐️: 20
Сквозное тестирование с помощью шаблона Робот и Jetpack Compose

В этой статье я хочу показать вам, как систематизировать написание сквозных (end-to-end) тестов с помощью шаблона робот. Я поделюсь с вами шаблоном, чтобы сэкономить ваше время, и расскажу, как расширять его с помощью других роботов. В конце я хочу поделиться некоторыми советами и выводами после внедрения этого шаблона.

Статья: https://apptractor.ru/info/articles/skvoznoe-testirovanie-s-pomoschyu-shablona-robot-i-jetpack-compose.html
Платформа: Android
Как мы сократили время запуска нашего iOS-приложения на 60%

В этой статье мы рассмотрим три отдельные оптимизации, которые сократили время, необходимое для запуска нашего iOS-приложения, на 60%. Мы определили эти возможности, используя проприетарные инструменты повышения производительности, но инструменты Xcode или DTrace также могут быть подходящими альтернативами.

Статья: https://apptractor.ru/info/articles/kak-my-sokratili-vremya-zapuska-nashego-ios-prilozheniya-na-60.html
Платформа: iOS
Вопросы с собеседований: что такое ARC (Automatic Reference Counting)

ARC (Automatic Reference Counting) - это механизм управления памятью в языке программирования Swift, который автоматически отслеживает и управляет использованием памяти для объектов. ARC отслеживает количество ссылок на объект и автоматически освобождает память, когда объект больше не имеет ни одной ссылки на него.

Ответ: https://apptractor.ru/info/techhype/arc.html
Платформа: iOS
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
PhotoView - это компонент ImageView для Android, который обеспечивает функцию зума с помощью различных жестов. Этот форк другой библиотеки, но целью создания PhotoView является синхронизация с новой библиотекой AndroidX, исправление ошибок, расширение возможностей и распространение пакета через Maven Central вместо Jitpack.

PhotoView на GitHub: https://github.com/GetStream/photoview-android
Платформа: Android
⭐️: 130
😁2
Добавляем SharePlay в iOS-приложение

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

Статья: https://apptractor.ru/info/articles/dobavlyaem-shareplay-v-ios-prilozhenie.html
Платформа: iOS
👍2
Двигай рукой справа налево: адаптация интерфейса в Android приложении под RTL в XML и Jetpack Compose

Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о том как адаптировать интерфейс в мобильном приложении под RTL в XML и Jetpack Compose. Вы узнаете, об особенностях RTL интерфейсов, отличиях поддержки RTL в XML и Jetpack Compose, и о том как поддержка RTL может привлечь новых пользователей.

Статья: https://habr.com/ru/articles/791926/
Платформа: Android
Vortex - это мощная, высокопроизводительная библиотека для создания системы частиц на SwiftUI, позволяющая создавать такие красивые эффекты, как огонь, дождь, дым и снег, всего в несколько строк кода. Vortex идет с рядом встроенных эффектов, таких как фейерверк, конфетти и другие, но вы также можете создавать полностью свои эффекты, которые соответствуют вашим потребностям. Этот фреймворк совместим с iOS, macOS, tvOS, watchOS и visionOS.

Vortex на GitHub: https://github.com/twostraws/Vortex
Платформа: iOS
⭐️: 734
Deep dive into delegated properties: разбираемся с делегатами в Kotlin

Остановил свое внимание на делегатах, так как нашел несколько особенностей применения, которые почти ни где не упоминаются, а что то и вовсе забыли описать в оф. документации, уверен что многим будет полезно.

Статья: https://habr.com/ru/articles/795231/
Платформа: Android
Миссия выполнима: как мы создали приложение для Apple Vision Pro за 8 дней

На связи Саша Сырков из 2ГИС, и это рассказ, как чуть больше недели мы разрабатывали приложение на Vision OS, разбирались в особенностях Reality Composer Pro, ловили всевозможные текстурные баги, а в итоге всё же получили заветный апрув от Apple за 17 часов до официального открытия продаж VR-гарнитуры.

В статье хронология событий от идеи до рабочего продукта и технические подробности создания нашего первого VisionOS-приложения — краткого справочника с 3D-моделями достопримечательностей.

Статья: https://habr.com/ru/companies/2gis/articles/794777/
Платформа: iOS