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

В этой статье мы объясняем инженерные решения, которые мы применили для стандартизации и разделения архитектуры четырех приложений Walmart Mexico. С самого начала основной целью было изменение архитектуры, но затем мы эволюционировали, чтобы совершить другие преобразования, такие как CI/CD, автоматизация тестирования, стратегия репозитория и другие.

Перевод: https://apptractor.ru/wlmrtarc
Платформа: разработка/архитектура
👋: 173
👍1
The Composable Architecture — это целостная и понятная архитектура для создания приложений с учетом композиции, тестирования и эргономики. Ее можно использовать в SwiftUI, UIKit и всех платформах Apple (iOS, macOS, tvOS и watchOS). Эта библиотека предоставляет несколько основных инструментов, которые можно использовать для создания приложений различной сложности. Она может решить для вас такие задачи, как управление состояниями, разделение на компоненты, тестирование и т.п.

The Composable Architecture на GitHub: https://github.com/pointfreeco/swift-composable-architecture
Статья: https://habr.com/ru/post/526782/
Платформа: iOS
⭐️: 5.7К
👍2
Лучшие практики Android-разработки 2022 за 1 минуту

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

Перевод: https://apptractor.ru/drd1
Платформа: Android
👋: 302
LeakCanary - библиотека для обнаружения утечек памяти в Android-приложении. Утечки памяти очень распространены в приложениях для Android, и накопление небольших утечек памяти приводит к нехватке памяти и сбою приложений. LeakCanary поможет вам найти и устранить эти утечки памяти еще во время разработки.

LeakCanary на GitHub: https://github.com/square/leakcanary
Платформа: Android
⭐️: 27.3K
Почему я оставил работу в Netflix с зарплатой в $450,000

Я думал, что останусь в Netflix навсегда. Максимальная рыночная зарплата. Свобода и ответственность. Неограниченное отсутствие на рабочем месте. О чем еще можно попросить? Поэтому, когда я ушел из Netflix в мае 2021 года, все подумали, что я сошёл с ума.

Перевод: https://apptractor.ru/ntflxqt
Платформа: карьера
👋: 11.1K
Традиционный проект на выходные - open-source микроскоп из LEGO, 3D печати, Arduino и Raspberry Pi. В этом репозитории все инструкции по сборке, принципы работы, чертежи для печати, схемы, код и прочее.

MicroscoPy на GitHub: https://github.com/IBM/MicroscoPy
Платформа: гаджет
⭐️: 1K
Команда TradingView ищет мобильных разработчиков и qa. У нас:

• зарплата привязанная к курсу доллара
• помощь с релокейтом или возможность удаленной работы. А также шикарный офис в центре Ростова
• современные фреймворки и подходы - Kotlin, Coroutines, Jetpack Compose, Android 7+ для Android и SwiftUI, Combine, async-await, iOS 14+ для iOS
• международная продуктовая компания с американскими инвесторами
• входим в Top-65 самых популярных сайтов мира (популярнее Pinterest и Spotify)
• лучшие в мире графики и инструменты для анализа рынка (наши решения используют Тинькофф, БКС, Открытие, Forbes, Mail ru, Lenta ru, Revolut, Interactive Brokers, S&P Global и т.д.)

Если у тебя 2 или больше лет опыта, пиши @janemanolis - Яна, HR TradingView
👍1
Лучшие практики iOS-разработки 2022 за 1 минуту

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

Перевод: https://apptractor.ru/ios1
Платформа: iOS
👋: 268

Есть такая же статья и про Android: https://apptractor.ru/drd1
BackgroundRemoval - библиотека для удаления фона (или объекта) на фотографиях. Написано на чистом Swift без зависимостей, используется u2net модель.

BackgroundRemoval на GitHub: https://github.com/Ezaldeen99/BackgroundRemoval
Платформа: iOS
⭐️: 19
Swipe дает Composable, внутри которого контент можно свайпить влево или вправо. В отличие от SwipeToDismiss, Swipe не приводит к закрытию экрана.

Swipe на GitHub: https://github.com/saket/swipe
Платформа: Android
⭐️: 143
Насколько полезен шаблон Координатор в iOS-приложении?

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

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

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

То есть мы решаем одну проблему, но потом порождаем еще несколько.

Перевод: https://apptractor.ru/coordinator
Платформа: iOS/архитектура
👋: 77
SwiftUIX - расширения и дополнения к стандартной библиотеке SwiftUI. Библиотека пытается заполнить пробелы в еще относительно новой среде SwiftUI, предоставляя обширный набор компонентов, расширений и утилит, дополняющих стандартный декларативный фреймворк. Этот проект, является наиболее полным портом отсутствующей функциональности UIKit/AppKit, стремясь предоставить ее так, как сделала бы сама Apple.

SwiftUIX на GitHub: https://github.com/SwiftUIX/SwiftUIX
Платформа: iOS
⭐️: 4.4K
Как я сделал свой стартап в качестве соло-разработчика

У меня возникла идея создать приложение для кроссфит-тренировок для спортзалов и спортсменов. Я назвал его Dreamwod и запустил в App Store и Google Play. Я сделал два приложения, одно для iOS и одно для Android, внутренний API и веб-страницу компании. В этой статье будет рассказано о стеке технологий, способах работы, чему я научился и какие ошибки допустил.

Перевод: https://apptractor.ru/solostrt
Платформа: разработка
👋: 1К
Loop Habit Tracker - это мобильное приложение, которое помогает вам создавать и поддерживать хорошие привычки, позволяющие достигать долгосрочных целей. Подробные графики и статистика показывают, как со временем улучшались ваши привычки. Приложение полностью без рекламы и с открытым исходным кодом.

Loop на GitHub: https://github.com/iSoron/uhabits
Платформа: Android
⭐️: 4.8K
SwiftMessages - гибкая библиотека отображения представлений и контроллеров представлений для iOS.

View и View Controller-ы могут отображаться вверху, внизу или в центре экрана, поверх панелей навигации или вкладок. Есть интерактивные жесты закрытия, в том числе основанные на физике. Несколько режимов затемнения фона. И многое другое.

Кроме многочисленных параметров конфигурирования, SwiftMessages предоставляет несколько готовых красивых макетов и тем.

SwiftMessages на GitHub: https://github.com/SwiftKickMobile/SwiftMessages
Платформа: iOS
⭐️: 6.5K
Как я занял третье место в конкурсе Telegram и выиграл $2000

Задача: Создать кроссплатформенный модуль на C++ для корректировки внешности. Создать приложение для iOS или Android, которое демонстрирует работу этого модуля, в режиме реального времени преобразовывая видео из фронтальной камеры.

Статья: https://apptractor.ru/tlg2000
Платформа: iOS
⬆️: +9
This media is not supported in your browser
VIEW IN TELEGRAM
Stream Draw — это многопользовательская игра с рисованием и чатом в реальном времени, полностью созданная с помощью Jetpack Compose. Внутри: Jetpack Compose + Coroutines + Flow, Compose Chat SDK for Messaging, Hilt, Retrofit2 & OkHttp3, Moshi, Timber и прочее.

Stream Draw на GitHub: https://github.com/getStream/stream-draw-android
Платформа: Android
⭐️: 66
Swift Async Algorithms — это open-source пакет Apple с асинхронными последовательностями и расширенными алгоритмами. Этот пакет предлагает три основные цели: интеграция с async/await, основа для алгоритмов, основанных на времени, кроссплатформенный и открытый исходный код.

Swift Async Algorithms на GitHub: https://github.com/apple/swift-async-algorithms
Платформа: iOS/Swift
⭐️: 649
Используем новый keyboardLayoutGuide, чтобы защитить View от перекрытия клавиатурой

Мы рассмотрим новый способ решения очень старой проблемы, появившийся в iOS 15. Заключается она в положении UITextField при появлении клавиатуры.

Статья: https://apptractor.ru/keyboardlayoutguide
Платформа: iOS
А вот иной подход для борьбы с клавиатурой - встраивать все в ScrollView.

Каждый экран в вашем приложении должен быть прокручиваемым.

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

Как? Все в моем приложении нужно прокручивать, скажете вы?! Да, раньше я соглашался с вами, но за последние пять лет я понял, что это почти всегда верное предположение.

Я собираюсь объяснить, почему почти каждый экран в вашем приложении должен быть встроен во что-то вроде UIKit UIScrollView, UITableView или UICollectionView (или ScrollView, List или Form в SwiftUI).

Статья: https://apptractor.ru/scrlvw
Платформа: iOS