AppFiles - Mobile Development
2K subscribers
2.55K photos
33 videos
8 files
3.43K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
#Перечитывая2021: Swift 5: полезные протоколы, чтобы писать как профессионал

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

Статья: https://apptractor.ru/5swftprt
Платформа: iOS/Swift
Medium: 👏 649
Проект на выходные, Mojito - справочник по коктейлям, содержащий рецепты, изображения и так далее. Внутри 100% Kotlin, UI на Compose, современная архитектура, Material3 (Material You), поддержка динамических цветов, ktlint для проверки стиля кода.

Mojito на GitHub: https://github.com/hvsimon/Mojito
Платформа: Android
⭐️: 8
👍3
AltStore — это приложение для iOS, которое позволяет загружать другие приложения (файлы .ipa) на устройство пользователя, используя Apple ID. AltStore отменяет подписку приложений личным сертификатом разработчика и отправляет их в десктопное приложение AltServer, которое устанавливает обновленные приложения обратно на устройство с помощью синхронизации iTunes. Чтобы предотвратить истечение срока действия приложений, AltStore также периодически обновляет приложения в фоновом режиме, когда они подключены к тому же Wi-Fi, что и AltServer.

AltStore использует стандартные платформы и технологии iOS, с которыми знакомы большинство разработчиков iOS, например, Core Data, Storyboards/Nibs, Auto Layout, фоновое обновление приложений, Network.framework (появился в iOS 12).

AltStore на GitHub: https://github.com/rileytestut/AltStore
Платформа: iOS
⭐️: 6.7К
👍3
Compose Material Dialogs - библиотека с диалоговыми элементами для Jetpack Compose. Есть диалоговые окна, списки выбора, радио и чекбоксы, выбор времени, даты или цвета.

Compose Material Dialogs на GitHub: https://github.com/vanpra/compose-material-dialogs
Платформа: Android
⭐️: 292
Программируйте, как будто нет оператора if

Оператор if — это один из тех фундаментальных инструментов, которые любой инженер-программист использует для решения повседневных задач. Это часть разработки программного обеспечения с первого дня, сразу после того, как студент напишет первый Hello, world. Он вездесущ, как и его разрушительная сила.

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

Перевод: https://apptractor.ru/ifcode
Платформа: программирование
👏
: 636
👎2👍1
Разработка для встроенных систем с использованием Swift

Занятная статья об основах разработки для встроенных систем вообще, и о том, какое место в этой области может занять Swift (спойлер - пока никакого, но вполне вероятно, что). Простыми словами и, как это иногда бывает, крайне интересно, если присматриваетесь к этой области.

Перевод: https://apptractor.ru/brmtl
🔥3
Periphery - инструмент, который определяет неиспользуемый код в Swift-проекте. Основываясь на данных сборки, Periphery строит собственный граф проекта и на его основе определяет декларации, на которые нет ссылок.

Periphery на GitHub: https://github.com/peripheryapp/periphery
Платформа: iOS
⭐️: 3.3К
👍3
#Перечитывая2018: Как все начиналось: десять лет iPhone SDK

Один из первых разработчиков приложений для iPhone Крейг Хоккенберри вспомнил первые дни разработки приложений для нового устройства до выхода официального SDK от Apple.

Статья: https://apptractor.ru/isdk
Платформа: iOS
👍4
PhotoEditor - библиотека фото или графического редактора с простой и удобной поддержкой редактирования изображений с помощью рисования, текста, фильтров, эмодзи и стикеров.

PhotoEditor на GitHub: https://github.com/burhanrashid52/PhotoEditor
Платформа: Android
⭐️: 3.2 K
Гибридная архитектура SDK в RevenueCat

В RevenueCat поддержка кода для каждого SDK представляет собой уникальную задачу. В дополнение к SDK для iOS и Android, компания предоставляет SDK для четырех разных гибридных фреймворков: Flutter, ReactNative, Unity и Cordova. Эти гибридные фреймворки позволяют разработчикам писать единую кодовую базу для развертывания приложений для iOS и Android (а иногда и для настольных компьютеров и веб-приложений!).

В этой статье разработчик RevenueCat рассказывает о том, как разрабатывали гибридные SDK, чтобы снизить затраты на обслуживание и ускорить выпуск.

Статья: https://www.revenuecat.com/blog/how-our-hybrids-work
Платформа: разработка
RoughSwift позволяет в SwiftUI легко создавать фигуры в нарисованном от руки, эскизном, комическом стиле. Поддерживает линии, прямоугольники, круги, эллипсы, линейные пути, кривые, полигоны. Генерирует UIBezierPath для CAShapeLayer, кастомизируется, покрывается тестами.

RoughSwift на GitHub: https://github.com/onmyway133/RoughSwift
Платформа: iOS
⭐️: 999
PopupBarChart показывает столбчатую диаграмму и может показывать всплывающую подсказку, когда пользователь нажимает на столбик.

PopupBarChart на GitHub: https://github.com/JustinGeorgeJoseph/PopupBarChart
Платформа: Android
⭐️: 10
Как мы учимся адаптировать Яндекс Go для незрячих пользователей: ожидания, суровая реальность, чек-лист разработчика

Николай Морев, разработчик iOS-версии приложения Яндекс Go, рассказывает, почему работа над доступностью — это прежде всего работа над UX, а уже во вторую очередь — над API. Показывает примеры, когда эвристики системного скринридера приносили больше вреда, чем пользы. Объясняет, почему для работы над доступностью потребовалась помощь ещё и бэкендеров.

Статья: https://apptractor.ru/goacc
Платформа: доступность/разработка
⬆️: +41
👍1
PartialSheet - кастомный модификатор SwiftUI для представления Partial Modal Sheet в зависимости от размера его содержимого. Управляется жестами, можно внутри делать скроллируемый контент, совместимо с пикерами, настраиваемые цвета, подходит для iOS, iPad, macOS.

PartialSheet на GitHub: https://github.com/AndreaMiotto/PartialSheet
Платформа: iOS
⭐️: 1.2К
Пара интересных вещей в исходниках Telegram для Android

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

Перевод: https://apptractor.ru/tlgdrdsrc
Платформа: Android
👏: 281
👍1
reFlutter - фреймворк помогает с разбором (реверсинжинирингом) приложений Flutter. В нем используется исправленная версия библиотеки Flutter, которая уже скомпилирована и готова к переупаковке приложения. В этой библиотеке изменен процесс десериализации снепшотов, чтобы вы могли удобно выполнять динамический анализ исходного кода. Поддерживается Android (arm64, arm32) и iOS (arm64).

reFlutter на GitHub: https://github.com/Impact-I/reFlutter
Платформа: Flutter
⭐️: 210
👍1
Ktlint - линтер Kotlin от Pinterest, защищающий от тривиальных ошибок, со встроенным средством форматирования. Работает без предварительной конфигурации - это означает, что не нужно принимать решения, спорить о правилах или управлять специальными файлами (конечно, можно использовать дополнительные наборы правил, но это не обязательно). Ktlint просто пытается применить официальный стиль кода с Kotlinlang.org и Android Kotlin Style Guide. В нем есть встроенный форматтер кода, чтобы вам не пришлось исправлять все нарушения стиля вручную, настраиваемый вывод отчетов, представляется в одном jar со всеми зависимостями.

Ktlint на GitHub: https://github.com/pinterest/ktlint
Платформа: Kotlin/Android
⭐️: 4.9K
4 малоизвестные функции Swift

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

Перевод: https://apptractor.ru/4swft
Платформа: Swift/iOS
👏: 646
Scaling Header Scroll View - Scroll View с “прилипчивым” заголовком, который сжимается при прокрутке. Написан на SwiftUI.

Scaling Header Scroll View на GitHub: https://github.com/exyte/ScalingHeaderScrollView
Платформа: iOS
⭐️: 111
SlimeKT - платформа для обмена статьями, где вы можете персонализировать источники, подписываться на любимые темы, получать ежедневные напоминания о прочтении, знакомиться с новыми авторами и делиться своими статьями. Приложение, созданное с использованием Kotlin, Dagger Hilt, Room Database, Coroutines, Flow, AndroidX Glance, WorkManager, Coil и т.д.

SlimeKT на GitHub: https://github.com/kasem-sm/SlimeKT
Платформа: Android
⭐️: 221