State Flow and Shared Flow in Kotlin
https://levelup.gitconnected.com/state-flow-and-shared-flow-in-kotlin-f603c7aa7299
✍️ @kotlin_lib
https://levelup.gitconnected.com/state-flow-and-shared-flow-in-kotlin-f603c7aa7299
✍️ @kotlin_lib
👍3
Redukks: Redux/Uniflow для Kotlin Multiplatform
Redukks — простая, типобезопасная и тестируемая реализация архитектуры Redux/Uniflow для Kotlin Multiplatform. Она упрощает создание хранилищ, редукторов и действий, а также предоставляет простой способ их тестирования.
Архитектура Uniflow основана на одной простой идее — ваше приложение представляет собой постоянный цикл данных, которые текут в одном направлении. Состояние и его изменения управляются пользовательским интерфейсом, а пользовательский интерфейс управляется состоянием. Это позволяет вам иметь единый источник истины и предоставляет вам простой способ думать и рассуждать о вашем приложении.
https://github.com/ianrumac/redukks/
✍️ @kotlin_lib
Redukks — простая, типобезопасная и тестируемая реализация архитектуры Redux/Uniflow для Kotlin Multiplatform. Она упрощает создание хранилищ, редукторов и действий, а также предоставляет простой способ их тестирования.
Архитектура Uniflow основана на одной простой идее — ваше приложение представляет собой постоянный цикл данных, которые текут в одном направлении. Состояние и его изменения управляются пользовательским интерфейсом, а пользовательский интерфейс управляется состоянием. Это позволяет вам иметь единый источник истины и предоставляет вам простой способ думать и рассуждать о вашем приложении.
https://github.com/ianrumac/redukks/
✍️ @kotlin_lib
👍4🔥3
InsetsX
Библиотека с поддержкой инсетов на iOS и Android.
https://github.com/mori-atsushi/insetsx
✍️ @kotlin_lib
Библиотека с поддержкой инсетов на iOS и Android.
https://github.com/mori-atsushi/insetsx
✍️ @kotlin_lib
👍4
Reader
Многоплатформенное (Android и iOS) приложение для чтения RSS-файлов от компании Compose
https://github.com/msasikanth/reader
✍️ @kotlin_lib
Многоплатформенное (Android и iOS) приложение для чтения RSS-файлов от компании Compose
https://github.com/msasikanth/reader
✍️ @kotlin_lib
👍6❤1
Achieving Platform-Specific Implementations with Koin in KMM
В процессе миграции проекта Quotes на KMM (Kotlin Mobile Multiplatform) мне пришлось реализовывать разные классы для каждой платформы, а для инъекции зависимостей я использовал Koin.
https://proandroiddev.com/achieving-platform-specific-implementations-with-koin-in-kmm-5cb029ba4f3b
✍️ @kotlin_lib
В процессе миграции проекта Quotes на KMM (Kotlin Mobile Multiplatform) мне пришлось реализовывать разные классы для каждой платформы, а для инъекции зависимостей я использовал Koin.
https://proandroiddev.com/achieving-platform-specific-implementations-with-koin-in-kmm-5cb029ba4f3b
✍️ @kotlin_lib
👍3
10 полезных функций расширения Kotlin
Kotlin — это мощный язык программирования, который предоставляет много функциональных возможностей из коробки. Однако истинная сила Kotlin заключается в его функциях расширения, которые позволяют разработчикам добавлять функциональность к существующим классам и объектам без создания подклассов или изменения исходного кода. Вот 10 полезных расширений Kotlin, которые сделают ваш код более лаконичным и читабельным.
https://medium.com/@summitkumar/10-useful-kotlin-extension-functions-for-simplifying-your-code-ff68a2a44bc7
✍️ @kotlin_lib
Kotlin — это мощный язык программирования, который предоставляет много функциональных возможностей из коробки. Однако истинная сила Kotlin заключается в его функциях расширения, которые позволяют разработчикам добавлять функциональность к существующим классам и объектам без создания подклассов или изменения исходного кода. Вот 10 полезных расширений Kotlin, которые сделают ваш код более лаконичным и читабельным.
https://medium.com/@summitkumar/10-useful-kotlin-extension-functions-for-simplifying-your-code-ff68a2a44bc7
✍️ @kotlin_lib
👍2👎1🤔1
Объекты данных в Kotlin
Какую проблему призваны решить объекты данных? Ниже, в типичном примере иерархии запечатанных классов, используется sealed interface (мог быть и sealed class), которым определяются возможные состояния экрана профиля: data class для состояния успеха, а object для состояний ошибки и загрузки.
https://medium.com/@domen.lanisnik/data-objects-in-kotlin-1a549bfad657
✍️ @kotlin_lib
Какую проблему призваны решить объекты данных? Ниже, в типичном примере иерархии запечатанных классов, используется sealed interface (мог быть и sealed class), которым определяются возможные состояния экрана профиля: data class для состояния успеха, а object для состояний ошибки и загрузки.
https://medium.com/@domen.lanisnik/data-objects-in-kotlin-1a549bfad657
✍️ @kotlin_lib
👍4
Вопросы и ответы для собеседования по Kotlin
Часть 1 и Часть 2 https://t.iss.one/kotlin_lib/178
Часть 3 https://habr.com/ru/articles/728742/
Часть 4 https://habr.com/ru/articles/736392/
✍️ @kotlin_lib
Часть 1 и Часть 2 https://t.iss.one/kotlin_lib/178
Часть 3 https://habr.com/ru/articles/728742/
Часть 4 https://habr.com/ru/articles/736392/
✍️ @kotlin_lib
👍6
Programming Android ... by Laurence Pierre-Oli...pdf
7.5 MB
Programming Android with Kotlin: Achieving Structured Concurrency with Coroutines
Автор: Pierre-Olivier Laurence (2022)
Разработка приложений для мобильной операционной системы Android может показаться сложной задачей, особенно если для этого необходимо изучить новый язык программирования: Kotlin, который теперь является официальным языком разработки Android. С помощью этой практической книги разработчики Android узнают, как перейти с Java на Kotlin, в том числе о том, как Kotlin обеспечивает реальное преимущество для получения контроля над асинхронными вычислениями.
Автор исследует реализацию наиболее распространенных задач в нативной разработке Android и покажет, как Kotlin может помочь вам решить проблемы параллелизма. Уделяя особое внимание структурированному параллелизму, новой парадигме асинхронного программирования, эта книга проведет вас через одну из самых мощных конструкций Kotlin - coroutines.
✍️ @kotlin_lib
Автор: Pierre-Olivier Laurence (2022)
Разработка приложений для мобильной операционной системы Android может показаться сложной задачей, особенно если для этого необходимо изучить новый язык программирования: Kotlin, который теперь является официальным языком разработки Android. С помощью этой практической книги разработчики Android узнают, как перейти с Java на Kotlin, в том числе о том, как Kotlin обеспечивает реальное преимущество для получения контроля над асинхронными вычислениями.
Автор исследует реализацию наиболее распространенных задач в нативной разработке Android и покажет, как Kotlin может помочь вам решить проблемы параллелизма. Уделяя особое внимание структурированному параллелизму, новой парадигме асинхронного программирования, эта книга проведет вас через одну из самых мощных конструкций Kotlin - coroutines.
✍️ @kotlin_lib
👍4
Как использовать функциональное программирование в Kotlin для написания более качественного и чистого кода
https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/
✍️ @kotlin_lib
https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/
✍️ @kotlin_lib
Typed Error Handling in Kotlin
https://betterprogramming.pub/typed-error-handling-in-kotlin-11ff25882880
✍️ @kotlin_lib
https://betterprogramming.pub/typed-error-handling-in-kotlin-11ff25882880
✍️ @kotlin_lib
👍1
Производительность Android приложений Kotlin в сравнении с С++ или цена управления памятью
В процессе учебы заинтересовался Android разработкой, в рамках одного из заданий необходимо провести исследование. Выбрал тему, которая давно разжигает мое любопытство, а именно производительность кода на Kotlin в сравнении с С++.
Поиск в русскоязычном интернете не дал почти ничего, всё, так или иначе сводится к перемешиванию, примитивных типов в цикле – пузырьковая сортировка и другие классические алгоритмы. В целом такие эксперименты приводят к выводу о том, что использование JNI имеет слишком высокую стоимость и Java работает быстрее.
https://habr.com/ru/articles/732746/
✍️ @kotlin_lib
В процессе учебы заинтересовался Android разработкой, в рамках одного из заданий необходимо провести исследование. Выбрал тему, которая давно разжигает мое любопытство, а именно производительность кода на Kotlin в сравнении с С++.
Поиск в русскоязычном интернете не дал почти ничего, всё, так или иначе сводится к перемешиванию, примитивных типов в цикле – пузырьковая сортировка и другие классические алгоритмы. В целом такие эксперименты приводят к выводу о том, что использование JNI имеет слишком высокую стоимость и Java работает быстрее.
https://habr.com/ru/articles/732746/
✍️ @kotlin_lib
Хабр
Производительность Android приложений Kotlin в сравнении с С++ или цена управления памятью
Всем привет! В процессе учебы заинтересовался Android разработкой, в рамках одного из заданий необходимо провести исследование. Выбрал тему, которая давно разжигает мое любопытство, а именно...
👍6❤1
Kotlin Inline, Noinline, Crossinline, Reified
In Kotlin, inline functions are used to improve performance by avoiding the overhead of creating objects for lambdas or function objects. The inline keyword is used to mark a function as inline, and the function is then copied into the call site instead of being executed as a separate function call.
https://medium.com/@manuchekhrdev/kotlin-inline-noinline-crossinline-reified-f70dd33f94a2
✍️ @kotlin_lib
In Kotlin, inline functions are used to improve performance by avoiding the overhead of creating objects for lambdas or function objects. The inline keyword is used to mark a function as inline, and the function is then copied into the call site instead of being executed as a separate function call.
https://medium.com/@manuchekhrdev/kotlin-inline-noinline-crossinline-reified-f70dd33f94a2
✍️ @kotlin_lib
👍3
Mocking is not rocket science: Basics
https://blog.kotlin-academy.com/mocking-is-not-rocket-science-basics-ae55d0aadf2b
Mockk - это новая библиотека с открытым исходным кодом, нацеленная на то, чтобы сделать mocking в Kotlin великолепным.
https://github.com/mockk/mockk
https://mockk.io/
✍️ @kotlin_lib
https://blog.kotlin-academy.com/mocking-is-not-rocket-science-basics-ae55d0aadf2b
Mockk - это новая библиотека с открытым исходным кодом, нацеленная на то, чтобы сделать mocking в Kotlin великолепным.
https://github.com/mockk/mockk
https://mockk.io/
✍️ @kotlin_lib
👍2
Dispatchers in Kotlin Coroutines
https://blog.devgenius.io/dispatchers-in-kotlin-coroutines-7a74dcec3bc2
✍️ @kotlin_lib
https://blog.devgenius.io/dispatchers-in-kotlin-coroutines-7a74dcec3bc2
✍️ @kotlin_lib
👍3
Как мы случайно подвергли себя DoS-атаке с помощью корутинов Kotlin
Эта история иллюстрирует, как все может пойти не так, даже если вы следуете лучшим практикам.
В GoodData мы используем Kotlin для создания наших микросервисов уже почти 4 года. Для большинства наших разработчиков изучение Kotlin было довольно простым, поскольку до этого они использовали Java, и концептуально эти языки очень похожи. Кроме того, некоторые фреймворки и библиотеки (прежде всего Spring) используются как в Java, так и в Kotlin, поэтому, по крайней мере в простых случаях, менялся только синтаксис.
https://medium.com/gooddata-developers/how-we-accidentally-dos-ed-ourselves-with-kotlin-coroutines-22cc4be60370
✍️ @kotlin_lib
Эта история иллюстрирует, как все может пойти не так, даже если вы следуете лучшим практикам.
В GoodData мы используем Kotlin для создания наших микросервисов уже почти 4 года. Для большинства наших разработчиков изучение Kotlin было довольно простым, поскольку до этого они использовали Java, и концептуально эти языки очень похожи. Кроме того, некоторые фреймворки и библиотеки (прежде всего Spring) используются как в Java, так и в Kotlin, поэтому, по крайней мере в простых случаях, менялся только синтаксис.
https://medium.com/gooddata-developers/how-we-accidentally-dos-ed-ourselves-with-kotlin-coroutines-22cc4be60370
✍️ @kotlin_lib
👍2
Apress.Beginning.Kotlin.pdf
9.2 MB
Beginning Kotlin: Build Applications with Better Code, Productivity, and Performance
Автор: Ted Hagos (2022)
Эта книга знакомит с навыками и приемами программирования на языке Kotlin, необходимыми для создания приложений. Вы узнаете, как перенести свои навыки программирования на Java в Kotlin.
Книга начинается с краткого обзора языка Kotlin и постепенно переходит к более подробному изучению языка в последующих главах. Вы изучите такие основы Kotlin, как дженерики, функциональное программирование, система типов, отладка и модульное тестирование. Кроме того, с помощью свободно загружаемых онлайн-приложений книги вы узнаете, как использовать Kotlin для создания приложений Spring Boot, персистентности данных и микросервисов.
✍️ @kotlin_lib
Автор: Ted Hagos (2022)
Эта книга знакомит с навыками и приемами программирования на языке Kotlin, необходимыми для создания приложений. Вы узнаете, как перенести свои навыки программирования на Java в Kotlin.
Книга начинается с краткого обзора языка Kotlin и постепенно переходит к более подробному изучению языка в последующих главах. Вы изучите такие основы Kotlin, как дженерики, функциональное программирование, система типов, отладка и модульное тестирование. Кроме того, с помощью свободно загружаемых онлайн-приложений книги вы узнаете, как использовать Kotlin для создания приложений Spring Boot, персистентности данных и микросервисов.
✍️ @kotlin_lib
👍3
Kotlin Multiplatform в ОС Аврора
Kotlin Multiplatform — технология, позволяющая объединять бизнес-логику для приложений разных платформ. В ней доступен полный контроль над тем, какие нативные инструменты использовать, а какие вынести в общий модуль (shared). Это позволяет применять данную технологию в уже существующих проектах, что существенно отличает Kotlin Multiplatform от других кроссплатформенных фреймворков таких, как Cordova или Flutter.
Использование приложениями общего модуля Kotlin Multiplatform позволяет:
Дополнить привычный для платформы функционал.
Стандартизировать подходы.
Упорядочить конфигурационные файлы.
Упростить написание приложений.
https://habr.com/ru/articles/753570/
✍️ @kotlin_lib
Kotlin Multiplatform — технология, позволяющая объединять бизнес-логику для приложений разных платформ. В ней доступен полный контроль над тем, какие нативные инструменты использовать, а какие вынести в общий модуль (shared). Это позволяет применять данную технологию в уже существующих проектах, что существенно отличает Kotlin Multiplatform от других кроссплатформенных фреймворков таких, как Cordova или Flutter.
Использование приложениями общего модуля Kotlin Multiplatform позволяет:
Дополнить привычный для платформы функционал.
Стандартизировать подходы.
Упорядочить конфигурационные файлы.
Упростить написание приложений.
https://habr.com/ru/articles/753570/
✍️ @kotlin_lib
👍5💩2
Achieving Platform-Specific Implementations with Koin in KMM
https://proandroiddev.com/achieving-platform-specific-implementations-with-koin-in-kmm-5cb029ba4f3b
✍️ @kotlin_lib
https://proandroiddev.com/achieving-platform-specific-implementations-with-koin-in-kmm-5cb029ba4f3b
✍️ @kotlin_lib
👍1