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

Стандартное представление Xcode-проекта сложно назвать комфортным для командной работы. Даже в небольших проектах часто возникают merge-конфликты после изменения состава исходников в разных ветках. К тому же Xcode не предоставляет каких-либо решений для реализации потенциала модульных проектов, что снижает интерес к теме модуляризации среди iOS-разработчиков.

Да, ограничения Xcode можно победить, но решением в основном является "винегрет" из сторонних инструментов, заправленный собственными Shell или Ruby скриптами, в которых мало кто разбирается. Но есть куда более изящное и комплексное решение — Tuist. С ним мы и познакомимся в этой статье.

Статья на русском: https://habr.com/ru/company/hh/blog/564988/
Платформа: iOS
⬆️: +9
Как стать Ассоциированным Android-разработчиком (Kotlin)

Если вы разработчик Android, возможно, вы слышали о сертификации Associate Android Developer. Эта программа - единственная известная сертификация, организованная Google для разработчиков Android. Недавно у меня появилась возможность лично пройти сертификацию. Перед регистрацией я поискал в Интернете, чтобы получить общее представление о процессе. Большинство существующих руководств были устаревшими, поэтому они мне не помогли. В этой статье я хотел бы поделиться своим опытом и советами/рекомендациями, которые помогут сделать процесс сертификации более плавным.

Статья на Medium: https://apptractor.ru/aad
Платформа: Android
👋: 80
WalkThroughAndroid - библиотека для создания красивых экранов онбординга. Ключевые преимущества описывают так: простота внедрения, анимация контента, анимация индикатора листания, настраиваемый заголовок и описание, картинки из drawable или URL, поддержка Activity и Fragment.

GitHub: https://github.com/Mindinventory/Walk-Through-Screen
Платформа: Android
⭐️: 20
Пишем свой профайлер для анализа производительности приложения на Android

По мере развития приложения стоит проводить его аудит для выявления неявных деградаций в производительности. Недавно я проводил аудит раздела комментариев iFunny и написал собственный профайлер. Он не заменит имеющиеся на рынке инструменты Android Profile из Android Studio, Battery Historian и Systrace, но обладает рядом плюсов.

Статья на Хабре: https://apptractor.ru/aprfl
Платформа: Android
⬆️: +29
Урок UIBezierPath: как нарисовать Cuphead

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

Статья на Medium: https://apptractor.ru/UIBzPL
Платформа: iOS
👋: 637
This media is not supported in your browser
VIEW IN TELEGRAM
Glideshow - делает слайд-шоу с анимированными переходами (на основе CollectionView).

GitHub: https://github.com/v15a1/Glideshow
Платформа: iOS
⭐️: 51
Google Play будет работать с App Bundle, вместо APK

Google Play с августа 2021 года начнет требовать, чтобы новые приложения публиковались в виде Android App Bundle. Он заменит APK в качестве стандартного формата публикации.

Google Play использует пакеты приложений для создания и оптимизации APK-файлов для различных конфигураций устройств и языков. Это делает ваше приложение меньше (в среднем на 15% меньше, чем универсальный APK) и ускоряет загрузку, что может привести к увеличению количества установок и меньшему количеству удалений.

Описание от Google: https://apptractor.ru/aabndl
Платформа: Android
Разработка Tizen-приложений для Samsung Smart TV

Эта статья рассказывает про удивительные приключения JS-разработчиков в мире ОС Tizen. В ней будет и пошаговая настройка рабочего окружения, и подключение «умного» телевизора Samsung вместе с пультом, и, конечно, сам процесс разработки и публикации приложения для Tizen Store — с примерами и подводными камнями.

Так что если вы разделяете мнение о том, что Javanoscript — лучший язык программирования, потому что он работает практически везде – от домашнего Smart TV до кораблей SpaceX, то добро пожаловать в это руководство.

Статья на Хабре: https://apptractor.ru/tzns
Платформа: Tizen
⬆️: +2
PasswordStrengthView - библиотека для Android, которая показывает надежность вводимого пользователем пароля.

GitHub: https://github.com/RHSaliya/PasswordStrengthView
Платформа: Android
⭐️: 21
Почему замена APK на Android App Bundle пугает разработчиков и экспертов

В ноябре прошлого года Google объявил, что разработчикам потребуется публиковать новые приложения в Play Store, используя формат Android App Bundle (AAB) вместо APK. На днях Google напомнил разработчикам об этом предстоящем требовании, вызвав бурю споров среди пользователей, которые считают, что Google убивает APK, запрещает стороннюю загрузку приложений, препятствует работе сторонних магазинов приложений и т.д.

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

Статья: https://apptractor.ru/info/articles/aab-pros-cons.html
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Tooltip - этот пакет предоставляет вам простой способ отображать всплывающие подсказки в любом представлении SwiftUI.

GitHub: https://github.com/quassummanus/SwiftUI-Tooltip
Платформа: iOS
⭐️: 24
Как спроектировать систему для ваших первых 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