AppFiles - Mobile Development
2K subscribers
2.55K photos
33 videos
8 files
3.44K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
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
This media is not supported in your browser
VIEW IN TELEGRAM
BubbleTabBar - нижнее меню с анимацией. Есть версия для iOS и для Android (от разных авторов).

Для iOS: https://github.com/Cuberto/bubble-icon-tabbar
Для Android: https://github.com/akshay2211/BubbleTabBar
⭐️: 998 и 452 соответственно
🔥2
Вышел стабильный Compose 1.1

Вышла стабильная версия Jetpack Compose 1.1. Этот выпуск содержит новые функции, такие как улучшенная обработка фокуса, изменение размера элемента при касании, кэширование ImageVector и поддержка растягивания прокрутки в Android 12. Compose 1.1 также переводит ряд ранее экспериментальных API в стабильные и поддерживает более новые версии Kotlin. Google уже обновил примеры кода, кодлабы и библиотеку Accompanist для работы с Compose 1.1.

Анонс: https://apptractor.ru/cmps11
Платформа: Android

Наш перевод кодлабы "Основы Jetpack Compose": https://apptractor.ru/cmpscdlb
Интересное "SwiftUI против Jetpack Compose: почему Android выигрывает не напрягаясь": https://apptractor.ru/swftcmps
👍2
Compose Navigation Reimagined - небольшая и простая, но полноценная и настраиваемая навигационная библиотека для Jetpack Compose. Из преимуществ - полная безопасность типов, реставрация состояния, вложенная навигация с независимыми обратными стеками, собственный жизненный цикл, сохраненное состояние и модели просмотра для каждой записи в бэкстеке, анимированные переходы, логика навигации может быть легко перемещена в ViewModel, никаких компоновщиков, никаких обязательных суперклассов для composable, может использоваться для управления диалогами.

Библиотека на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 82
➡️ Делаем оффер iOS- и Android-разработчикам за один день. Приглашаем в команды Мобильного банка, Тинькофф Инвестиций, Тинькофф Бизнеса и еще трех проектов.

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

🖇 Все будет онлайн, 19 февраля. Заявки принимаем до 15 февраля включительно. Подробности и регистрация по ссылке: https://l.tinkoff.ru/onedayoffer-mobile
This media is not supported in your browser
VIEW IN TELEGRAM
Tuist - инструмент командной строки, который помогает создавать и поддерживать структуры модульных Xcode-проектов для командной работы. Его основная функция — генерация Xcode-проектов из специальных файлов с описанием проекта в удобном формате, Tuist синхронизирует структуру Xcode-проекта с иерархией файлов на диске. От аналогов Tuist выгодно отличается способом описания проекта — всё на Swift, как и положено, с автодополнением и прочими благами IDE. Ещё одно важное преимущество Tuist — кастомные хелперы, которые позволяют расширять его возможности и переиспользовать код в манифестах.

Проект на GitHub: https://github.com/tuist/tuist
Статья: https://apptractor.ru/tstios
Платформа: iOS
⭐️: 2.4К
👍1
6 алгоритмов, которые должен знать каждый разработчик

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

Что это за 6 значимых алгоритмов?

1. Сортировки
2. Поиск
3. Динамическое программирование
4. Рекурсия
5. Разделяй и властвуй
6. Хэширование

Статья 🇷🇺: https://apptractor.ru/6algrtm
Платформа: программирование
👋: 1.8K
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Менять работу не страшно, когда всё взвесишь

Skyeng ищет мобильных разработчиков уровня senior и middle+. На удалёнку или в московский офис. Сейчас в команду можно попасть за 2 дня: без нудных собеседований, долгих общений с эйчарами и тестовых заданий. Два интервью по полтора часа: техническое и с руководителем команды.

Ребята провели более 40 независимых бесед и узнали, что ценят и с какими трудностями сталкиваются мобильные разработчики, чтобы вы прошли тест и сравнили своё текущее место с работой в Skyeng. Тот самый случай, когда размах бренда и красивые строки в Линкедине — не единственное преимущество.

Кликайте, если вы Android-разработчик
Кликайте, если вы iOS-разработчик

Ещё Skyeng предлагает бонус, если вы посоветуете друзей: 100 000 рублей за друга мобильного разработчика уровня сеньор и мидл+
💩1
Dart, Flutter и кроссплатформа: небольшой разбор на практике

Кто-нибудь пробовал использовать Dart/Flutter как на клиенте на нескольких платформах, так и в качестве сервера? Кто-то, конечно. пробовал, хотя далеко не каждый за этим приходил к Flutter. Я на своём pet-проекте провёл такой эксперимент, и хотел бы поделиться результатами и выводами.

Статья 🇷🇺: https://apptractor.ru/drtprct
Платформа: кроссплатформа
⬆️: +19