AppFiles - Mobile Development
2K subscribers
2.55K photos
33 videos
8 files
3.43K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Бесплатный митап Sber Mobile Meetup — 7 декабря, 17:00, онлайн

Сбер при поддержке JUG Ru Group проведет онлайн-митап для мобильных разработчиков. В программе — три доклада от специалистов, которые работают над сервисами Сбера:

– Андрей Попов — «Современный подход к анимациям в UICollectionView». Доклад об анимациях, применимых к коллекциям с помощью современных API в iOS SDK.
– Дмитрий Исаев — «Clean MMVM c Combine, SwiftUI в продакшене». Узнайте, как команда Сбера применила этот стек к большому объему бизнес-логики, вдохновившись Clean Code от дядюшки Боба Мартина.
– Андрей Данилов — «Как (не) ускорить сборку Android-проекта». Андрей расскажет, как не наступить на грабли при ускорении сборки: исправить порядок репозиториев зависимостей и найти альтернативы для неэффективных инструментов.

А еще вы сможете задать спикерам вопросы после докладов и пообщаться с коллегами в Spatial chat.

Участие бесплатное, нужно только зарегистрироваться. Ждем вас!
Инструменты разработчика для тестирования Android-приложений

В командной разработке тесты – это, как правило, задача QA- и SDET-специалистов. Вместе с тем навыки тестирования полезны и разработчикам, позволяя им проверить свои приложения и повысить стабильность их работы. Эта статья предназначена в первую очередь начинающим мобильным разработчикам, которые хотят изучить процессы тестирования и свое участие в них.

Статья: https://apptractor.ru/drdtst
Платформа: тестирование/Android
⬆️: +3
YooIKit: UI в ЮMoney

• 00:00 О спикере и докладе
• 00:28 Усложнение процессов компании (новые продукты, рост команды, темизация)
• 3:15 Как совершенствовалась iOS-разработка
• 9:09 Методология Atomic Design
• 10:10 Категории в атомарном дизайне: атом, молекула, организм
• 11:37 Шаблон представления и шаблон страницы
• 13:39 Механизм работы со стилями
• 18:49 Темизация
• 20:12 Как происходит тестирование библиотеки
• 21:39 Итоги

Видео: https://apptractor.ru/YooIKit
Платформа: iOS
Android Debug Database - мощная библиотека для работы с базами данных и Shared Preferences в Android-приложениях. Позволяет очень просто просматривать и редактировать базы данных и сохраненные данные прямо в браузере, без необходимости получения рута.

Библиотека на GitHub: https://github.com/amitshekhariitbhu/Android-Debug-Database
Платформа: Android
⭐️: 7.9К
Запустился Advent of Code 2021

Advent of Code - это адвент календарь с ежедневными небольшими программными задачами, которые можно решить на любом языке программирования. Их можно использовать для соревнования на скорость (на сайте есть рейтинг участников) или подготовки к собеседованиям, обучения или тренировки в решении практических задач.

Сайт: https://adventofcode.com/
Платформа: программирование
Android Developer Roadmap 2022: карта навыков и модель развития Android-разработчика

Android Developer Roadmap 2022 предлагает способ обучения и понимания разработки под Android. Этот рекомендуемый путь обучения от простого к сложному, который поможет вам быстрее перейти к практике.

Ссылка: https://apptractor.ru/drdrdmp
Платформа: Android
⭐️: 401
Swift Identified Collections - библиотека для производительной работы с коллекциями идентифицируемых элементов. Она позволяет упростить работу с массивами и избежать многих проблем, которые им присущи.

Библиотека на GitHub: https://github.com/pointfreeco/swift-identified-collections
Платформа: Swift/iOS
⭐️: 165
Не пишем код целый месяц и нам нормально

Праздничные дни для Додо Пиццы — дни высокой нагрузки. К таким дням мы готовимся заранее и заводим специальные правила.

Самое жаркое время — в декабре: много корпоративов, заказы становятся больше, но и прибыль выше. Во многих городах плохая погода — где-то снег только выпал и дороги не расчищены, где-то очень холодно. Всё вместе это создаёт нагрузку и на IT, и на бизнес. Чтобы быть готовыми, мы регулярно проводим нагрузочные тестирования, повышаем закупки ингредиентов, распределяем заказы по пиццериям и много чего ещё.

Для мобильных разработчиков конец года раньше тоже был особенным: с 23 по 27 декабря App Store закрывался на рождественские праздники. Расскажу, как эти ограничения влияют на разработку, какие ошибки мы совершили в прошлые годы и что меняется в расписании. Возможно, что-то из практик пригодится и вам: подсветит риски, поможет договориться о код-фризе с бизнесом.

Статья: https://apptractor.ru/ddncd
Платформа: разработка
⬆️: +17
Android Meetup СберМаркет Tech 9 декабря в 18:00📱

На митапе вы узнаете:
— Как интегрировать Swift в React Native? Что такое нативный компомент и как его написать с shadow view и yoga?
— Как организовать структуру пайплайнов и внедрить Continuous Integration в React Native проект?
— Зачем использовать JetpackCompose внутри React Native?
— Как эволюционировали архитектурные подходы в мобильной разработке?

Регистрация и подробности программы: https://sbermarket.timepad.ru/event/1851300/
Dadb - библиотека Kotlin/Java для прямого подключения к устройству Android без двоичного файла adb или сервера ADB.

Библиотека на GitHub: https://github.com/mobile-dev-inc/dadb
Платформа: Android
⭐️: 186
Дело об исчезнувшем покрытии кода

Однажды, после штатного обновления версий библиотек, когда-то достаточно популярный плагин JaCoCo перестал считать покрытие кода тестами на одном из наших проектов в Каруне. Усердный поиск хоть как-то похожих проблем не принёс результатов. Помощи ждать было неоткуда, поэтому нам пришлось погрузиться в вопрос. Как же мы смогли вернуть покрытие?

Ссылка: https://apptractor.ru/kvrg
Платформа: Android
⬆️: 11
Разработка SharePlay игры

SharePlay - это новый фреймворк, который Apple представила в iOS 15.1 и которая позволяет людям в FaceTime вместе смотреть фильмы или слушать музыку. Один человек инициирует сеанс SharePlay, и все остальные участники вызова могут присоединиться. После того, как все присоединились, фильм или музыка автоматически синхронизируются для всех участников сеанса, включая паузы и поиск контента. Поскольку вы участвуете в вызове FaceTime, вы можете видеть и слышать всех участников вызова, пока вы смотрите фильм или слушаете музыку.

Статья: https://apptractor.ru/shrpl
Платформа: iOS
Messenger Clone - простое приложение, позволяющее за минуты добавить в свое iOS-приложение чат. Оно использует MessageKit и хранит данные в Firebase Firestore. Дизайн приложения вдохновлен Facebook Messenger.

Проект на GitHub: https://github.com/instamobile/messenger-iOS-chat-swift-firestore
Платформа: iOS
⭐️: 490
Первый взгляд на Material You

Во время конференции I/O 2021 Google анонсировал новый этап Material Design — Material You (или M3). Этот новый дизайн, впервые появившийся в Android 12, ориентирован на кастомизацию, отзывчивость и доступность, делая устройства еще более личными.

С момента первого объявления Google выпускает все больше и больше контента, руководств и библиотек, чтобы помочь разработчикам использовать Material You и создавать красивые и выразительные приложения. В этой статье мы рассмотрим некоторые ключевые концепции и узнаем больше об этом новом подходе к дизайну.

Перевод статьи: https://apptractor.ru/mtrlu
Платформа: Android
👋: 148
Удивительная цена соответствия протоколу в Swift

Проверки соответствия протоколу - это когда среде выполнения необходимо проверить, соответствует ли переменная протоколу. В вашем коде это выглядит как myVar as? MyProtocol. Обратите внимание, что операции as? также могут использоваться для приведения переменных к непротокольным типам, и они не вызывают проверку соответствия протоколу. Это часть природы динамической среды выполнения Swift. Оператор as? указывает, что во время компиляции будет потрачено время из-за отсутствия гарантии типа.

Из релизных заметок мы знаем, что операции as? достаточно медленные и можно работать «значительно» быстрее, но насколько они медленны?

Статья: https://apptractor.ru/asconf
Платформа: Swift/iOS
Sketch - библиотека обработки изображений для Kotlin. Поддерживает поворот, ресайз, вырезание, закругление углов, добавление рамок, текста, эффектов и и т.п. Sketch не требует внешних зависимостей, таких как OpenCV или OCR. На самом деле это библиотека с нулевой зависимостью, разработанная для простоты и которая служит оберткой для Java AWT BufferedImage. Библиотека предоставляет асинхронный интерфейс для всех операций с изображениями.

Библиотека на GitHub: https://github.com/reugn/sketch
Платформа: Android
⭐️: 26
Android App Shortcuts: static, dynamic, and pinned shortcuts. Использование в реальном проекте

В наше время прогресса, когда сложные системы стараются стать проще для потребителя, операционные системы, такие как Android, пытаются следовать тем же путем, стараясь привлечь всё нового и нового потребителя своих услуг. Функционал Android App Shortcuts может упростить некоторые повседневные функции, такие как, например, отправка сообщения, загрузка в мобильной игре последней контрольной точки или, как в нашем случае, проложить маршрут к избранному адресу и просчитать стоимость поездки в приложении заказа такси нажатием одной кнопки.

Статья: https://apptractor.ru/shrtcts
Платформа: Android
⬆️: 4
Как структурировать свой Swift-код

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

Позвольте представить вам метод, который я называю Код Бургера (Burger Code).

Перевод статьи: https://apptractor.ru/brgrcd
Платформа: программирование/Swift
👋: 545
Видео Mobius 2021 Moscow

В программе 13 докладов:

Martin Mitrevski — Training dynamic ML models on iOS 15
Роман Аймалетдинов — Код, рожденный умереть
Сергей Вихляев — Архитектура, и как ее готовить
«Своя игра»: Mobius edition
Ильмир Усманов — Kotlin IR: прошлое, настоящее и будущее
Анастасия Соколан — Вдохновившись SwiftUI, создаем дизайн систему на UIKit
Никита Типун — Как заваривать декларативный чай
Александр Верещагин (Devexperts) — Как мы внедряли Kotlin Multiplatform
Андрей Чупин — Ускоряем сетевой слой ВКонтакте с HTTP/3
Вадим Петров, Александр Семашко — Как мы ускоряли создание процессов в Android
Данис Тазетдинов — SharePlay и другие способы связать пользователей iOS друг с другом
Михаил Зотьев, Евгений Сатуров — Мифы и правдивые истории про Flutter
Виталий Фридман — Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше

Видео: https://apptractor.ru/info/media/video-mobius-2021-moscow.html
Платформа: iOS/Android/CrossPlatform