Кодогенерация DTO: зачем она нужна и как её настроить
Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go активно используется DTO.
Правильно написанная модель позволяет разрабатывать разные слои приложения независимо — но нужно следить за актуальностью самой модели на каждом слое. Например, если ошибиться с названием переменной, то клиент не сможет декодировать полученные из сети данные и пользователь не увидит желаемые данные. Такую ошибку легко совершить, в n-й раз перепечатывая названия переменных под каждый слой — а разработчики и правда должны рутинно это делать при любом изменении (или расширении) исходного формата данных. Ещё сложнее заметить ошибку на код-ревью.
Поэтому разработчики решили добавить механизм, который сам бы составлял и переписывал код моделей DTO в зависимости от исходного формата.
Статья: https://apptractor.ru/yadto
Платформа: iOS
⬆️: 9
Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go активно используется DTO.
Правильно написанная модель позволяет разрабатывать разные слои приложения независимо — но нужно следить за актуальностью самой модели на каждом слое. Например, если ошибиться с названием переменной, то клиент не сможет декодировать полученные из сети данные и пользователь не увидит желаемые данные. Такую ошибку легко совершить, в n-й раз перепечатывая названия переменных под каждый слой — а разработчики и правда должны рутинно это делать при любом изменении (или расширении) исходного формата данных. Ещё сложнее заметить ошибку на код-ревью.
Поэтому разработчики решили добавить механизм, который сам бы составлял и переписывал код моделей DTO в зависимости от исходного формата.
Статья: https://apptractor.ru/yadto
Платформа: iOS
⬆️: 9
Хабр
Кодогенерация DTO: зачем она нужна и как её настроить
Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go мы активно используем DTO. Предположим, нужно отобразить в UI приложения для вызова такси...
ProgressIndicatorView - различные индикаторы прогресса, созданные с помощью SwiftUI. Всего 5 индикаторов в одной библиотеке.
Библиотека на GitHub: https://github.com/exyte/ProgressIndicatorView
Платформа: iOS
⭐️: 19
Библиотека на GitHub: https://github.com/exyte/ProgressIndicatorView
Платформа: iOS
⭐️: 19
2021 для iOS и macOS разработчиков — главное от Apple
Это был захватывающий год новых технологий и функций, призванных помочь разработчикам в создании невероятного опыта и упростить разработку. Apple подводит итоги года и представляет «технологический» обзор года для разработчиков.
Обзор: https://apptractor.ru/appl2021
Платформа: iOS
Это был захватывающий год новых технологий и функций, призванных помочь разработчикам в создании невероятного опыта и упростить разработку. Apple подводит итоги года и представляет «технологический» обзор года для разработчиков.
Обзор: https://apptractor.ru/appl2021
Платформа: iOS
Fluid работает на основе ResultBuilder и собственного механизма разметки. С его помощью вы можете использовать декларативный синтаксис для создания пользовательского интерфейса с помощью UIKit.
Библиотека на GitHub: https://github.com/octree/Fluid
Платформа: iOS
⭐️: 5
Библиотека на GitHub: https://github.com/octree/Fluid
Платформа: iOS
⭐️: 5
5 вещей, на которые стоит обратить внимание iOS-разработчикам в 2022 году
В этом коротком посте я перечислил пять вещей, которые, как я считаю, помогут вам стать лучшим разработчиком в 2022 году. Или, скорее, в первой половине 2022 года. Я ожидаю, что Apple запустит несколько новых интересных вещей на WWDC в этом году, и они займут ваше внимание во второй половине года.
Перевод: https://apptractor.ru/ios2022
Платформа: iOS
В этом коротком посте я перечислил пять вещей, которые, как я считаю, помогут вам стать лучшим разработчиком в 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
Проект на GitHub: https://github.com/vestrel00/contacts-android
Платформа: Android
⭐️: 204
Неполный список навыков, необходимых senior-разработчикам, помимо программирования
Что должен уметь ведущий разработчик? Только ли писать качественный код? Конечно, нет, это лишь основа. Вот неполный список того, что нужно знать Senior-инженеру помимо программирования. Перевод статьи на Medium, собравшей более 8 тысяч "аплодисментов".
Перевод: https://apptractor.ru/snrsk
Платформа: карьера
👋: 8.4К
Что должен уметь ведущий разработчик? Только ли писать качественный код? Конечно, нет, это лишь основа. Вот неполный список того, что нужно знать Senior-инженеру помимо программирования. Перевод статьи на Medium, собравшей более 8 тысяч "аплодисментов".
Перевод: https://apptractor.ru/snrsk
Платформа: карьера
👋: 8.4К
❤1
FLCharts - библиотека для построения графиков в iOS-приложениях. Умеет использовать жесты для увеличения/уменьшения, подсвечивать значения и указывать лимиты, скроллировать графики, анимировать их, настраивать цвета.
Библиотека на GitHub: https://github.com/francescoleoni98/FLCharts
Платформа: iOS
⭐️: 1
Библиотека на 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
Платформа: инструменты
В этом коротком посте я собрал 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
Проект на GitHub: https://github.com/terrakok/kmp-web-wizard
Платформа: Android
⭐️: 119
Тренды Android-разработки на 2022 год
Jetpack Compose, Hilt, Kotlin Flow и корутины — необходимые навыки для Android-разработчиков.
Перевод: https://apptractor.ru/drd2022
Платформа: Android
👋: 124
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К
Библиотека на GitHub: https://github.com/jathu/UIImageColors
Платформа: iOS
⭐️: 3К
Проект нашего читателя - Spotify Compose, реализация UI приложения Spotify на Jetpack Compose.
Проект на GitHub: https://github.com/droidbaza/SpotifyCompose
Платформа: Android
⭐️: 2
Проект на GitHub: https://github.com/droidbaza/SpotifyCompose
Платформа: Android
⭐️: 2
Используем SwiftUI PreviewProvider для представлений UIKit
Уже попробовали SwiftUI? Нашли его восхитительным и легким в работе?
В представлениях UIKit, если вы создаете прототип дизайна в своей кодовой базе, вам нужно каждый раз перекомпилировать и пересобирать свой проект заново, чтобы увидеть результаты в симуляторе. А в SwiftUI так приятно просматривать изменения прямо в предпросмотре!
Что если мы сможем сделать что-то подобное для наших компонентов UIKit? Подобно предварительному просмотру или “горячей перезагрузке”, UIKit смог бы меняться на лету, немедленно, без трудоемкого процесса сборки и компиляции.
Перевод статьи: https://apptractor.ru/sftkit
Платформа: iOS
👋: 710
Уже попробовали SwiftUI? Нашли его восхитительным и легким в работе?
В представлениях UIKit, если вы создаете прототип дизайна в своей кодовой базе, вам нужно каждый раз перекомпилировать и пересобирать свой проект заново, чтобы увидеть результаты в симуляторе. А в SwiftUI так приятно просматривать изменения прямо в предпросмотре!
Что если мы сможем сделать что-то подобное для наших компонентов UIKit? Подобно предварительному просмотру или “горячей перезагрузке”, UIKit смог бы меняться на лету, немедленно, без трудоемкого процесса сборки и компиляции.
Перевод статьи: https://apptractor.ru/sftkit
Платформа: iOS
👋: 710
Программирование как садоводство
Сравнение с садоводством кажется весьма полезным, при таком подходе можно предугадывать некоторые следствия, и идеал работы программиста не столь разочаровывает при столкновении с реальностью. Что же в этой реальности происходит такого?
Статья: https://apptractor.ru/sdvd
Платформа: программирование
Сравнение с садоводством кажется весьма полезным, при таком подходе можно предугадывать некоторые следствия, и идеал работы программиста не столь разочаровывает при столкновении с реальностью. Что же в этой реальности происходит такого?
Статья: https://apptractor.ru/sdvd
Платформа: программирование
👍2
Pintrest Flow Layout - макет для UICollectionView в стиле Pintrest. Можно использовать разное количество колонок.
Библиотека на GitHub: https://github.com/AnasAlmomany/pintrest-flow-layout
Платформа: iOS
⭐️: 2
Библиотека на GitHub: https://github.com/AnasAlmomany/pintrest-flow-layout
Платформа: iOS
⭐️: 2
FPS не падай, девайс не грейся
В октябре 2020 года в техническую поддержку Авито стали обращаться пользователи с проблемами нагрева девайса и просадками FPS вплоть до полного фриза iOS-приложения. Проблема, как казалось, была глобальной. Она не относилась к какой-то конкретной функциональности приложения и поэтому не подходила в бэклоги продуктовых команд. Выход был один: засучить рукава и самому разобраться, что пошло не так. Не даром же я performance engineer.
В статье я расскажу, как происходило погружение во тьму, выход из неё и к каким выводам это путешествие меня привело.
Статья: https://apptractor.ru/fpsdwn
Платформа: iOS
⬆️: +41
В октябре 2020 года в техническую поддержку Авито стали обращаться пользователи с проблемами нагрева девайса и просадками FPS вплоть до полного фриза iOS-приложения. Проблема, как казалось, была глобальной. Она не относилась к какой-то конкретной функциональности приложения и поэтому не подходила в бэклоги продуктовых команд. Выход был один: засучить рукава и самому разобраться, что пошло не так. Не даром же я performance engineer.
В статье я расскажу, как происходило погружение во тьму, выход из неё и к каким выводам это путешествие меня привело.
Статья: https://apptractor.ru/fpsdwn
Платформа: iOS
⬆️: +41
Чашка кофе и экраны в приложении
Чашка кофе может существовать в пяти состояниях:
• Пустая
• Наполняемая
• Наполовину полная/пустая чашка
• Сломанная
• Полная горячего превосходного кофе!
Что если я скажу вам, что и экраны в приложениях очень похожи на такую чашку и должны учитывать все пять состояний?
Статья: https://apptractor.ru/cofe
Платформа: дизайн и прототипирование
Чашка кофе может существовать в пяти состояниях:
• Пустая
• Наполняемая
• Наполовину полная/пустая чашка
• Сломанная
• Полная горячего превосходного кофе!
Что если я скажу вам, что и экраны в приложениях очень похожи на такую чашку и должны учитывать все пять состояний?
Статья: https://apptractor.ru/cofe
Платформа: дизайн и прототипирование
Высокое качество с Android Strict Mode
StrictMode — это инструмент разработчика, который обнаруживает вещи, которые вы можете cделать случайно, но которые ухудшают работу приложения (например, доступ к диску или сети в основном потоке приложения). StrictMode обращает на них ваше внимание, чтобы вы могли их исправить.
В этом видео рассказывают как настроить Strcit Mode в Android, чтобы сделать выше приложение быстрее и без багов.
Видео: https://apptractor.ru/strmd
Платформа: Android
StrictMode — это инструмент разработчика, который обнаруживает вещи, которые вы можете cделать случайно, но которые ухудшают работу приложения (например, доступ к диску или сети в основном потоке приложения). StrictMode обращает на них ваше внимание, чтобы вы могли их исправить.
В этом видео рассказывают как настроить Strcit Mode в Android, чтобы сделать выше приложение быстрее и без багов.
Видео: https://apptractor.ru/strmd
Платформа: Android
Compose Calendar — это компонент, обрабатывающий весь рендеринг календаря и выбор даты. Благодаря гибкости, предоставляемой API, вы можете решить, как будет выглядеть календарь, библиотека будет обрабатывать правильное расположение элементов календаря и его состояние.
Библиотека на GitHub: https://github.com/boguszpawlowski/ComposeCalendar
Платформа: Android
⭐️: 58
Библиотека на GitHub: https://github.com/boguszpawlowski/ComposeCalendar
Платформа: Android
⭐️: 58