Kotlin
2.17K subscribers
273 photos
123 videos
18 files
396 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
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
👍2
Как мы случайно подвергли себя 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
👍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
👍3
Kotlin Multiplatform в ОС Аврора

Kotlin Multiplatform — технология, позволяющая объединять бизнес-логику для приложений разных платформ. В ней доступен полный контроль над тем, какие нативные инструменты использовать, а какие вынести в общий модуль (shared). Это позволяет применять данную технологию в уже существующих проектах, что существенно отличает Kotlin Multiplatform от других кроссплатформенных фреймворков таких, как Cordova или Flutter.

Использование приложениями общего модуля Kotlin Multiplatform позволяет:
Дополнить привычный для платформы функционал.
Стандартизировать подходы.
Упорядочить конфигурационные файлы.
Упростить написание приложений.

https://habr.com/ru/articles/753570/

✍️ @kotlin_lib
👍5💩2
👍1
Media is too big
VIEW IN TELEGRAM
Создание приложений для iOS и Android на 100% Kotlin с помощью Compose Multiplatform

В настоящее время Compose Multiplatform для iOS находится в стадии Alpha, поэтому сейчас самое время познакомиться с этой технологией: Давайте создадим простое приложение от начала до конца на языке Kotlin. В процессе вы увидите, как Compose Multiplatform и Kotlin Multiplatform позволяют совместно использовать все - от сетевого уровня, бизнес-логики до пользовательского интерфейса. Конечным результатом будет небольшое приложение, способное загружать и отображать различные изображения птиц из API, которое будет работать как на Android, так и на iOS!

источник

GitHub https://github.com/SebastianAigner/my-bird-app

✍️ @kotlin_lib
👍3
«Внешняя» навигация в многомодульном проекте на Kotlin

Я Дмитрий Воронов из Doubletapp, в этой статье расскажу, как мы делали навигацию в Яндекс Путешествиях. С навигацией в Android, кажется, давно все ясно: бери Jetpack Navigation, читай официальную документацию и следуй ей — и все получится. Если рекомендованная библиотека не подходит — берешь Fragment Manager, прописываешь собственную реализацию и идешь хвастаться коллегам. Если писать свою реализацию нет желания, а официальная библиотека не соответствует модным веяниям — дополняешь свое резюме умением работать с Cicerone. Если твои вкусы специфичны — почему бы не удивить людей неожиданным добавлением в проект Alligator?

https://habr.com/ru/companies/doubletapp/articles/732816/

✍️ @kotlin_lib
👍4
Koin: Простой и легковесный фреймворк для внедрения зависимостей

Этот легковесный фреймворк предоставляет возможности для внедрения зависимостей через DSL, что является нетривиальной задачей в случае Java-ориентированного Guice.

https://www.baeldung.com/kotlin/koin-di

✍️ @kotlin_lib
2👍1
Kotlin с нуля

Урок 0: Ставим среду разработки и запускаем проект
Урок 1: Что такое переменные и их типы, val и var
Урок 2: Арифметические операции, остаток от деления
Урок 3: Интерполяция (шаблонные строки). Конкатенация
Урок 4: Операторы сравнения (отношения), логические операторы
Урок 5: Условные операторы if else when. Операции ветвления
Урок 6: Циклы while, do-while. Обратный отсчет с Thread.sleep()
Урок 7: Цикл for, диапазоны (интервалы). break, continue, return
Урок 8: Массивы. Типы, размер, индекс массива. Перебор через for
Урок 9: Коллекции: списки (List). Функции для работы с коллекциями
Урок 10: Функции (методы), тип возвращаемого значения, return
Урок 11: ООП. Классы и свойства. Создание объектов (экземпляров класса).
Урок 12: Конструкторы (primary, secondary). Блоки инициализации init.
Урок 13: Null Safety – операторы ?. !!, NullPointerException (NPE)
Урок 14: ООП. Наследование. open class. Переопределение (override)
Урок 15: Интерфейсы, абстрактные классы. Имплементация.
Урок 16: ООП. Инкапсуляция. Модификаторы доступа
Урок 17: Сеттеры и Геттеры, field, как их кастомизировать
Урок 18: ООП. Полиморфизм, 3 типа (Ad hoc, Subtyping, Parametric)
Урок 19: ENUM (классы перечислений), TODO() и тип Nothing
Урок 20: Лямбда-функции (лямбды), анонимные функции
Урок 21: Extensions (функции-расширения, экстеншены)
Урок 22: Data class (дата классы) copy, toString, equals, hashCode
Теория разработки программ. Создание телеграм бота // Практика KotlinSprint

Все видео доступны на youtube

✍️ @kotlin_lib
👍7
Как реализовать биометрическую аутентификацию в Android с помощью Kotlin

Биометрическая аутентификация позволяет пользователям получать доступ к своим приложениям, используя свои уникальные характеристики, такие как отпечатки пальцев, лица или радужная оболочка глаза. Библиотека Biometric предоставляет единый API для сильной и слабой биометрии. Для этого мы будем использовать API BiometricPrompt.

В документации по Android описаны три различных типа аутентификации для биометрической аутентификации.

Простыми словами, эти типы аутентификации следующие:

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

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

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

https://johncodeos.com/how-to-implement-biometric-authentication-in-android-using-kotlin/

✍️ @kotlin_lib
👍9👏1