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

Проекты с открытым исходным кодом - лучшие друзья разработчика. Я считаю, что после документации, проекты с открытым исходным кодом являются отличным источником обучения. Jetpack Compose - новейший член семьи и один из самых важных. Сегодня мы увидим мощь Jetpack Compose.

Статья: https://apptractor.ru/compose10
Платформа: Android
👍2
DevOps Roadmap 2022 - пошаговое руководство о том, как стать DevOps-инженером, со ссылками на соответствующие учебные ресурсы.

DevOps Roadmap 2022 на GitHub: https://github.com/milanm/DevOps-Roadmap
Платформа: DevOps
⭐️: 826
RIBs — это фреймворк кроссплатформенной архитектуры, лежащий в основе многих мобильных приложений Uber. Название RIBs является сокращением от Router, Interactor и Builder, которые являются основными компонентами этой архитектуры. Этот фреймворк разработан для мобильных приложений с большим количеством инженеров и вложенных состояний.

Преимущества архитектуры RIBs:

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

• Тестируемость и изоляция. Классы должны легко тестироваться и анализироваться изолированно. Отдельные классы RIB имеют разные обязанности, такие как: маршрутизация, бизнес, логика экрана, создание. Кроме того, большая часть логики RIB отделена от дочерней логики RIB. Это позволяет легко тестировать классы RIB и анализировать их независимо друг от друга.

• Инструменты для повышения производительности труда разработчиков. RIBs поставляется с инструментами IDE для создания кода, обнаружения утечек памяти, статического анализа и интеграции среды выполнения — все это повышает производительность разработчиков как в больших, так и в малых командах.

• Масштабируемая архитектура. Эта архитектура доказала свою способность масштабироваться для сотен инженеров, работающих над одной кодовой базой и приложениями с сотнями RIBs.

RIBs на GitHub: https://github.com/uber/RIBs
Платформа: архитектура/iOS/Android
⭐️: 7.1 K
Mastodon — крупнейшая децентрализованная социальная сеть в Интернете. Вместо одного веб-сайта это сеть миллионов пользователей в независимых сообществах, которые могут беспрепятственно взаимодействовать друг с другом. В этом репозитории - код iOS и Android приложений Mastodon.

Mastodon на GitHub: https://github.com/mastodon/
Платформа: iOS/Android
⭐️: 554
🤔2
Как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами

Сегодня мы поговорим о том, как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами. В 2016 году WhatsApp охватил более миллиарда пользователей и имел следующую статистику нагрузки:

• 42 миллиарда сообщений отправляются ежедневно
• 1.6 миллиарда изображений отправляются ежедневно
• 250 миллионов видео отправляются ежедневно

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

Статья: https://apptractor.ru/wapps1
Платформа: разработка
Compose Navigation Reimagined - небольшая и простая в использовании, но полноценная и настраиваемая навигационная библиотека для Jetpack Compose. Полность типобезопасна, есть встроенное восстановление состояния, вложенная навигация с независимыми обратными стеками, собственный Lifecycle, ViewModelStore и SavedStateRegistry для каждой записи в бэкстеке, анимированные переходы, возможность определять scope для простого совместного использования ViewModel. И никаких компоновщиков, никаких обязательных суперклассов для ваших composable.

Compose Navigation Reimagined на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 261
Iron - современный трекер тренировок с весами для iOS, написанный на SwiftUI.

Iron на GitHub: https://github.com/kabouzeid/Iron
Платформа: iOS
⭐️: 55
👍2🌚1
Compose Multiplatform - порт UI-фреймворка для настольных платформ (macOS, Linux, Windows) и веба. Компоненты разработаны JetBrains и находятся вне основного репозитория Compose.

Compose Multiplatform на GitHub: https://github.com/JetBrains/compose-jb
Платформа: кроссплатформа
⭐️: 9.7K
Как стать устойчивым и растущим инди-разработчиком

Создавать игры сложно, и есть много предубеждений, связанных с выживанием разработчиков игр. У каждого свои обстоятельства. Тем не менее, я считаю, что есть способы минимизировать риски и максимизировать свои шансы на успех и стать устойчивым. Я Крис Антони, основатель инди-студии по разработке и издательству игр Toge Productions из Индонезии, и это мой опыт инди-разработки.

Урок 1: Начните с малого
Урок 2: Повторное использование и переработка
Урок 3: Быстро терпите неудачу и делайте выводы
Урок 4: Знайте свою аудиторию
Урок 5: Знайте свои пределы
Урок 6: Превратите свои вехи в ступеньки
Урок 6: Будьте милы, заводите друзей

Статья: https://apptractor.ru/indiedev
Платформа: игры
Библиотека нашего читателя. Pin - небольшая библиотека для работы с AutoLayout через “чейнабл" синтаксис.

Pin на GitHub: https://github.com/mezhevikin/Pin
Платформа: iOS
⭐️: 4
🕊2
Weekend Mobile Offer — уже 19-20 ноября

Как получить офер в Яндекс за 2 дня? Участвовать в Weekend Mobile Offer. Ближайший — 19-20 ноября.

Если вы, или тот, кого вы знаете, имеете опыт разработки не менее трех лет на iOS, Android или Flutter, смело жмите на кнопку и регистрируйтесь.

Онлайн-отбор закончится 16 ноября. 20 ноября тех, кто его пройдёт, пригласят на технические собеседования и встречи с нанимающими командами. Удачи!
👍3🤮2
Compose Progress Indicators - настраиваемые индикаторы прогресса, как в iOS или mac, написанные на Jetpack Compose.

Compose Progress Indicators на GitHub: https://github.com/SmartToolFactory/Compose-ProgressIndicator
Платформа: Android
⭐️: 17
LocalizableChecker - CLI утилита для проверки того, есть ли лишние ключи в файле Localizable.strings в вашем проекте.

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

LocalizableChecker выводит все ключи, которые есть в файле перевода, но не используются в проекте.

LocalizableChecker на GitHub: https://github.com/Jonathan-Gander/LocalizableChecker
Платформа: iOS
⭐️: 12
👍1
Чтобы быть в тренде последних новостей из мира iOS разработки тебе надо подписаться на канал @iOS_broadcast.

📌 Там ты найдешь ежедневную подборку новостей с краткими обзорами, а также интересные опросы, чтобы проверить свои знания.

Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?

Канал создан авторами @android_broadcast
1
Как Xcode 14 непреднамеренно увеличивает размер приложения

Вскоре после выпуска Xcode 14 размер ряда приложений для iOS значительно увеличился. С середины сентября по начало октября:

• 8 октября размер приложения Nike для iOS был 182.2 МБ. Через неделю уже 322.1 МБ (+68%).
• Приложение American Airlines выросло с 182.2 до 389.1 МБ, при этом Xcode 14 вызвал увеличение на 76.2 МБ (+42%).
• Chime увеличился со 162.8 МБ до 212.8 МБ (+31%).

В каждом случае скачок размера связан с тем, что эти приложения впервые выпускались с Xcode 14.

Статья: https://apptractor.ru/14bitcode
Платформа: iOS
Camera Samples - набор отдельных проектов Android Studio, которые помогут вам начать работу с API-интерфейсами CameraX и Camera2 в Android.

Camera Samples на GitHub: https://github.com/android/camera-samples
Платформа: Android
⭐️: 4K
Swinject— это легковесный фреймворк внедрения зависимостей для Swift.

Внедрение зависимостей (Dependency injection, DI) — это шаблон проектирования, который реализует инверсию управления (IoC) для разрешения зависимостей. В этом шаблоне Swinject помогает разделить ваше приложение на слабо связанные компоненты, которые легче разрабатывать, тестировать и поддерживать. Swinject основан на системе универсальных типов Swift и функциях первого класса, позволяющих просто и свободно определять зависимости вашего приложения.

Swinject на GitHub: https://github.com/Swinject/Swinject
Платформа: iOS
⭐️: 5.5K

Используете DI в своих приложениях?
👍3
Используем Charles

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

В этих двух статьях от студии CleverPumpkin разбирается установка и использование основных функций Charles для мобильных приложений:

Как настроить Charles
Ангелы Charles: как сниффер поможет разработчикам мобильных приложений

Платформа: разработка
👍21