AppFiles - Mobile Development
2K subscribers
2.55K photos
33 videos
8 files
3.43K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Siren - библиотека уведомляет пользователя о том, что вышла новая версия приложения и предлагает обновиться. Данные берет из App Store, есть три вида предупреждений, настраиваемые правила показа, проверка совместимости устройства, локализация на более чем 40 языков.

Библиотека на GitHub: https://github.com/ArtSabintsev/Siren
Платформа: iOS
⭐️: 3.9К
Flutter vs натив: почему мы переходим с первого на второй

Наступил момент, когда наш продукт из стартапа с документооборотом решил перерасти в долгоиграющий проект, бизнесу захотелось перейти от количественного к качественному: более нативного поведения и вообще, чтобы ставили только пять звёзд. Как убедить бизнес, что нужно всё переписать на Native? И вообще надо ли? А что будет с командой? Захотят ли спецы на Flutter возвращаться на старый добрый Native-стек?

Статья 🇷🇺: https://apptractor.ru/fltntv
Платформа: разработка
⬆️: +19
👍3👎1
Чему мы научились, используя KMM для iOS

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

Статья 🇷🇺: https://apptractor.ru/kmmios
Платформа: iOS/кроссплатформа
👋: 688
Forwarded from Код Воробья для iOS разработчиков
Как устроен системный калькулятор.

Приложение написано на сценах. Root-контроллер называется DisplayViewController. Лейбл с введенными цифрами обернули в контейнер DisplayView и добавили жесты LongPress, Swipe и Tap.

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

#ViewHierarchy
👍4
SpotiFlyer - музыкальный загрузчик с поддержкой Spotify, Youtube, Gaana, Jio-Saavn и SoundCloud на Kotlin Multiplatform. Позволяет скачивать альбомы, отдельные треки, плейлисты и т.п. В настоящий момент поддерживается Android, Windows, Linux, MacOS и веб.

Проект на GitHub: https://github.com/Shabinder/SpotiFlyer
Платформа: Android/KMM
⭐️: 2.8К
Принципы SOLID с (почти) реальными примерами на Java

Принципы SOLID — одни из старейших правил в мире программного обеспечения. Они позволяют нам писать поддерживаемый, читаемый, повторно используемый код. В этом тексте пример применения этих принципов из реальной жизни.

Статья 🇬🇧: https://apptractor.ru/solidjava
Платформа: программирование
👋: 790
💩2🔥1
Эволюция UI-тестов в iOS-приложении

Даша из Яндекс.Маркета рассказывает о том, как эволюционировал подход компании к к UI-тестам и, более конкретно, какие работы провели для их «улучшения» - почему решили избавиться от JSON-моков и как справились с этой задачей.

Статья 🇷🇺: https://apptractor.ru/uitstios
Платформа: iOS/тестирование
⬆️: +13
This media is not supported in your browser
VIEW IN TELEGRAM
ReadabilityKit - извлекает превью для заданного URL-а. Может получать название, Title и Description страницы, изображение и видео, ключевые слова и дату публикации.

Библиотека на GitHub: https://github.com/exyte/ReadabilityKit
Платформа: iOS
⭐️: 767
Accompanist — это группа библиотек, целью которых является дополнение Jetpack Compose функциями, которые обычно требуются разработчикам, но пока недоступны. Сейчас в Accompanist, например, есть Insets, System UI Controller, Pager, Placeholder, Navigation Animation, Swipe to Refresh и т.п.

Библиотека на GitHub: https://github.com/google/accompanist
Платформа: Android
⭐️: 4.1К
4,5 года из жизни iOS-команды в пяти историях и одном техрадаре

Стас, лид мобильной разработки Туту.ру, рассказывает о технологиях и процессах разработки в компании. Часть решений может шокировать. Поехали!

Статья 🇷🇺: https://apptractor.ru/45tutu
Платформа: iOS
⬆️: +16
👍1
Высокая производительность с идиоматическим Kotlin

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

В этой статье содержится подробная информация о том:

1. Почему высокая производительность важна при создании программных продуктов
2. Обзор наиболее распространенных причин проблем с производительностью
3. Как измерить производительность
4. Как Kotlin может нам помочь создавать качественные продукты при помощи поддерживаемого, безопасного и выразительного идиоматического кода

Статья 🇬🇧: https://apptractor.ru/idmtktln
Платформа: Android
👋
: 68
👍2
iOS Conf SG — крупнейшая конференция iOS-разработчиков в Юго-Восточной Азии. Этот плейлист состоит из всех докладов, представленных спикерами на конференции 2022 года. Всего в нем 18 видео, среди тем - Использование возможностей конечных автоматов в Swift, IGListKit в 2022 году, VIP, а не VIPER, чистая архитектура Swift, Непрерывная доставка функций с помощью разработки приложений на основе сценариев, Оптимизация приложений с большим объемом изображений, Swift Concurrency под капотом, Создание и запуск современного SwiftUI SDK, Специальные эффекты с SwiftUI, Сохранение модульности с помощью диспетчера пакетов Swift.

Видео 🇬🇧: https://apptractor.ru/iosconfsg22
Платформа: iOS
👍4
Реактивное программирование или сопрограммы: между молотом и наковальней?

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

Статья 🇷🇺: https://apptractor.ru/rctvcrt
Платформа: Kotlin/программирование
👋: 3
👍1
Maps Compose - долгожданный фирменный компонент Google Maps SDK для Jetpack Compose.

Библиотека на GitHub: https://github.com/googlemaps/android-maps-compose
Платформа: Android
⭐️: 396
8 вещей, которые мы узнали, внедрив платежи в Android-приложение DoorDash

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

Статья 🇷🇺: https://apptractor.ru/8doordash
Платформа: Android
Делаем разделы UITableView с вложенными типами

В сегодняшней статье я покажу вам практический пример использования вложенных (nested) типов, создавая UITableView с несколькими разделами. Я собираюсь написать вики о Гарри Поттере, которая покажет пользователю некоторую основную информацию о персонажах, местах и классах Хогвартса. Итак, наш список будет состоять из трех разделов, каждый из которых будет содержать список элементов.

Статья 🇷🇺: https://apptractor.ru/nstdtblv
Платформа: iOS/Swift
👋: 218
👍2
Wizard's Pal - счетчик жизней для настольной игры.

Проект на GitHub: https://github.com/ignatovv/Wizards-pal
Платформа: iOS
⭐️: 1
Улучшение качества кода Android-приложений с помощью SonarQube и Gradle Detekt

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

Статья 🇬🇧: https://apptractor.ru/cdqdrd
Платформа: Android
👋: 260
Forwarded from Код Воробья для iOS разработчиков
Как устроено приложение Wallet

Сделали на сценах, а лейаут на фреймах. Рут контроллер называется PKPassGroupsViewController. Главная вью UIStackView, в неё поместили: заголовок Wallet, группу карточек, группу бонусных карт и футер.

Каждую карточку поместили в контейнер PKPassGroupView. Внутри находится скрол-вью, которая отрабатывает жесты и является саб-контейнером карточки. Получается каждая карточка лежит на скрол-вью и управляется жестами на скролле 🤯. Понятия не имею как это работает.

Чтобы управлять пространством сверху для тапа - эпл сделала переиспользуемый класс. Каждую карточку поместили в ещё один саб-контейнер с названием WLEasyToHitCustomView (переводится легко нажать). Возможно, связали контейнеры в родителе или через делегаты.

#ViewHierarchy
🔥2