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

Привет, меня зовут Никита Чернобрисов, и я делаю Android-приложения в Doubletapp. Полтора года назад мы начали работать над приложением «Яндекс Путешествий» — само приложение доступно в Play Store, а про кейс подробно можно прочитать тут. При старте у нас возникло много архитектурных холиваров, в частности о том, как хранить ресурсы и пользоваться ими. И, как это и заведено, первые решения оказались неудачными. Я расскажу вам, дорогие читатели, удары каких граблей оставили больше следов и к чему мы пришли.

Статья: https://habr.com/ru/companies/doubletapp/articles/745606/
Платформа: Android
AppFiles - Mobile Development
Модуляризация мобильных приложений в масштабе Преобразование монолитного приложения в модульную архитектуру - это путь к масштабируемости, и очень важно установить набор правил для построения масштабируемого проекта. Эти правила стали нашим фонарем, позволяющим…
Модуляризация мобильных приложений в масштабе

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

• Модули функций
• Модули координаторов
• Модули плагинов
• Модули библиотек
• Модули запуска (лаунчеры)

Перевод: https://apptractor.ru/info/articles/modulyarizatsiya-mobilnyh-prilozheniy-v-masshtabe.html
Платформа: вообще Android, но в целом разработка
Плавающая кнопка действия в SwiftUI

Floating Action Button (FAB) - это элемент пользовательского интерфейса, используемый в Android и Material Design. Он обозначает кнопку, которая запускает основное действие на конкретном экране.

Несмотря на то что этот элемент пришел из Android, его можно увидеть и в некоторых приложениях для iOS.

Статья: https://sarunw.com/posts/floating-action-button-in-swiftui/
Платформа: iOS
1
Swift HTTP Types - это библиотеки работы с HTTP-запросами от Apple, предназначенные как для клиентов, так и для серверов. Они обеспечивают общий набор представлений для HTTP-запросов и ответов, ориентируясь на современные возможности HTTP. В ней реализованы основные форматы - HTTPRequest, HTTPResponse и HTTPFields, а также заложены основы для работы со всеми новыми возможностями.

Swift HTTP Types на GitHub: https://github.com/apple/swift-http-types
Платформа: iOS
⭐️: 452
Видео и подкасты за неделю

• (iOS Ru) Что делать iOS-разработчикам в России?
• (iOS En) SwiftUI Repeatable Button
• (iOS En) SwiftUI 5: What’s New In ScrollView
• (iOS En) Build A To Do List App using SwiftData (Swift Data Tutorials)
• (iOS En) Becoming an “iOS-lite” developer
• (iOS En) Build a Live Activity Realtime Polls App with Firebase & APNS Push Token
• (iOS En) SwiftUI Data Flow with the new Observation
• (iOS En) SwiftUI Search Bar - How to work with searchable in your iOS and macOS apps
• (And Ru) Как избежать хаоса: навигация как отдельный логический уровень
• (And En) Now in Android: 86 - Google Play at I/O, Pixel Fold and Tablet, Google Developer Expert
• (And En) WorkManager - Android Basics 2023
• (Crs Ru) Как собрать iOS-фреймворк из исходных файлов на Kotlin
• (Crs En) Kotlin Multiplatform in Production
• (Crs En) MVI Compose Multiplatform Contacts List App With Photos (iOS & Android)
• (Dev Ru) Игры, в которые играют люди на собеседованиях
• (Dev Ru) Podlodka #324: холакратия — самоорганизующиеся команды
• (Dev Ru) Как мы за полгода построили работу команды data инженеров от хаоса до порядка (Яна Жежер, СберМаркет)
• (Dev En) Design and Prototype for iOS 17 in Figma

Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻‍💻
👍2🤮2
This media is not supported in your browser
VIEW IN TELEGRAM
Wavy Slider - это анимированный волнистый слайдер в материальном стиле и индикатор выполнения, аналогичный тому, который появился в медиаплеере Android 13.

Библиотека может быть использована в мультиплатформенных проектах Compose как обычный Material Slider.

Поддерживаются такие целевые платформы, как Android, Desktop и JavaScript.

Она также может быть использована в обычном одноплатформенном Android-проекте с помощью Jetpack Compose или (возможно) XML-видов.

Wavy Slider на GitHub: https://github.com/mahozad/wavy-slider
Платформа: Android
⭐️: 12
Полезные iOS-инструменты для дебаггинга

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

Статья: https://habr.com/ru/companies/simbirsoft/articles/747462/
Платформа: iOS
1👎1🔥1
Делаем эмулятор Android через Terminal

В Android разработке может наступить момент, когда для тестирования приложения на различных устройствах может потребоваться виртуальное устройство. Эмулятор Android легко можно создать с помощью GUI Android Studio, но также можно и с помощью командной строки на macOS. В этой статье я расскажу вам, как именно это сделать!

Статья: https://habr.com/ru/companies/wrike/articles/747154/
Платформа: Android
Здоровое трение в UX: создание слайдера оплаты

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

Статья: https://apptractor.ru/info/articles/zdorovoe-trenie-v-ux-sozdanie-slaydera-oplaty.html
Платформа: разработка
👍1
Swift Markdown - это Swift-пакет от Apple для разбора, создания, редактирования и анализа документов в Markdown формате.

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

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

Swift Markdown на GitHub: https://github.com/apple/swift-markdown
Платформа: iOS
⭐️: 2.3K
Как мы запускали демоприложения

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

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

Статья: https://habr.com/ru/companies/tinkoff/articles/747336/
Платформа: Android
👍2
Однонаправленный поток в Swift

На этой неделе я расскажу о подходе к управлению состояниями, который я использую в своих приложениях уже много лет. Мы рассмотрим построение предсказуемой, тестируемой, отлаживаемой и модульной системы управления состояниями в Swift.

Перевод: https://apptractor.ru/info/articles/odnonapravlennyy-potok-v-swift.html
Платформа: iOS
Программировали, программировали и переросли свои задачи?

Работайте над масштабными ИТ-проектами в Тинькофф. Здесь тимлид хороший и задачи интересные. А работать можно прямо там, где живете: у Тинькофф есть ИТ-хабы в 25 городах России, в Беларуси, Армении и Казахстане.

Вакансии тут: https://u.tinkoff.ru/prof_it.tinkoff
Android Developer Roadmap 2022 предназначена для того, чтобы дать вам полное представление о текущей экосистеме Android, а также предлагает пути обучения, которые помогут вам усвоить эти концепции.

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

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

Android Developer Roadmap 2022 на GitHub: https://github.com/skydoves/android-developer-roadmap
Платформа: Android
⭐️: 6.1K
Работа с асинхронными операциями с помощью Kotlin Coroutines

Сегодня я хочу углубиться в Kotlin Coroutines и разобрать их основные компоненты. Мы рассмотрим Kotlin Coroutines, предполагая, что у вас уже есть базовое понимание языка Kotlin и некоторый опыт разработки Android-приложений. Мы изучим основные концепции Kotlin Coroutines, способы работы с асинхронными операциями, управление потоком выполнения, обработку ошибок и исключений, а также многое другое.

Статья: https://habr.com/ru/articles/747858/
Платформа: Android
Бесплатный курс «LangChain и векторные базы данных в продакшене»

Курс «LangChain & Vector Databases in Production» — это совместная работа компаний Activeloop, Towards AI и Intel Disruptor Initiative, призванная вооружить профессионалов средствами для освоения больших языковых моделей (LLM), пройдя с ними весь путь от обучения до выпуска в продакшен.

Новость: https://apptractor.ru/learn/besplatnyy-kurs-langchain-i-vektornye-bazy-dannyh-v-prodakshene.html
Платформа: обучение
Как повысить скорость работы цикла в Swift на 87%

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

Статья: https://apptractor.ru/info/articles/kak-povysit-skorost-raboty-tsikla-v-swift-na-87.html
Платформа: программирование
👍2
SwiftyMarvel - это приложение на SwiftUI, использующее API Marvel для отображения списка супергероев и подробной информации о них. Это приложение создано в качестве личного проекта для демонстрации навыков и демонстрирует, как реализовать "чистую архитектуру" и другие лучшие практики разработки приложений для iOS с использованием SwiftUI, Combine, MVVM, Dependency Injection, Unit Testing, Code Coverage и др.

SwiftyMarvel на GitHub: https://github.com/Mohanedy98/swifty-marvel/
Платформа: iOS
⭐️: 64
Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов

Меня зовут Паша, я тимлид iOS-команды в IT-компании крупного российского ретейлера. В силу должности я непосредственно связан с процессом найма людей и за семь лет прошел и провел огромное количество собеседований. Знаю этот процесс с обеих сторон и рискну утверждать, что классические собеседования «Вопрос-ответ» давно морально устарели.

Статья: https://habr.com/ru/articles/749084/
Платформа: собеседование
10 быстрых советов по повышению качества Swift кода

Написание качественного кода - это процесс непрерывного совершенствования.

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

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

Статья: https://blorenzop.medium.com/code-quality-tips-f53a69b3f786
Платформа: Swift