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

Собеседование на Junior Android Dev у Анны Жарковой
Экспертное собеседование на позицию Senior Android-разработчика
Публичное собеседование на позицию техлида
Собеседование мобильных разработчиков в Яндекс
Алгоритмическое собеседование в Яндекс в прямом эфире
Собеседование в Android-команду Тинькофф
Собеседование Middle Android разработчика
Собеседование Junior Android-разработчика на оффер в реальном времени
Собеседование Android System Design
Онлайн-собеседование: корутины
Онлайн-собеседование: Senior iOS Developer Виталий Кузьменко
Собеседование Гончаров-Бадретдинов
Собеседование Неклюдов — Мацюк
Мок интервью Junior Android-разработчика
Собеседование: Swift (iOS-разработка)
Публичное собеседование: middle iOS-разработчик
Реальное собеседование Senior iOS разработчика
Мок-собеседование iOS-разработчика
👍21
This media is not supported in your browser
VIEW IN TELEGRAM
ComposeLevitation - это мощная библиотека Compose, которая предоставляет вам возможность легко создавать и настраивать эффекты левитации, добавляя интерактивный штрих к элементам пользовательского интерфейса. Умеет реагировать на жесты нажатия и перетаскивания, полностью настраиваема, можно сделать голографический эффект.

ComposeLevitation на GitHub: https://github.com/GIGAMOLE/ComposeLevitation
Платформа: Android
⭐️: 52
Как Airbnb внедрила SwiftUI в приложение для iOS

В этой статье мы расскажем о том, почему и как мы в итоге заменили Epoxy и UIKit на SwiftUI в Airbnb. Мы подробно расскажем о том, как мы интегрировали SwiftUI в систему проектирования Airbnb, объясним результаты этой работы и перечислим несколько проблем, над которыми мы все еще работаем. Прочитав эту статью, вы поймете, почему SwiftUI отвечает нашим высоким требованиям как для пользователей, так и для разработчиков.

Статья: https://apptractor.ru/info/articles/kak-airbnb-vnedrila-swiftui-v-prilozhenie-dlya-ios.html
Платформа: iOS
1
Swift Testing - это современная библиотека тестирования с открытым исходным кодом для Swift от Apple, обладающая мощными и выразительными возможностями. Она дает разработчикам больше уверенности при меньшем объеме кода.

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

Swift Testing на GitHub: https://github.com/apple/swift-testing
Платформа: iOS/тестирование
⭐️: 459
This media is not supported in your browser
VIEW IN TELEGRAM
Уменьшаем рекомпозиции для изображений в Jetpack Compose

При проверке приложения с целью улучшения скорости прокрутки списка я обнаружил, что изображения и иконки постоянно перекомпонуются, даже если их состояние не изменяется! Довольно странно, не правда ли?

Статья: https://apptractor.ru/info/articles/umenshaem-rekompozitsii-dlya-izobrazheniy-v-jetpack-compose.html
Платформа: Android
👍1
Основы SwiftUI - полный курс

Начните изучать SwiftUI с курса "Основы SwiftUI". В этом 12-часовом курсе мы создадим 4 приложения с нарастающей сложностью. Первые три приложения довольно просты, но четвертое и последнее приложение значительно увеличивается в размерах и усложняется.

Видео: https://www.youtube.com/watch?v=b1oC7sLIgpI
👍2
Gallery - легковесная галерея с медиа для Android-приложения на Jetpack Compose.

Gallery на GitHub: https://github.com/IacobIonut01/Gallery
Платформа: Android
⭐️: 495
1
This media is not supported in your browser
VIEW IN TELEGRAM
CD-диск на шейдерах и NameDrop в iOS 17

Шейдеры отлично подходят для симуляции материалов. В обычных интерфейсах мы управляем только цветом, но эффекты могут быть революционными. Например, блюр в iOS изменил многие мобильные интерфейсы и стал частью интерфейса Apple Vision Pro.

Описать материал через шейдер сложно, потому что код совершенно другой, но создать динамичный эффект — ещё сложнее. В этой статье разберём пару примеров: переливающийся диск и нашумевший NameDrop в iOS 17.

Статья: https://habr.com/ru/companies/dododev/articles/762656/
Платформа: iOS
Разработка платёжного SDK

В докладе расскажу, какие фичи нужно иметь в SDK, чтобы ускорить его интеграцию и уменьшить нагрузку на техподдержку. Также затрону вопрос о формате дистрибуции такого продукта: поделюсь, почему мы оставляем SDK ЮKassa опенсорсным и как автоматизируем процесс раскатки новой версии в публичный репозиторий.

Видео: https://youtu.be/kYv9dgPmfi0
Платформа: разработка
1
Как заменить стандартное окно сбоя своим экраном ошибки

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

Статья: https://apptractor.ru/info/articles/kak-zamenit-standartnoe-okno-sboya-svoim-ekranom-oshibki.html
Платформа: Android
Создание обложки для Wear OS

От создания уникального циферблата для часов на Wear OS до рассуждений о возможностях Wear OS 4 и грядущих Pixel Watch 2 - это видео сокровищница знаний и шуток.

Видео: https://techhype.io/media/create-a-wear-os-watchface/
Платформа: Android
Cashew - это полноценное многофункциональное приложение, предназначенное для эффективного управления финансами. Созданное с использованием Flutter, SQL-пакета Drift и Firebase, это приложение обеспечивает плавное и интуитивно понятное управление финансами на различных устройствах.

Cashew на GitHub: https://github.com/jameskokoska/Cashew/
Платформа: Flutter/кроссплатформа
⭐️: 96
Дебаггинг приложения без Xcode. Зачем?

Мы упростили жизнь нашим тестировщикам. Они теперь могут много вещей делать сами, не обращаясь к разработчикам.

Мы получили дебаггинг без Xcode. Разработчик может просто открыть симулятор, когда ему лень собирать проект. Он может открыть приложение, запустить дебаг меню и посмотреть логи, которых может быть вполне достаточно, из-за этого даже не стоит подключать Xcode.

У нас много интересных задач, например, изменение размера экрана. Наши разработчики всегда готовы браться за задачи для дебаг меню — ими просто интересно заниматься.

Статья: https://habr.com/ru/companies/alfa/articles/763596/
Платформа: iOS
На 65% меньше APK и на 70% меньше потребление памяти: как мы оптимизировали приложение для Android

1. Правила Proguard
2. Png в Webp
3. Удаление неиспользуемых ресурсов
4. Добавление ResConfigs
5. Работа с ассетами приложения
6. Оптимизация шрифтов
7. Пакеты приложений для Android (AAB)

Статья: https://apptractor.ru/info/articles/na-65-menshe-apk-i-na-70-menshe-potreblenie-pamyati-kak-my-optimizirovali-prilozhenie-dlya-android.html
Платформа: Android
1
Анимация сердца из WatchOS 10

В этом видео автор показывает, как создать анимацию сердца из WatchOS 10 с помощью SwiftUI.

Видео: вот - https://youtu.be/kZKI-BImtLE. А ссылкой на канал поделишься? :)
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
FittedSheets - реализация Bottom Sheet для iOS, представление View Controller-а внизу экрана. Предлагает произвольные размеры (автоматически подстраиваясь под содержание встроенного контроллера) и поддерживает скроллинг.

FittedSheets на GitHub: https://github.com/gordontucker/FittedSheets
Платформа: iOS
⭐️: 1.1K
Видео и подкасты за неделю:

(iOS Ru) Топ-10 типичных ошибок iOS-разработчика
(iOS Ru) Простой пример Внедрения зависимостей в iOS
(iOS Ru) Прожарка Tuist
(iOS En) SwiftUI Swipe Actions from Scratch
(iOS En) Super Power Scroll Views - SwiftUI
(iOS En) SwiftUI: Telegram Dark Mode Animation Challenge
(iOS En) WatchOS 10 Heart App Animation Using SwiftUI
(iOS En) Phase Animations in iOS 17
(iOS En) Say Goodbye to Manual Mock Data: Discover the Power of @SampleBuilder!
(And Ru) Gradle Kotlin DSL: о чем умолчали в документации
(And Ru) Здоровье вашей Gradle-сборки
(And Ru) Советы к собеседованию
(And En) New UI for Android Studio
(And En) Dependency Management in a Multi-Module Project - THIS Is How You Need to Do It
(And En) Create a Wear OS watchface
(And En) How to Use CameraX With Android Jetpack Compose To Implement In-App Photo Capturing
(Crs En) Release an iOS app with Flutter in 7 steps
(Crs En) A Complete Guide for using Dynamic Island in your next Flutter App
(Dev En) A Hackers’ Guide to Language Models
(Mrk Ru) Публичное собеседование на роль продакт-менеджера по монетизации

Посмотрите, поделитесь, поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻‍💻
👍2
Подборка логических задач с собеседований

Офис

Есть компания со штатом в нечетное количество сотрудников. Все сотрудники живут по разным адресам на разном удалении от офиса. Вопрос: существует ли вариант переезда компании, после которого абсолютно все сотрудники смогут добираться на работу быстрее (их путь до офиса сократится)?

Наггетсы

В Макдональдс вы можете заказать куриные наггетсы в коробках по 6, 9 и 20 штук. Каким является максимальное число наггетсов, которое НЕЛЬЗЯ заказать любыми комбинациями этих коробок?

Шарик с гелием

Вы находитесь в автомобиле, где к полу веревочкой привязан шар, наполненный гелием. Окна закрыты. Вы нажимаете на педаль газа. Что произойдет с шаром: переместится он вперед, назад или останется в прежнем положении?

Стакан воды на проигрывателе

Вы поставили стакан воды на диск проигрывателя виниловых пластинок и медленно увеличиваете скорость вращения. Что произойдет раньше: стакан сползет в сторону, стакан опрокинется, вода расплескается?

Зарплата

Три работника хотят вычислить свою среднюю зарплату при условии, что каждый знает свою зарплату, но не может сообщить ее другому напрямую. Обмен информации между людьми возможен, но передаваемые друг другу сообщения не должны содержать какую-либо конкретную информацию об уровне зарплат. Как это сделать?
💩3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
ComposeFadingEdges - это мощная библиотека Compose для Android, которая легко реализует настраиваемые исчезающие края с горизонтальной или вертикальной ориентацией, статичным или прокручиваемым содержимым, видео или рисунком.

ComposeFadingEdges на GitHub: https://github.com/GIGAMOLE/ComposeFadingEdges
Платформа: Android
⭐️: 42
Универсальные датасорсы в iOS-разработке

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

Статья: https://habr.com/ru/companies/tensor/articles/763582/
Платформа: iOS
Возможна ли жизнь после плеймаркета?

Всё не так плохо, как кажется. Мы были готовы к такому исходу событий и заранее изучали альтернативы. В андроиде существует определенное количество мест распространения — я буду их называть альтернативные сторы.

Статья: https://habr.com/ru/companies/alfa/articles/763976/
Платформа: Android