Все потоки
Поиск
Написать публикацию
Обновить
49.1

Kotlin *

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

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

Поддержка CDS в Spring Boot и ожидания от Project Leyden

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

Spring Boot 3.3 раскрывает потенциал CDS (Class Data Sharing) благодаря двум новым функциям: самораспаковывающийся исполняемый JAR и поддержка Buildpacks CDS.

Команда Spring АйО перевела статью, в которой рассмотрены новые функции, нюансы их использования, а также их влияние на время запуска приложения.

Читать далее

Как мы делали чаты на Kotlin Multiplatform

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

Недавно завершили большой этап работ по чатам на Kotlin Multiplatform.

Работы велись в рамках мобильного приложения Я вас видел. Если коротко, это - приложение сохраняет для вас важные контакты при посещении конференций. Вы находитесь в одном зале с участниками конференции, по GPS приложение определяет всех, кто был рядом с вами в радиусе 10 метров, и эти люди потом отображаются у вас в мобильном приложении Я вас видел.

Приложение мы делаем на Kotlin Multiplatform для ускорения разработки на 2 платформы: Андроид и iOS.

Читать далее

Объект, ты null? Или как заключить контракт с компилятором в Kotlin

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

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

Пришлось копнуть, а что бы не было скучно, сделаю это вместе с вами.

Итак, далее в статье:

+Какого черта у null объектов можно вызывать методы?

+Как договориться с компилятором?

+Чем функции-расширения отличаются от родных методов класса?

Начнем.

Читать далее

Структурное логирование в Spring Boot 3.4

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

С выходом Spring Boot 3.4 логирование стало ещё удобнее: теперь логи можно записывать в более унифицированном формате, что упрощает их анализ и обработку.

В новом переводе от команды Spring АйО мы разберем основные шаги для настройки и использования этой технологии в проекте.

Читать далее

Используем Yandex MapKit с Compose Multiplatform. Часть 2

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

Разбираем библиотеку для интеграции Yandex MapKit SDK в compose проект, в том числе и мультиплатформенный. Позволяет работать с картой как с composable контентом, изменять состояние карты, удобно отображать, изменять и удалять объекты на карте. И что наиболее интересно – использовать compose ui для задания элементов на карте.

Читать далее

Kotlin глазами Java-разработчика

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

Привет, хабр! Сегодня я хочу рассказать про свой опыт взаимодействия с языком kotlin.

Представлюсь – я java разработчик, работаю в крупном банке, создаю (и поддерживаю существующие) микросервисы.

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

Итак, почему я решил изучить kotlin. Ну, во-первых, прожужали все уши, мол сокращение объема код, лаконичность, читаемость и сахар.

Читать далее

Интересные приёмы, взятые из исходников Android

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров15K
Интересные приёмы, взятые из исходников Android

В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а. Сразу отмечу: эта статья не претендует на полноту материала и возможно вы нашли даже больше интересных моментов при чтении кода, ладно, погнали, короче!
Читать дальше

Как я писал враппер для Яндекс Карт на KMP. Часть 1

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

Враппер Yandex MapKit SDK для работы в Kotlin Multiplatform. Опыт написания враппера для SDK и адаптация работы с Compose Multiplatform. Рассказывается про интересные кейсы в процессе разработки враппера для MapKit SDK и способы адаптации библиотек для KMP проектов.

Читать далее

Flutter vs Kotlin Multiplatform: что выбрать

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

Мобильный разработчик Droids On Roids сравнил два кроссплатформенных фреймворка, Kotlin Multiplatform и Flutter, и рассказал, для каких проектов каждый из них подходит. 

Я, Flutter Tech в Friflex Lead Юра Петров, перевел эту статью и предлагаю сообществу обсудить особенности фреймворков.

Читать далее

Что нового в IntelliJ IDEA 2024.2

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

Недавно вышла новая версия IntelliJ IDEA 2024.2, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE, которые на данный момент доступны российским разработчикам без каких-либо ограничений.

Читать далее

Ниссан jooq

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

Это небольшая история о том как я настраивал jooq генератор с gradle и postgis. По большому счету в моем пэт проекте это было не особо нужно, но хотелось повторить стэк, с которым работаю, но с нуля.

Читать далее

Часть 3. TMA на KMP. Как платить через Telegram Mini Apps

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

Эта заключительная статья смешивает в себе как часть на Kotlin, самого Web приложения, и на Python, собственно реализация оплаты. Для лучшего понимания рекомендуется прочитать предыдущие части.

Читать далее

Mapping объектов с помощью MapStruct

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

В огромном приложении Android с Clean Architecture много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса.

В этой статье рассматривается опыт использования библиотеки MapStruct, которая помогает mapp-ить объекты.

Библиотека очень гибка в настройке. И позволяет минимизировать написание шаблонного кода.

Вот пример того, как реализовать gradle зависимости в вашем проекте.

Читать далее

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

Workspaces в IntelliJ IDEA

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

Команда Spring АйО продолжает следить за последними новинками в мире инструментов для разработчиков. В нашем новом переводе вы узнаете о недавно появившемся плагине для IntelliJ IDEA, который предоставляет долгожданную многими функциональность.

Читать далее

Автообновление через GitHub releases с помощью Hilt и Retrofit в Android

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

Как сделать автоматическое обновление непосредственно через приложение или как отказаться от маркетов приложений, части из которых нет на многих устройствах, а другие не подходят по определенному ряду причин!?

Читать далее

Kotlin Coroutines. От А до Я

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

Полный разбор корутинного мира с нуля, который может послужить отличной шпаргалкой на собеседовании!
Разберем разницу между многопоточностью и асинхронностью; раскроем все основные понятия корутин, параллельно ссылаясь на исходники kotlinx.coroutines; посмотрим их применение на практике и в конце напишем свой собственный CoroutineScope.

Let's go

Часть 2.5. TMA на KMP. Аутентификации пользователя с DRF

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

Эта короткая статья является дополнением ко второй, но можно прочить независимо, если требуется только реализация серверной части аутентификации.

Читать далее

Глубокое погружение в Sealed классы и интерфейсы

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

С появлением sealed классов и интерфейсов Java открыла перед разработчиками новые горизонты в области проектирования устойчивого и предсказуемого кода. 

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

Читать далее

Key-Value Хранилище на Стероидах

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

Как абстрагироваться от Key-Value хранилища и забыть про бойлерплейт внутри репозиториев с помощью Kotlin делегатов

Читать далее

Передача данных между фрагментом и BottomSheetDialogFragment с использованием Dagger и Navigation Component

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

Передача данных между фрагментом и BottomSheetDialogFragment может быть эффективно организована с использованием Dagger и Navigation Component, избегая использования передачи данных чрез конструктор или интерфейс, а также SharedViewModel и Hilt. Данный подход позволяет сосредоточиться на интеграции зависимостей и управлении состоянием через стандартные инструменты.

Читать далее