Как стать автором
Поиск
Написать публикацию
Обновить
59.76

Kotlin *

Статически типизированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Event-driven микросервисы с использованием Spring Boot и Kafka

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.7K

Event-driven архитектура - один из видов архитектур, который подходит для обеспечения независимости, масштабируемости и устойчивости микросервисов. 

В новом переводе от команды Spring АйО вы в легкодоступной форме узнаете, как построить такую архитектуру, используя Apache Kafka и Spring Boot, а также ознакомитесь с пошаговой настройкой продюсеров, консумеров, решеним задач надежности и управлением схемами.

Читать далее

Explyt Spring Plugin — наша версия HTTP-клиента для IntelliJ IDEA

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.3K

Всем привет! Как следует из названия статьи, речь пойдет о HTTP-клиентах для IntelliJ IDEA, да, опять). В последнее время было несколько публикаций на эту тему, и мы бы хотели подробно рассказать о нашем взгляде на эту проблему и нашей реализации. А также поговорить о плюсах и минусах текущих решений для IDEA. Ранее мы уже рассказывали о нашем плагине для Spring - о том как у нас реализована поддержка Dependency Injection в частности, теперь настала очередь HTTP client'а.

Читать далее

Экспорт и импорт File Templates в IDE от Intellij

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.4K

Всем привет! На связи Дима Котиков, и это заключительная статья цикла про File Templates. В предыдущих частях мы познакомились с инструментом File Templates, разобрали синтаксис написания шаблонов и написали шаблоны для кода типового экрана SomeFeature мобильного приложения.

В заключительной части разберем, как можно экспортировать и импортировать File Templates в Intellij-IDE, а также подведем общие итоги по циклу статей.

Читать далее

Стала доступна первая EAP-версия IntelliJ IDEA 2025.1

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров7.1K

Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2025.1. 

Среди нововведений поддержка Java 24, улучшения отладчика и инструментов сборки.

Читать далее

Управление настройками с помощью Jetpack DataStore: Простой подход к сохранению данных разных типов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.7K

Всем здравствуйте. Это моя первая статья на такую публику, поэтому просьба не судить строго! :-)

При разработке Android-приложений часто возникает необходимость сохранять пользовательские настройки, такие как выбор темы, язык или другие данные пользователя. Jetpack DataStore — это современное решение для хранения таких данных, которое заменяет устаревший SharedPreferences. В этой статье мы рассмотрим, как использовать DataStore для хранения различных типов данных (Boolean, Integer, Float и String) и как интегрировать его с архитектурой MVVM, используя StateFlow для обновления UI.

Что такое DataStore?

Jetpack DataStore — это библиотека для хранения данных, поддерживающая асинхронное и безопасное чтение и запись данных. Она предоставляет два типа хранилищ:

1. Preferences DataStore: Используется для хранения пар "ключ-значение" (похож на SharedPreferences).

2. Proto DataStore: Используется для хранения структурированных данных на основе протокольных буферов.

В этой статье мы сосредоточимся на Preferences DataStore, которое идеально подходит для хранения настроек приложения.

Читать далее

Amplicode становится платным (и остается бесплатным)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.7K

Практически год с момента публичного релиза в апреле все возможности Amplicode были доступны любому разработчику абсолютно бесплатно.

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

В новой статье мы рассказали, какая часть возможностей Amplicode останется бесплатной, что войдет в состав платной версии, сколько будет стоить подписка и кто может рассчитывать на скидки до 100%.

Читать далее

Постквантовая криптография в Java

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.2K

Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам. 

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

Читать далее

Примеры использования File Templates для типовых сценариев, где требуется шаблонный код

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.9K

Всем привет! На связи Дима Котиков, и это вторая статья из цикла про File Templates. В предыдущей части мы описали проблему с необходимостью написания шаблонного кода и вариантами решения, познакомились с инструментом шаблонов File Templates и разобрали синтаксис написания шаблонов.

В этой статье перейдем к практике — напишем шаблоны для кода типового экрана SomeFeature мобильного приложения.

Читать далее

Jakarta Data и Persistence: Инструменты, которые меняют подход к работе с данными

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров8K

Команда Spring АйО перевела и адаптировала доклад "Jakarta Data and Jakarta Persistence by Gavin King" Гевина Кинга с последнего Devoxx.

В своем выступлении Гевин Кинг рассказал о преимуществах и нововведениях Jakarta Data и Jakarta Persistence.

Читать далее

Kotlin Coroutines под капотом: отмена корутин

Время на прочтение24 мин
Количество просмотров11K

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

Читать далее

Реализация SWAP токенов в сети Fuel: первый опыт с Rust, интеграция Mira SDK, боль

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.1K

Очередная история о том, как за идею я ввязался в бесплатную авантюру.

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

Читать далее

Морфинг геометрических фигур с SDF в фрагментных шейдерах GLSL и визуализацией на Jetpack Compose

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров1.5K

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

В данной статье будет рассмотрен пример реализации плавной анимации морфинга геометрических фигур с использованием SDF (Signed Distance Functions) и GLSL для графического рендеринга.

Читать далее

Уменьшаем написание boilerplate с помощью File Templates

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.5K

Всем привет! На связи Дима Котиков, и я все еще люблю разбираться в технологиях, разрабатывать под Android и KMP и пить латте на фундучном молоке :)

Рассказываю о генерации файлов с boilerplate-кодом с помощью удобного механизма задания File Templates в средах разработки Intellij. File Templates позволяет в пару кликов создавать несколько файлов с каким-либо boilerplate-кодом. Хоть статья приводит примеры создания File Templates для Android/Kotlin Multiplatform, она может быть полезна всем, кто работает в средах разработки от Intellij.

Читать далее

Ближайшие события

Управление событиями в ViewModel с помощью StateFlow, SharedFlow и Channel

Время на прочтение6 мин
Количество просмотров3.9K

Сообщество Android-разработчиков уже долгое время ведёт жаркие споры о том, что лучше использовать в ViewModel для представления событий: StateFlow, SharedFlow или Channel. В этой статье мы разберёмся в различиях между этими тремя подходами и определим, какой из них наиболее подходит для ваших нужд.

Читать далее

Decompose: покоряем Generic-навигацию на примере навигации по вкладкам

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров1.7K

Разберемся, как работать с Generic Navigation, которую предоставляет Decompose, на примере табов — навигации, часто используемой браузерах.

Generic Navigation помогает управлять жизненным циклом дочерних компонентов через концепцию навигации — некоторое поведение, привычное пользователю.

Читать далее

Алло! Реализуем дисковый телефон с помощью Jetpack Compose(Обновлено)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.8K

Привет, Хабр! Меня зовут Артем, я автор и ведущий YouTube и Telegram каналов Android Insights.

Данная статья - идейный продолжатель моей предыдущей статьи Создание Custom Layout в Jetpack Compose

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

Читать далее

Подходы к созданию ViewModel в Android

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров3.8K

В данной статье будут рассмотрены способы создания ViewModel (далее VM) в Android, а также usecase для каждого подхода.

Читать далее

Героические цивилизации — пишу гибрид двух легендарных игр

Время на прочтение6 мин
Количество просмотров4.3K

Всем привет! Я решил написать компьютерную игру и хочу в этой статье поделиться задумкой, тем, чего уже удалось добиться и пригласить желающих присоединиться. Идея - соединить две любимые стратегии: Цивилизацию и Героев меча и магии в единый концепт, чтобы объединить плюсы обоих игр и получить много новых игровых механик.

Читать, куда уже продвинулась игра

Mapping классов с помощью плагина MapCraft в Android Studio

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.7K


Лично меня всегда утомляла рутинная работа по созданию mapper-ов между дата классами. Особенно такого кода много, когда пишешь по Clean Artitecture. Разделяя слои. И на каждый слой создаётся куча сущностей. Очень часто в таких ситуациях эти классы просто дублируются.

Читать далее

Эффект скрэтч-карты в Jetpack Compose

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.6K

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

Читать далее