kotlin- все статьи тега


Clean Architecture с Kotlin

Однажды у меня произошел нервный срыв из-за моих UI знаний. В то время я работал над множеством проектов  —  в основном над стартапами. Я осознавал, что мои дизайнерские способности технически были хорошими, и на таком уровне, который я мог бы использовать где-нибудь еще. В этой статье я хочу выделить несколько способов, как развить свои UI навыки...

Чистый код в Android

Однажды у меня произошел нервный срыв из-за моих UI знаний. В то время я работал над множеством проектов  —  в основном над стартапами. Я осознавал, что мои дизайнерские способности технически были хорошими, и на таком уровне, который я мог бы использовать где-нибудь еще. В этой статье я хочу выделить несколько способов, как развить свои UI навыки...

Экспериментируем с…

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

Использование свойств lazy в Kotlin для связывания представлений Android

Однажды у меня произошел нервный срыв из-за моих UI знаний. В то время я работал над множеством проектов  —  в основном над стартапами. Я осознавал, что мои дизайнерские способности технически были хорошими, и на таком уровне, который я мог бы использовать где-нибудь еще. В этой статье я хочу выделить несколько способов, как развить свои UI навыки...

Выражение when в Kotlin

Дизайнеры со всего мира часто и сами затрудняются ответить, что важнее  —  UI- или UX-дизайн. Мало кто воспринимает эти интерфейсы по отдельности и мало кто видит их как одно целое. Давайте попробуем разобраться! В дизайнерской индустрии существуют как UX-дизайнеры, так и UI-дизайнеры, и каждый из них выполняет свои обязанности. Вместо того чтобы ...

Java против Kotlin. Android

Чтобы что-то было сделано компьютером, нужно указать ему, как это сделать. Нужно написать программу с пошаговым объяснением: какие задачи компьютер должен выполнить и каким образом. В этом нам помогают алгоритмы. Алгоритмы  —  это набор инструкций, используемых компьютерами для решения тех или иных задач, ведущих к достижению конечной цели. Знани...

Kotlin. Коллекции и последовательности

Чтобы что-то было сделано компьютером, нужно указать ему, как это сделать. Нужно написать программу с пошаговым объяснением: какие задачи компьютер должен выполнить и каким образом. В этом нам помогают алгоритмы. Алгоритмы  —  это набор инструкций, используемых компьютерами для решения тех или иных задач, ведущих к достижению конечной цели. Знани...

Делегаты в Kotlin для Android

Kotlin действительно красивый язык, в котором есть очень крутые фичи. Из-за них разработка приложений становится веселым и захватывающим опытом. Одна из этих фич — делегированные свойства. Расскажу вам, как делегирование помогает упростить жизнь андроид-разработчику. Основы Пляшем от начала: что такое делегат и как он работает? На самом деле, все ...

Чистая архитектура с MVVM

Для лучшего понимания чистой архитектуры давайте создадим примерный проект. Это приложение, на первой странице которого показывается список персонажей из мультсериала «Рик и Морти» с данными. Нажимая на каждого персонаж, на следующей странице можно увидеть серии, в которых эти персонажи появляются. Поэтому у нас два типа сущностей: персонаж и сери...

Корутины: основы

Часть 1, Часть 2 Эта серия постов подробно посвящена отменам и исключениям в корутинах. Отмена важна тем, что она помогает избежать выполнения большего количества работы, которое в свою очередь может привести к потере памяти и времени автономной работы. Правильная обработка исключений является ключом к отличному пользовательскому опыту. В качеств...

Изменение типа с помощью typealias

Когда определения типов отвлекают от значения вашего кода из-за нечитабельности, выразительности или просто длины, у Kotlin есть подходящая функция: typealias! Typealias позволяет давать альтернативные имена типам классов или функций, не вводя при этом новых. Использование Typealias Для именования типа функции можно использовать псевдонимы типов: ...

Запечатанный класс

Часто нам приходится представлять ограниченный набор возможностей: веб-запрос либо успешно выполняется, либо не выполняется, User может быть либо про-пользователем, либо обычным. Чтобы смоделировать это, мы могли бы использовать enum, но это несет в себе ряд ограничений. Классы Enum допускают только один экземпляр каждого значения и не могут кодир...

Корутины: исключения

Часть 1, Часть 2 Мы, разработчики, обычно тратим много времени на полировку наилучшего сценария работы нашего приложения. Однако не менее важно обеспечить надлежащий пользовательский опыт, когда все идет не так, как ожидалось. С одной стороны, наблюдать сбой приложения — это плохой опыт для пользователя; с другой, необходимо показать ему правильно...

Как и для чего использовать нативную библиотеку сериализации Kotlin

Вывод из статьи В конце статьи вы узнаете, почему команда Kotlin создала новую библиотеку сериализации, несмотря на наличие многих продвинутых решений, таких как Moshi и Gson. Также вы узнаете, как ей правильно пользоваться, а в конце статьи ознакомитесь со скрытыми функциями встроенной сериализации. Почему команда Kotlin создала новую библио...

Корутины Kotlin: как работать асинхронно в Android

Kotlin предоставляет корутины, которые помогают писать асинхронный код синхронно. Android — это однопоточная платформа, и по умолчанию все работает на основном потоке (потоке UI). Когда настает время запускать операции, несвязанные с UI (например, сетевой вызов, работа с БД, I/O операции или прием задачи в любой момент), мы распределяем задачи по ...

Отмена в корутинах

Часть 1, Часть 2 В разработке, как и в жизни, мы знаем, что важно избегать делать больше работы, чем необходимо, так как это может привести к потере памяти и времени автономной работы. Этот принцип применим и к корутинам. Сперва необходимо убедиться, что вы контролируете жизненный цикл корутины и завершаете его, когда она больше не нужна — это то,...

Jetpack Compose: пользовательский интерфейс Twitter

Я решил протестировать Jetpack Compose, сделав простой клон пользовательского интерфейса Twitter после того, как наткнулся на этот твит Mariano Zorrilla: «Стоп… Неужели я только что скопировал Twitter с помощью Flutter и поделился этой копией через @CodePen? Отличный инструмент!На работу потребовался 1 день и 1500 строк кода.Ссылка...

Под капотом модификатора suspend

Корутины Kotlin предоставили Android разработчикам модификатор suspend. Изучив его, вы поймете, почему функция suspend не возвращает ничего до тех пор, пока не будет завершена вся начатая работа, и как код может приостановить работу без блокировки потоков. TL; DR; компилятор Kotlin создаст конечный автомат для каждой функции suspend, которая управ...

REST API для приложения со Spring Boot, Kotlin и Gradle

Я много раз пытался спроектировать API для своих приложений, и это всякий раз заканчивалось разочарованием по одной из этих причин: Недостаточное понимание языка или фреймворка.Неготовность платить за хостинг до запуска проекта.Платформа без поддержки масштабирования. Так что, столкнувшись со всеми этими проблемами, я решил написать REST API на Ko...

Ошибка плагина Kotlin: не удалось создать прокси-класс для класса org.реактивные мозги.Котлин.градля.задачи.KotlinCompile

Получение ошибки при попытке выполнить задачу gradle. Не могу понять, что еще требуется или в чем заключается ошибка. Проект, над которым я работаю, имеет несколько подпроектов, поэтому у меня есть основная сборка.градля. Ошибка относится к подпроекту, где я хотел попробовать Kotlin. * Where: Build file '/home/oracle/bnc/KotlinHandler/build.gradle' line: 13 * What went wrong: A problem occurred evaluating root project 'KotlinHandler'. > Failed to apply plugin [id 'kotlin'] > Could not ...