AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.12K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Как спроектировать систему для ваших первых 100 миллионов пользователей

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

• Начните с самого простого: все в одном
• Искусство масштабирования: масштабирование внутри, масштабирование снаружи
• Масштабирование реляционной базы данных: репликация master-slave, репликация master-master, федерация, сегментирование, денормализация и настройка SQL
• Какую базу данных использовать: NoSQL или SQL?
• Продвинутые концепции: кеширование, CDN, geoDNS и т.д.

Статья на Medium: https://apptractor.ru/sc100
Платформа: backend
👋: 3.3K
NotyKT - это полноценное клиент-серверное приложение для создания заметок на Kotlin, созданное для демонстрации использования языка программирования Kotlin на сервере (Ktor Framework) и современных инструментах разработки Android на клиентах (Navigation Architecture и Compose UI).

GitHub: https://github.com/PatilShreyas/NotyKT
Платформа: Android
⭐️: 676
Изменения, необходимые для работы приложения в Windows 11 через Amazon App Store

Windows 11 позволит пользователям устанавливать приложения для Android через Amazon App Store. В этой статье рассказывается, как и какие изменения вам нужно внести, чтобы вы могли опубликовать там свой проект, чтобы пользователи могли устанавливать эти приложения на свои компьютеры с Windows 11.

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

Статья на Medium: https://apptractor.ru/w11and
Платформа: Android/Windowds
👋: 8
This media is not supported in your browser
VIEW IN TELEGRAM
SwipeCellKit - сдвигаемая ячейка для UITableViewCell/UICollectionViewCell, как в оригинальном почтовом приложении Apple. Поддерживает левые и правые свайпы, кнопки с изображениями, тактильный отклик, кастомные анимации, темный режим и т.п.

GitHub: https://github.com/SwipeCellKit/SwipeCellKit
Платформа: iOS
⭐️: 5.6К
Глубокое погружение в Server-Driven UI систему Airbnb

Погружение не очень глубокое, но в целом стать про то, как устроен Server-Driven UI в Airbnb. Ghost Platform (GP) — это унифицированная, управляемая сервером система пользовательского интерфейса, которая позволяет компании быстро выполнять итерации и безопасно запускать функции в веб, iOS и Android.

Перевод: https://apptractor.ru/bnbsduir
Статья на Medium: https://apptractor.ru/bnbsdui
Платформа: разработка
👋: 1.3К
Современное состояние DevOps в iOS

Один из основных аспектов разработки программного обеспечения - его качество. Благодаря DevOps применение лучших практик и методов разработки качественного ПО стало еще проще.

Сам термин DevOps (разработка и эксплуатация) никогда не был четко определен. В нем объединяется несколько аспектов жизненного цикла каждого программного продукта. Основная цель, которую стремится достичь каждый DevOps-инженер - обеспечить непрерывную и быструю доставку продукта с максимально возможным качеством.

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

Статья на Medium: https://apptractor.ru/iosdvps
Платформа: iOS/DevOps
👋: 897
QuizZon - готовое приложение для создания и игры в викторины. Сделано на Kotlin, корутинах, Flow, Android Architecture Components. Бэкенд это Firebase и HarperDB.

GitHub: https://github.com/rohitjakhar/Quizzon
Платформа: Android
⭐️: 15
Не пишите код в стартапе

Прим: Статья за 2 недели собрала 5.2K аплодисментов! Не мог не перевести, что же в ней говорится :)

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

Я работал со многими стартапами и видел все: от трех человек в коворкинге до масштабирования с финансированием в 100 миллионов долларов.

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

Пять лет назад я бы ухватился за возможность поработать в другом стартапе, но больше не хочу.

Перевод: https://apptractor.ru/cdstru
Medium: https://apptractor.ru/cdst
Платформа: разработка
👋: 5.2K
Если вы захотите повторить успех Brickit, то вот вам проект BrickRegistration - “week-end” проект по распознаванию кубиков LEGO на Python. Он создает готовую нейронную сеть, которая умеет определять элементы конструктора.

GitHub: https://github.com/GistNoesis/BrickRegistration
Платформа: Machine Learning
⭐️: 111
View Model не обязательно наследоваться от ViewModel

Рекомендованные практики от Google, как правило, включают использование ViewModel в качестве базового класса для View Models (тех, которые в MVVM). ViewModel — отличная штука для сохранения чего угодно в случае поворота экрана: будь то View Model, Presenter или Router. Но можно ли получить все преимущества выживания при повороте без необходимости наследоваться от ViewModel напрямую?

Статья: https://apptractor.ru/vmdl
Платформа: Android
⬆️: +10
Подборка видео Swift Heroes 2021 - виртуальной конференции, посвященной вопросам iOS-разработки. В этом плейлисте SwiftUI, CoreText, масштабируемая архитектура. Всего 20 видео.

Видео: https://apptractor.ru/sfth
Платформа: iOS
Властелин модулей. Продолжение истории

В 2018 году на одной из конференций Александр Блинов представил доклад «Властелин модулей». С тех пор утекло много воды, а многомодульность в проекте HH.ru приняла финальные очертания. В этой статье он рассказывает о допущенных ранее ошибках, как выглядит работа с модулями сейчас и как проектировать сложные решения.

Статья: https://habr.com/ru/company/hh/blog/566450/
Платформа: Android
⬆️: +7
Google выпустил Android Game Development Kit (AGDK), полный набор инструментов и библиотек, которые помогут вам разрабатывать, оптимизировать и выпускать высококачественные игры для Android.

В AGDK заложено три ключевых принципа:

• Код, созданный для разработки игр. Все библиотеки были написаны и протестированы с учетом производительности с использованием C или C++.
• Уменьшение фрагментации. Инструменты и библиотеки AGDK работают во многих различных версиях Android.
• Создано Android для Android. Функции будут расширены в следующих обновлениях платформы Android, а библиотеки по возможности обеспечат обратную совместимость.

В этом первоначальном запуске разработчики сосредоточились на трех основных областях, в которых они получили много отзывов от сообщества разработчиков: интегрированные рабочие процессы, игровые библиотеки C/C++ и оптимизация производительности.

Официальный сайт: https://developer.android.com/games/agdk
Представляем DocC: новый инструмент для написания документации в Xcode

На этой WWDC Apple представила новый инструмент создания документации для пакетов и фреймворков Swift - DocC.

DocC, как следует из названия, представляет собой компилятор документов (Document Compiler), он работает с компилятором Swift в создании документации для фреймворков и пакетов Swift, и глубоко интегрирован в Xcode. DocC создает документацию в стиле Apple, которую вы можете увидеть прямо в окне в Xcode, и, что еще лучше, вы можете разместить документацию в виде веб-сайта.

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

Статья на Medium: https://apptractor.ru/dccxcdoe
Платформа: iOS
👋: 328
ReactorKit - это фреймворк для реактивной и однонаправленной архитектуры приложений Swift (действия пользователя и состояния экранов доставляются на каждый слой через наблюдаемые потоки - эти потоки однонаправлены: представление может только испускать действия, а реактор может только испускать состояния). В этом репозитории представлена основная концепция ReactorKit и описано, как создавать приложения с помощью ReactorKit.

GitHub: https://github.com/ReactorKit/ReactorKit
Платформа: iOS
⭐️: 2.2К
Собеседование Неклюдов - Мацюк

За виртуальным столом встретились два культовых специалиста Android сообщества и оба Android GDE. Сторона "Интервьюер" - Денис Неклюдов, Staff Mobile Engineer в Lyft, а со стороны "Кандидат" - Евгений Мацюк, Software Expert из Лаборатории Касперского!

Видео: https://apptractor.ru/info/media/sobesedovanie-neklyudov-matsyuk.html
Платформа: Android
👍: 377
Compose Path Finding - простое мобильное приложение, визуализирующее нахождение пути (Алгоритм Дейкстры) и демонстрирующее применение Jetpack Compose в Android.

GitHub: https://github.com/crjacinro/compose-path-finding
Платформа: Android
⭐️: 26
Мой стек iOS-разработки 2021

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

Немного обо мне: я iOS-инженер из Кейптауна, ЮАР. Занимаюсь разработкой приложений для iOS более 5 лет в сфере FinTech и электронной коммерции. Мне нравится создавать продукты, которые влияют на жизнь людей, и я думаю на Swift ⚡️😉.

Перевод: https://apptractor.ru/iostsru
Оригинал: https://apptractor.ru/iosts
Платформа: iOS
👋: 228
This media is not supported in your browser
VIEW IN TELEGRAM
Hammer - библиотека синтеза сенсорного и клавиатурного ввода для имитации взаимодействия с пользователем, предназначенная для юнит-тестов iOS-приложений. Умеет работать со стилусом, клавиатурой, жестами, ждать симулятор и искать View для взаимодействий.

GitHub: https://github.com/lyft/Hammer
Платформа: iOS
⭐️: 237
Pacman Compose - еще одна игра на Jetpack Compose, теперь это Pacman. Весь UI в нем сделан на Jetpack Compose, внутри Kotlin, анимации AnimateFloatAsState и InfiniteTransition, Canvas API.

GitHub: https://github.com/danielmbutler/Pacman_Compose
Платформа: Android
⭐️: 12
Pulse - это мощная система логирования для платформ Apple. Нативная. Создана с использованием SwiftUI. Записывайте и проверяйте сетевые запросы и логи прямо из iOS-приложений с помощью Pulse Console. Делитесь логами и просматривайте их в приложении Pulse для macOS. Логи записываются локально и никогда не покидают ваше устройство.

GitHub: https://github.com/kean/Pulse
Платформа: iOS
⭐️: 3.2К