AppFiles - Mobile Development
2.11K subscribers
2.66K photos
37 videos
9 files
3.58K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Обработка сетевых вызовов в Swift с помощью Moya

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

Статья: https://apptractor.ru/info/articles/moya.html
Платформа: iOS
GreenStash - это простое cвободное и открытое приложение для Android, которое поможет вам легко планировать и управлять своими сбережениями, а также выработает привычку экономить деньги. Внутри Material 3 и Material You, биометрия, MAD (пользовательский интерфейс и логика написаны на чистом Kotlin, единая активити, никаких фрагментов, только Composable Destinations.

GreenStash на GitHub: https://github.com/Pool-Of-Tears/GreenStash
Платформа: Android
⭐️: 428
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Environment Overrides - небольшая библиотека, которая добавляет панель управления для тестирования того, как приложение SwiftUI адаптируется под различные цветовые темы, настройки доступности и локализации. Вдохновлена панелью "Environment Overrides" в Xcode, но позволяет проверять реальное работающее приложение вместо предварительного просмотра в Xcode.

SwiftUI Environment Overrides на GitHub: https://github.com/nalexn/EnvironmentOverrides
Платформа: iOS
⭐️: 304
Конструкторы-самозванцы в Kotlin

Сегодня я хочу поговорить про интересные моменты в Kotlin, связанные с вызовами конструкторов классов. Или не совсем конструкторов? Или же совсем не конструкторов? Давайте разбираться.

Статья: https://habr.com/ru/articles/805767/
Платформа: Android
1
This media is not supported in your browser
VIEW IN TELEGRAM
Tap Target Compose - это Jetpack Compose реализация “мишеней” (Tap Target) из Material Design, используемых для указания пользователю на новые функции.

Tap Target Compose на GitHub: https://github.com/PierfrancescoSoffritti/tap-target-compose
Платформа: Android
⭐️: 32
Поваренная книга SwiftUI: создание текстовых полей в SwiftUI

TextField в SwiftUI — это универсальный элемент, используемый для получения текстового ввода от пользователя.

Статья: https://apptractor.ru/info/articles/povarennaya-kniga-swiftui-sozdanie-tekstovyh-poley-v-swiftui.html
Платформа: iOS
OpenSwiftUI - это реализация SwiftUI от Apple с открытым исходным кодом. Проект предназначен для создания приложений с графическим интерфейсом на платформах, отличных от Apple (например, Linux и Windows), диагностики и отладки проблем SwiftUI на платформе Apple. При этом дизайн API по возможности остается таким же, как и оригинальный API SwiftUI. В настоящее время этот проект находится на ранней стадии разработки и его не рекомендуют использовать в “производственных” приложениях.

OpenSwiftUI на GitHub: https://github.com/OpenSwiftUIProject/OpenSwiftUI
Платформа: iOS
⭐️: 635
Вторая часть "Осваиваем ViewModel в Android: «можно» и «нельзя»"

Рассматриваются два вопроса:

• Избегайте раскрытия мутабельных состояний
• Используйте update{} при использовании MutableStateFlows

Статья: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-2.html
Платформа: Android
Убираем M из MVVM в SwiftUI

Вы наверняка заметили, насколько коротким получился код для представления, показывающего три разных состояния. Это потому, что один из лучших способов убрать «М» из MVVM — разбить представление на маленькие, простые структуры. Apple построила SwiftUI именно таким образом: State, Binding и Environment позволяют вашим представлениям взаимодействовать друг с другом прямолинейно.

Статья: https://apptractor.ru/info/articles/ubiraem-m-iz-mvvm-v-swiftui.html
Платформа: iOS
EinkBro - маленький браузер, созданный для экранов на электронных чернилах. EinkBro разработан в соответствии с потребностями Eink-устройств : никаких лишних переходов и анимаций, четкие черно-белые иконки, полезные функции для чтения на устройствах. Он был создан на основе FOSS Browser, который является полностью свободным приложением для Android.

EinkBro на GitHub: https://github.com/plateaukao/einkbro
Платформа: Android
⭐️: 910
Как я написал клиент электронного дневника своей области

Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю разработку мобильных приложения для андроид. И как это бывает у каждого - я столкнулся с проблемой: а какое приложение мне сделать? И мне крайне повезло. Я не стал делать какой-нибудь фейковый магазин, калькулятор, блокнот, туду лист и всякую подобную заезженную тему.

Статья: https://habr.com/ru/articles/806737/
Платформа: Android
🔥4
Как заканчивать игры (и другие проекты)

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

Статья: https://apptractor.ru/info/articles/kak-zakanchivat-igry-i-drugie-proekty.html
PumpkinOS - это новая реализация PalmOS, работающая на современных архитектурах (x86, ARM и т.д.). Это не обычный эмулятор PalmOS (он НЕ требует PalmOS ROM), но он может запускать m68K PalmOS-приложения. Этот релиз содержит четыре PIM-приложения, присутствующие в PalmOS: AddressBook, MemoPad, ToDoList и DateBook. Исходный код этих приложений распространялся в одном или нескольких PalmOS SDK и был адаптирован для корректной компиляции под PumpkinOS.

PumpkinOS на GitHub: https://github.com/migueletto/PumpkinOS
Сайт: https://pmig96.wordpress.com/category/palmos/
Платформа: разработка
⭐️: 611
Может ли мобильный-разработчик стать CTO?

Да, может. На этом статью можно было бы закончить. Спасибо, что дочитали до конца, приходите поделиться своим опытом в комментариях.

Если серьёзно, карьера мобильного разработчика, который хочет вырасти в большого руководителя, может складываться по-разному. Например, мой путь начался в 2013 году, и за это время я успел поработать и в маленьких стартапах, и в больших корпорациях. Сейчас я Director of Engineering в Яндекс Go. Последние шесть лет я управляю разными командами разного размера: от 5 до 200+ человек.

Статья: https://habr.com/ru/companies/yandex/articles/806693/
Платформа: разработка
😎41
Pokedex Compose - приложение про покемонов, которое демонстрирует современную разработку для Android с использованием Jetpack Compose, Hilt, Coroutines, Flow, Jetpack (Room, ViewModel) и Material Design на основе MVVM-архитектуры.

Pokedex Compose на GitHub: https://github.com/skydoves/pokedex-compose
Платформа: Android
⭐️: 164
Реализация Критических оповещений на Android

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

Статья: https://apptractor.ru/info/articles/realizatsiya-kriticheskih-opovescheniy-na-android.html
Платформа: Android
FontBlaster - библиотека для программной загрузки кастомных шрифтов в приложения для iOS, macOS и tvOS. FontBlaster автоматически импортирует и загружает все шрифты из бандла вашего приложения с помощью одной строки кода.

FontBlaster на GitHub: https://github.com/ArtSabintsev/FontBlaster
Платформа: iOS
⭐️: 1.2K
Введение в Trio: часть 3

Trio - это фреймворк Airbnb для экранной архитектуры Jetpack Compose в Android. Он построен на базе Mavericks, библиотеки управления состояниями Jetpack от Airbnb с открытым исходным кодом. В этой серии статей мы разбираем принцип работы Trio, чтобы объяснить наши дизайнерские решения, в надежде, что другие команды смогут воспользоваться аспектами нашего подхода.

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

Часть 1: https://apptractor.ru/info/articles/vvedenie-v-trio.html
Часть 2: https://apptractor.ru/info/articles/vvedenie-v-trio-chast-2.html
Часть 3
: https://apptractor.ru/info/articles/vvedenie-v-trio-chast-3.html
Платформа: Android