Вы за это заплатите! Цена Чистой Архитектуры. Часть 2
Продолжение про организацию масштабируемости проекта и цену чистой архитектуры.
👉 На чем мы остановились?
👉 Разрывы связей
👉 Опциональные компоненты(шаблоны проектирования и конвертация)
👉 Экстремальная экономия(проксирующие DataSource-ы и UseCase-ы)
👉 Куда нас это привело?Снова к Чистой Архитектуре!
👉 Единый продукт
В заключение несколько важных для понимания моментов
🟢 Слои не так важны, как компоненты, из которых они сложены
🟢 Зависимости зависят от устойчивости
🟢 Устойчивость не равна редкой изменяемости
🟢 Интерфейсы ситуативны
🟢 Чистота — это свойство
🟢 Чистая Архитектура дешевле, чем её представляют
Читать (Ru)
Продолжение про организацию масштабируемости проекта и цену чистой архитектуры.
👉 На чем мы остановились?
👉 Разрывы связей
👉 Опциональные компоненты(шаблоны проектирования и конвертация)
👉 Экстремальная экономия(проксирующие DataSource-ы и UseCase-ы)
👉 Куда нас это привело?
👉 Единый продукт
В заключение несколько важных для понимания моментов
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔9👍5🔥5💩5⚡1👎1
Mastering Android ViewModels: Essential Dos and Don’ts Part 1
Тут стартанули цикл статей про то, что можно делать во ViewModel, а чего лучше не делать.
В первой части разбираются возможные недостатки при инициализации состояния в блоке
👉 Тесная связь с созданием ViewModel
👉 Проблемы тестирования
👉 Ограниченная гибкость
👉 Обработка изменений конфигурации
👉 Управление ресурсами
👉 Отзывчивый UI
Читать (En)
Тут стартанули цикл статей про то, что можно делать во ViewModel, а чего лучше не делать.
В первой части разбираются возможные недостатки при инициализации состояния в блоке
init { }👉 Тесная связь с созданием ViewModel
👉 Проблемы тестирования
👉 Ограниченная гибкость
👉 Обработка изменений конфигурации
👉 Управление ресурсами
👉 Отзывчивый UI
Читать (En)
👍11🔥4❤2🤔1
Google открыли доступ для всех к Gemini 1.5 Pro
Говорят это одна из мощнейших нейронок с бесплатным доступом в 1М токенов.
Прежде чем тестить, почитайте доступные регионы и включите нужный VPN 😉
У меня не удалось потестить, на всех версиях модели Gemini получаю ошибку – An internal error has occurred, так что имейте в виду, может работать не стабильно.
Попробовать
Говорят это одна из мощнейших нейронок с бесплатным доступом в 1М токенов.
Прежде чем тестить, почитайте доступные регионы и включите нужный VPN 😉
У меня не удалось потестить, на всех версиях модели Gemini получаю ошибку – An internal error has occurred, так что имейте в виду, может работать не стабильно.
Попробовать
🔥8👍3👎1👏1
Android ProGuard: Mastering Security and Efficiency with ProGuard
Базовая статья по основам ProGuard.
👉 What is ProGuard?
👉 Setting Up ProGuard in an Android Project
👉 ProGuard Rules
👉 Practical Example
👉 Running ProGuard
👉 Common Issues and How to mitigate
👉 Best Practices
Читать (En)
Базовая статья по основам ProGuard.
👉 What is ProGuard?
👉 Setting Up ProGuard in an Android Project
👉 ProGuard Rules
👉 Practical Example
👉 Running ProGuard
👉 Common Issues and How to mitigate
👉 Best Practices
Читать (En)
👍9🔥2❤1👌1
Context receivers — новые extension functions
Ещё одна интересная статья про Context receivers от разработчика Ozon, в которой рассматриваются возможные варианты использования фичи.
Читать (Ru)
Ещё одна интересная статья про Context receivers от разработчика Ozon, в которой рассматриваются возможные варианты использования фичи.
Читать (Ru)
🔥7👍4🤔2🤣2😁1
Stop Passing Event/UI-Action Callbacks in Jetpack Compose
Полезная статья, в которой автор предлагает отказаться от передачи множества коллбеков в composable функции и вместо этого использовать один, общий коллбек с sealed классом
Читать (En)
Полезная статья, в которой автор предлагает отказаться от передачи множества коллбеков в composable функции и вместо этого использовать один, общий коллбек с sealed классом
UiAction и обрабатывать соответственно эти экшены во ViewModel по типу MVI паттерна.Читать (En)
👍12🤔10👎3🔥2❤1😁1
Line height в Android TextView: где не сходится с Figma, как мешает pixel-perfect, и как это решить
Интересная статья от команды Avito Android Design System про проблему неконсистентности параметра
Если ещё верстаете XML и не перешли на Compose – обязательно почитайте.
P.S. Интересно, а как дела с этим в Compose, кто-нибудь знает? 🤔
Читать (Ru)
Интересная статья от команды Avito Android Design System про проблему неконсистентности параметра
Line height между Figma и Android.Если ещё верстаете XML и не перешли на Compose – обязательно почитайте.
P.S. Интересно, а как дела с этим в Compose, кто-нибудь знает? 🤔
Читать (Ru)
🔥12👍6❤2🥱1
Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска
Ребята из OK рассказывают о своём подходе к работе с UI-автотестами в Android.
👉 Как устроен запрет мерджа
👉 Как смогли стабилизировать тесты
👉 Как настроили параметризацию запуска
Читать (Ru)
Ребята из OK рассказывают о своём подходе к работе с UI-автотестами в Android.
👉 Как устроен запрет мерджа
👉 Как смогли стабилизировать тесты
👉 Как настроили параметризацию запуска
Читать (Ru)
👍8🔥3🤔1
Forwarded from Swift Tips
SwiftUI Field Guide
Каким-то чудом я пропустил достаточно крутой сервис – SwiftUI Field Guide, где чуваки на интерактивных примерах объясняют как работает верстка в SwiftUI. Можно менять параметры, двигать ползунки при этом виден код и сразу показывается как меняется верстка 🔥
Сайт активно дополняется. Вот список того, что уже есть👇
Introduction
• View Trees
• Debugging
Modifiers
• Aspect Ratio
• Padding
• Offset
• Fixed Frames
• Flexible Frames
• Overlay
Views
• Image
• Shape
Containers
• HStack
• VStack
• Scroll View
• Layout
Concepts
• Alignment
• Ideal Size
• Safe Area
Однозначно в избранное ✅
Сайт → Swiftuifieldguide
Каким-то чудом я пропустил достаточно крутой сервис – SwiftUI Field Guide, где чуваки на интерактивных примерах объясняют как работает верстка в SwiftUI. Можно менять параметры, двигать ползунки при этом виден код и сразу показывается как меняется верстка 🔥
Сайт активно дополняется. Вот список того, что уже есть👇
Introduction
• View Trees
• Debugging
Modifiers
• Aspect Ratio
• Padding
• Offset
• Fixed Frames
• Flexible Frames
• Overlay
Views
• Image
• Shape
Containers
• HStack
• VStack
• Scroll View
• Layout
Concepts
• Alignment
• Ideal Size
• Safe Area
Однозначно в избранное ✅
Сайт → Swiftuifieldguide
🔥12❤3👍2👎1
Глобальные события в мобильном приложении
Достаточно объемная статья с разбором и примерами глобальных событий в мобильном приложении. Для чего они могут понадобиться, какие проблемы решают и какие создают и как реализовать их наилучшим способом.
Читать (Ru)
Достаточно объемная статья с разбором и примерами глобальных событий в мобильном приложении. Для чего они могут понадобиться, какие проблемы решают и какие создают и как реализовать их наилучшим способом.
Читать (Ru)
🔥9❤5👍3💩2🌚1
Подборка бесплатных книг
Забирайте репозиторий с огромным количеством бесплатных книг по разным технологиям на разных языках, в том числе и на русском.
Имейте в виду, репозиторий достаточно старый, вероятно что-то может быть
GitHub → Free Programming Books
Забирайте репозиторий с огромным количеством бесплатных книг по разным технологиям на разных языках, в том числе и на русском.
Имейте в виду, репозиторий достаточно старый, вероятно что-то может быть
deprecatedGitHub → Free Programming Books
🔥7👍3🗿3❤2💩2
Perk up your understanding of generics
Подробный иллюстрированный гайд по дженерикам.
👉 Introduction to Generic Types
👉 Type Parameter Constraints
👉 Generics in Practice
👉 Generics in the Standard Library
👉 Trade-Offs of Generics
Читать (En)
Подробный иллюстрированный гайд по дженерикам.
👉 Introduction to Generic Types
👉 Type Parameter Constraints
👉 Generics in Practice
👉 Generics in the Standard Library
👉 Trade-Offs of Generics
Читать (En)
❤11🔥7👍4👎2
Как протестировать Android-приложение, которому требуются разрешения
Подробный туториал по написанию UI-тестов на Kaspresso для приложений, которым требуются разрешения.
Читать (Ru)
Подробный туториал по написанию UI-тестов на Kaspresso для приложений, которым требуются разрешения.
Читать (Ru)
🔥7👍4❤2👎1
Игра в безопасность Android-приложений
Большая и полезная статья, в которой рассматриваются различные процессы взлома Android-приложений(отслеживание http/https трафика, ресурсы, AndroidManifest, обфускация/деобфускация, C++) и возможные варианты защиты.
Читать (Ru)
Большая и полезная статья, в которой рассматриваются различные процессы взлома Android-приложений(отслеживание http/https трафика, ресурсы, AndroidManifest, обфускация/деобфускация, C++) и возможные варианты защиты.
Читать (Ru)
👍16🔥3❤2
Кодогенерация токенов дизайн-системы для Android по Figma API
Большая статья про то, как поддерживать дизайн-систему в консистентном состоянии с помощью автоматизации и интеграции Figma → Android.
👉 Почему решили идти в историю с автоматизацией
👉 Research и первая попытка
👉 Data-слой
👉 Генерация цветов
👉 Генерация типографики
👉 Генерация изображений
👉 Работа с устаревшими (или deprecated) токенами
👉 Остальные токены
👉 Генерация XML для Android View System
👉 Схема генерации. Итоговый проект
👉 Итоги
👉 Полезные ссылки
Читать (Ru)
Большая статья про то, как поддерживать дизайн-систему в консистентном состоянии с помощью автоматизации и интеграции Figma → Android.
👉 Почему решили идти в историю с автоматизацией
👉 Research и первая попытка
👉 Data-слой
👉 Генерация цветов
👉 Генерация типографики
👉 Генерация изображений
👉 Работа с устаревшими (или deprecated) токенами
👉 Остальные токены
👉 Генерация XML для Android View System
👉 Схема генерации. Итоговый проект
👉 Итоги
👉 Полезные ссылки
Читать (Ru)
👍13❤2👎1🔥1
Конструкторы-самозванцы в Kotlin
Интересная статья про некоторые особенности в Kotlin, связанные с вызовами конструкторов классов и функциями, которые имеют аналогичный синтаксис.
Читать (Ru)
Интересная статья про некоторые особенности в Kotlin, связанные с вызовами конструкторов классов и функциями, которые имеют аналогичный синтаксис.
Читать (Ru)
👍11❤3🔥2👌1
“Лента” в Yandex Mobile Ads SDK 7
В седьмую версию SDK добавили новый рекламный формат, который способен вместить десятки рекламных объявлений в один блок. “Лента” подойдет для утилит, новостей, классифайдов и других приложений с возможностью пролистывания. Пока инструмент доступен в бета-режиме для Android-приложений.
А в этой короткой статье есть описание всех остальных обновлений. Для iOS тоже есть интересные фичи.
Читать (Ru)
В седьмую версию SDK добавили новый рекламный формат, который способен вместить десятки рекламных объявлений в один блок. “Лента” подойдет для утилит, новостей, классифайдов и других приложений с возможностью пролистывания. Пока инструмент доступен в бета-режиме для Android-приложений.
А в этой короткой статье есть описание всех остальных обновлений. Для iOS тоже есть интересные фичи.
Читать (Ru)
💩15🔥5👍4
Mastering Android ViewModels: Essential Dos and Don’ts Part 2
Вторая часть из цикла Mastering Android ViewModels. Эта часть про возможные проблемы при использовании мутабельных состояний в качестве контрактов.
👉 Нарушение инкапсуляции
👉 Риски целостности данных
👉 Повышенная сложность
👉 Проблемы параллелизма
👉 Проблемы тестирования
👉 Архитектурная ясность
👉 Отсутствие контроля над подписчиками
Читать (En)
Вторая часть из цикла Mastering Android ViewModels. Эта часть про возможные проблемы при использовании мутабельных состояний в качестве контрактов.
👉 Нарушение инкапсуляции
👉 Риски целостности данных
👉 Повышенная сложность
👉 Проблемы параллелизма
👉 Проблемы тестирования
👉 Архитектурная ясность
👉 Отсутствие контроля над подписчиками
Читать (En)
👍12🔥3❤1🗿1
Capturing composable to a bitmap without losing a state
Обзор библиотеки Capturable для захвата UI Composable и генерации Bitmap без потери качества.
Библиотека на GitHub → Capturable
Читать (En)
Обзор библиотеки Capturable для захвата UI Composable и генерации Bitmap без потери качества.
Библиотека на GitHub → Capturable
Читать (En)
🔥11👍5❤1