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

Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go активно используется DTO.

Правильно написанная модель позволяет разрабатывать разные слои приложения независимо — но нужно следить за актуальностью самой модели на каждом слое. Например, если ошибиться с названием переменной, то клиент не сможет декодировать полученные из сети данные и пользователь не увидит желаемые данные. Такую ошибку легко совершить, в n-й раз перепечатывая названия переменных под каждый слой — а разработчики и правда должны рутинно это делать при любом изменении (или расширении) исходного формата данных. Ещё сложнее заметить ошибку на код-ревью.

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

Статья: https://apptractor.ru/yadto
Платформа: iOS
⬆️: 9
ProgressIndicatorView - различные индикаторы прогресса, созданные с помощью SwiftUI. Всего 5 индикаторов в одной библиотеке.

Библиотека на GitHub: https://github.com/exyte/ProgressIndicatorView
Платформа: iOS
⭐️: 19
2021 для iOS и macOS разработчиков — главное от Apple

Это был захватывающий год новых технологий и функций, призванных помочь разработчикам в создании невероятного опыта и упростить разработку. Apple подводит итоги года и представляет «технологический» обзор года для разработчиков.

Обзор: https://apptractor.ru/appl2021
Платформа: iOS
Fluid работает на основе ResultBuilder и собственного механизма разметки. С его помощью вы можете использовать декларативный синтаксис для создания пользовательского интерфейса с помощью UIKit.

Библиотека на GitHub: https://github.com/octree/Fluid
Платформа: iOS
⭐️: 5
5 вещей, на которые стоит обратить внимание iOS-разработчикам в 2022 году

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

Перевод: https://apptractor.ru/ios2022
Платформа: iOS
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Contacts Android - самый простой способ получить полный доступ ко всем контактам в Android без необходимости иметь дело с Contacts Provider и курсорами. Библиотека написана на Kotlin с совместимостью с Java. В этом же репозитории находится документация и практические руководства по работе с контактами в Android.

Проект на GitHub: https://github.com/vestrel00/contacts-android
Платформа: Android
⭐️: 204
Неполный список навыков, необходимых senior-разработчикам, помимо программирования

Что должен уметь ведущий разработчик? Только ли писать качественный код? Конечно, нет, это лишь основа. Вот неполный список того, что нужно знать Senior-инженеру помимо программирования. Перевод статьи на Medium, собравшей более 8 тысяч "аплодисментов".

Перевод: https://apptractor.ru/snrsk
Платформа: карьера
👋: 8.4К
1
FLCharts - библиотека для построения графиков в iOS-приложениях. Умеет использовать жесты для увеличения/уменьшения, подсвечивать значения и указывать лимиты, скроллировать графики, анимировать их, настраивать цвета.

Библиотека на GitHub: https://github.com/francescoleoni98/FLCharts
Платформа: iOS
⭐️: 1
👍1
5 инструментов разработки, на которые стоит обратить внимание в 2022 году

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

1. GitLive
2. CodeSee
3. DeepSource
4. Appsmith
5. WayScript

Статья: https://apptractor.ru/5tls
Платформа: инструменты
Kotlin Multiplatform Wizard - генератор готовых проектов на Kotlin Multiplatform. Выставляете все необходимые параметры нового проекта (платформы, требуемые библиотеки, плагины, тесты) и получаете готовую основу для приложения. Есть готовая веб-версия.

Проект на GitHub: https://github.com/terrakok/kmp-web-wizard
Платформа: Android
⭐️: 119
Тренды Android-разработки на 2022 год

Jetpack Compose, Hilt, Kotlin Flow и корутины — необходимые навыки для Android-разработчиков.

Перевод: https://apptractor.ru/drd2022
Платформа: Android
👋: 124
UIImageColors - определитель доминирующих цветов в стиле iTunes для UIImage и NSImage. Библиотека извлекает доминирующие и заметные цвета изображения, которые затем можно использовать для изменения всего остального UI в приложении.

Библиотека на GitHub: https://github.com/jathu/UIImageColors
Платформа: iOS
⭐️: 3К
Проект нашего читателя - Spotify Compose, реализация UI приложения Spotify на Jetpack Compose.

Проект на GitHub: https://github.com/droidbaza/SpotifyCompose
Платформа: Android
⭐️: 2
Используем SwiftUI PreviewProvider для представлений UIKit

Уже попробовали SwiftUI? Нашли его восхитительным и легким в работе?

В представлениях UIKit, если вы создаете прототип дизайна в своей кодовой базе, вам нужно каждый раз перекомпилировать и пересобирать свой проект заново, чтобы увидеть результаты в симуляторе. А в SwiftUI так приятно просматривать изменения прямо в предпросмотре!

Что если мы сможем сделать что-то подобное для наших компонентов UIKit? Подобно предварительному просмотру или “горячей перезагрузке”, UIKit смог бы меняться на лету, немедленно, без трудоемкого процесса сборки и компиляции.

Перевод статьи: https://apptractor.ru/sftkit
Платформа: iOS
👋: 710
Программирование как садоводство

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

Статья: https://apptractor.ru/sdvd
Платформа: программирование
👍2
Pintrest Flow Layout - макет для UICollectionView в стиле Pintrest. Можно использовать разное количество колонок.

Библиотека на GitHub: https://github.com/AnasAlmomany/pintrest-flow-layout
Платформа: iOS
⭐️: 2
FPS не падай, девайс не грейся

В октябре 2020 года в техническую поддержку Авито стали обращаться пользователи с проблемами нагрева девайса и просадками FPS вплоть до полного фриза iOS-приложения. Проблема, как казалось, была глобальной. Она не относилась к какой-то конкретной функциональности приложения и поэтому не подходила в бэклоги продуктовых команд. Выход был один: засучить рукава и самому разобраться, что пошло не так. Не даром же я performance engineer.

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

Статья: https://apptractor.ru/fpsdwn
Платформа: iOS
⬆️: +41
Чашка кофе и экраны в приложении

Чашка кофе может существовать в пяти состояниях:

• Пустая
• Наполняемая
• Наполовину полная/пустая чашка
• Сломанная
• Полная горячего превосходного кофе!

Что если я скажу вам, что и экраны в приложениях очень похожи на такую чашку и должны учитывать все пять состояний?

Статья: https://apptractor.ru/cofe
Платформа: дизайн и прототипирование
Высокое качество с Android Strict Mode

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

В этом видео рассказывают как настроить Strcit Mode в Android, чтобы сделать выше приложение быстрее и без багов.

Видео: https://apptractor.ru/strmd
Платформа: Android
Compose Calendar — это компонент, обрабатывающий весь рендеринг календаря и выбор даты. Благодаря гибкости, предоставляемой API, вы можете решить, как будет выглядеть календарь, библиотека будет обрабатывать правильное расположение элементов календаря и его состояние.

Библиотека на GitHub: https://github.com/boguszpawlowski/ComposeCalendar
Платформа: Android
⭐️: 58