Kotlin
2.16K subscribers
273 photos
123 videos
18 files
396 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
«Внешняя» навигация в многомодульном проекте на 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
SKIE - инструмент для соединения Kotlin и Swift API для Kotlin Multiplatform, был выпущен с открытым исходным кодом. Это критически важный инструмент для любого разработчика или команды, вызывающей Kotlin-код из Swift.

https://touchlab.co/skie-is-open-source

Installation https://skie.touchlab.co/Installation

✍️ @kotlin_lib
👍2
Создаем нативное Kotlin приложение на Spring Boot Native, Gradle и GraalVM без докера под MacOS и Windows

В этой статье я хочу рассказать о практическом опыте нативной компиляции production приложения, написанного на Kotlin со Spring Boot, Gradle с использованием GraalVM . Начну сразу с минусов и плюсов самой возможности нативной компиляции и где она может быть полезна, и дальше перейду уже непосредственно к процессу сборки под MacOS и Windows.

В конце статьи я более подробно расскажу о проекте и почему возникла такая необходимость, учитывая довольно много ограничений и подводных камней поддержки нативной компиляции как со стороны Spring Boot, та и со стороны GraalVM.

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

✍️ @kotlin_lib
👍3
Media is too big
VIEW IN TELEGRAM
Как собрать iOS-фреймворк из исходных файлов на Kotlin
Вячеслав Кормушкин, RetailNext


Вячеслав рассказал, как собрать iOS-фреймворк из исходных файлов на Kotlin. Обсудил, какие типы фреймворков можно сгенерировать и чем они отличаются, а также рассмотрел, как фреймворк подключается в Xcode проект.

00:00 Вступление
01:38 Kotlin Multiplatform Mobile
02:36 Особенности KMM
04:11 Магические процессы фреймворка
10:40 Gradle
15:36 Universal Framework
17:19 XCFramework
22:22 Плагин для Android Studio
22:23 KDoctor
24:11 Заключение

источник

✍️ @kotlin_lib
👍4
Kotlin Contracts

Одной из самых загадочных возможностей Kotlin являются контракты Kotlin Contracts. Большинство разработчиков используют их, даже не зная, как они работают и как их определить. Контракты Kotlin делают компилятор Kotlin умнее и позволяют нам делать то, что иначе было бы невозможно. Но прежде чем мы увидим их в действии, давайте начнем с определения контракта, которое можно найти в некоторых stdlib-функциях Kotlin.

https://kt.academy/article/ak-contracts

✍️ @kotlin_lib
👍3
Реализуем современный UI на Jetpack Compose

Всем привет, на связи Никита Пятаков, Android-разработчик в МТС Диджитал. В этой статье я расскажу вам о том, как в приложении Мой МТС была проведена работа над UI новой карточки услуги.

Рассказ мой будет последовательным – сначала про саму задачку, потом про решение, которое разбито на подпункты.

https://habr.com/ru/companies/ru_mts/articles/761580/

✍️ @kotlin_lib
👍5