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

Эта статья призвана помочь вам понять, как кастомизировать UICollectionView, создав подкласс UICollectionViewFlowLayout.

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

Платформа: iOS
Medium: 👏 68
MortyUI - простое приложение про “Рика и Морти”, демонстрирующее работу GraphQL со SwiftUI. Вы можете просматривать персонажей, эпизоды и (скоро) локации.

Исходники: https://github.com/bitrise-io/apm-ios-test-mortyUI
This media is not supported in your browser
VIEW IN TELEGRAM
Интеграция SpriteKit в iOS-приложение

Простое соединение SpriteKit и UIKit и добавление потрясающих анимаций SpriteKit в приложение на основе сторибордов.

Платформа: iOS
Medium: 👏 114
9 любимых расширений Android KTX

Расширения Kotlin позволяют нам расширять некоторые классы новыми функциями - в результате мы получаем более чистый и простой код. Это так здорово, что некоторые из распространенных расширений Android Kotlin включены в проект Android KTX, и они находятся всего в одной зависимости от нас. В этой статье рассматриваются различные интересные расширения Android KTX.

Платформа: Android
Как мы просто сократили объем входящего в дата-центр трафика на 70%

Статья от FunCorp о применении сжатии к исходящим от устройств аналитическим событиям, в результате чего объем трафика снизился на 70%.

Платформа: iOS/Android
Habr: ⬆️ 88
Condensation - распределенная база данных общего назначения со сквозной безопасностью. Пока есть версия для Android, версия для iOS планируется в конце года.

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

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

Сайт: https://condensationdb.com/
Auxio - это локальный музыкальный проигрыватель, простой, понятный и настраиваемый. У него быстрый и надежный UI/UX, и в нем нет бесполезных функций. Короче говоря, просто играет музыку. В отличие от других музыкальных плееров, Auxio основан на ExoPlayer, что обеспечивает гораздо лучший опыт прослушивания по сравнению с собственным MediaPlayer API. Код Auxio также легко расширяем, что позволяет добавлять функции, которые не включены в основное приложение.

Платформа: Android
GitHub: https://github.com/OxygenCobalt/Auxio
⭐️: 0
Простой, умный алгоритм поиска для iOS на Swift

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

Платформа: iOS
Medium: 👏 235
Чем различаются Dagger, Hilt и Koin

В этом видео (есть и статья) Паулина объясняет, чем различаются Dagger, Koin и Hilt, и каковы последствия этих различий. Рассматривается время сборки, производительность во время выполнения и обработка ошибок. Вы также узнаете, почему говорят, что Koin построен на основе Service Locator, а не в шаблоне внедрения зависимостей.

Платформа: Android
YouTube: 👍: 47
Medium: 👏 257
PermissionsSwiftUI отображает и обрабатывает разрешения в SwiftUI. Пользовательский интерфейс легко настраивается и напоминает стиль Apple. Работает с 12 разрешениями, есть дефолтные определения и иконки, но можно все сделать и свое. Доступно через Swift Package Manager.

Платформа: iOS
GitHub: https://github.com/jevonmao/PermissionsSwiftUI
⭐️: 98
Уроки самой страшной дизайн-катастрофы в американской истории

Не про код, но про важность UI/UX:

Проблемы начались с пульта управления реактором, который после засорения системы охлаждения станции загорелся шквалом сигнальных ламп и загудел хором звуковых сигналов. Одновременно зажглись буквально сотни сигналов и огней. Операторы поспешили их выключить, пытаясь разобраться в проблеме. Их начал накрывать туман замешательства. Они не могли понять, что происходит?! Сама панель не давала четкого представления о работе АЭС, бессмысленно группируя кусочки информации. Например, панель, показывающая утечки реактора, была рядом с панелью, сообщающей о проблемах лифта. Позже следователи обнаружили, что красные огни на панели управления могли означать четырнадцать разных вещей, плохих и хороших.

Платформа: ядерный реактор
Советы по реализации темного режима в iOS

Уже прошло достаточно времени с момента появления темного режима в iOS 13, и много было написано о динамических цветах, наборах цветов, динамических изображениях/материалах и других инструментах для поддержки этой новой функции. В этой статье автор, столкнувшись с некоторыми проблемами, погружается в возможности UIKit, которые могут быть полезны при реализации темной темы.

Платформа: iOS
Medium: 👏 325
Expenso - простое приложение для контроля расходов, созданное для демонстрации современных компонентов и MVVM архитектуры.

В Android-версии внутри: Kotlin, корутины, Android Architecture Components (Stateflow, Flow, ViewModel, Room, Jetpack Navigation, DataStore), Material Components for Android.

В iOS все попроще - SwiftUI и CoreData.

Платформа: iOS/Android
GitHub: https://github.com/Spikeysanju/Expenso
⭐️: 180
3 вещи, которые я перестала делать вручную в Android-разработке

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

Это:

1. Ручное обновление зависимостей.
2. Ручное форматирование кода и удаление неиспользуемых импортов
3. Ручная загрузка в Google Play

Платформа: Android
Medium: 👏 136
#ЧитателиПишут: На этой неделе писал про PermissionsSwiftUI - библиотеку запроса разрешений на SwiftUI. Оказывается, что это копия большой либы SPPermissions, которая делает тоже самое, но на чистом Swift. Запрос прав на 12 доступов, полная настройка UI, поддержка iPad, темный режим. Автор библиотеки - Иван, читатель канала, привет ему и спасибо за информацию.

Платформа: iOS
GitHub: https://github.com/varabeis/SPPermissions
⭐️: 4.2К
Самые популярные вопросы с собеседований Swift и iOS разработчиков 2021

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

Вот тут у нас есть некоторые технические вопросы с ответами.

Платформа: iOS
Medium: 👏 335

P.S. На фото видимо типичный iOS-разработчик, 35 лет 😀
Flutter пока не смог стать надежным кроссплатформенным решением

Автор статьи (мой перевод на русский) пытался сделать приложение на Flutter для iOS, но столкнулся с рядом ошибок. Вывод его - платформа пока не очень готова к серьезной работе. По крайней мере в разрезе тех функций, которые нужны ему.

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

Судя по тому немногому, что я вижу со стороны, я серьезно сомневаюсь, что Google удастся сделать разработку с Flutter таким же безупречным опытом, как нативная разработка.

Платформа: Flutter
Medium: 👏 1.4К
Boardgame.io - бесплатный открытый клиент-серверный движок для пошаговых многопользовательских “настольных” игр. Вы пишите простые функции, описывающие, как состояние игры изменяется при выполнении определенного хода, а движок делает все остальное, автоматически преобразуя их в игру и поддерживая все многопользовательские и игровые функции. Правда, все JS, но на нем делают и мобильные проекты.

Сайт: https://boardgame.io/
Контрольный список качества приложения

C первых дней появления мобильных приложений ожидания пользователей значительно выросли. Разработчики должны делать приложения не просто которые работают, но работают хорошо - от конфиденциальности до взаимодействия с пользователем. Этот раздел на сайте Google для разработчиков поможет вам быть в курсе последних требований и представляет собой чеклист с подробными руководствами в выбранных областях.

Платформа: Android
Сайт: https://developer.android.com/quality
#ЧитателиПишут: Еще одна библиотека от автора SPPermissions - SPAlert. Это попапы в стиле Apple Music или отзывов в AppStore. Есть Done, Heart, Error и другие заданные шаблоны, можно конечно делать и свои на основе кастомных изображений или SFSymbols. Поддерживается темный режим.

Платформа: iOS
GitHub: https://github.com/varabeis/SPAlert
⭐️: 970

Делитесь своими любимыми и интересными библиотеками!
Анти-паттерны RecyclerView

RecyclerView в разработке под Android - очень полезная first-party библиотека, которая заменяет традиционный ListView. За свою карьеру я видел несколько анти-шаблонов RecyclerView и недопонимание концепции его адаптера. Недавно просмотрев соответствующий фрагмент кода и подробно объяснившись с одним из моих младших разработчиков, я решил поделиться своими знаниями, поскольку считаю, что это концепции, которые должен понимать каждый Android-разработчик.

Платформа: Android
Medium: 👏 582