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

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

Учебник: https://mentorpiece.ru/textbook/
Платформа: тестирование
Видео и подкасты за неделю:

(iOS Ru) Пишем свой рендеринг графики на SwiftUI и запускаем на нем Doom
(iOS Ru) Паттеры проектирования — Мост
(iOS En) SwiftUI Animated Carousel Slider With Paging Control
(iOS En) Build a SwiftUI Video Calling: How to Ring and Notify Users About a Call
(iOS En) How to translate and localize an iOS app with string catalogs in Xcode 15
(iOS En) CocoaHeadsNL Meetup
(iOS En) SwiftUI Custom Alert View
(iOS En) SFSymbol Animations in iOS 17
(iOS En) Breaking Down Swift Data Migrations
(And Ru) Собеседование на Mobile Developer: Алексей Панов (Контур)
(And Ru) Модерация приложений и игр в магазине RuStore
(And Ru) От плохого кода к хорошему один шаг: юнит тесты, ООП и интерфейсы
(And En) Firebase in Android Studio - Android Developers Backstage
(And En) Now in Android: 91 - Jetpack Glance, Android 14 QPR, Google Play policy and console updates, & more!
(And En) How to Create a Lazy Column With Categories in Jetpack Compose
(Crs En) Making Multiplatform Better
(Crs En) Creating a Cutting-Edge Movie Streaming App with Flutter & Python
(Dev Ru) Ozon Tech Community QA Meetup
(Dev Ru) The ONLY Right Way to Document Your Code
(Dev Ru) Acquiring Game Design Skills Beyond Entertainment
(Mrk Ru) Podlodka #336: ищем пользовательский сегмент

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

Собеседование на 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