Media is too big
VIEW IN TELEGRAM
Beyond The Success Of Kotlin / Документальный фильм от EngX
Почти 15 лет назад небольшая команда инженеров JetBrains приступила к, казалось бы, безумному начинанию — создать свой собственный язык программирования и добиться с ним успеха. В начале 2010-х годов Java был одним из самых популярных языков, которым пользовались миллионы инженеров. Но он не получал никаких серьезных обновлений в течение нескольких лет, и в нем не было новых функций. Разработчики искали новые решение.
Многие инженеры пытались предоставить альтернативу Java, создавая новые языки для JVM. Это стало небольшим окном возможностей для создания инструмента, который мог бы повлиять на всю отрасль. Так началась история Kotlin. Что привело к успеху Kotlin и чего это стоило команде? В этом документальном фильме вы услышите историю из первых уст.
источник
✍️ @kotlin_lib
Почти 15 лет назад небольшая команда инженеров JetBrains приступила к, казалось бы, безумному начинанию — создать свой собственный язык программирования и добиться с ним успеха. В начале 2010-х годов Java был одним из самых популярных языков, которым пользовались миллионы инженеров. Но он не получал никаких серьезных обновлений в течение нескольких лет, и в нем не было новых функций. Разработчики искали новые решение.
Многие инженеры пытались предоставить альтернативу Java, создавая новые языки для JVM. Это стало небольшим окном возможностей для создания инструмента, который мог бы повлиять на всю отрасль. Так началась история Kotlin. Что привело к успеху Kotlin и чего это стоило команде? В этом документальном фильме вы услышите историю из первых уст.
источник
✍️ @kotlin_lib
👍6
Crash Course on the Kotlin Compiler | K1 + K2 Frontends, Backends
Небольшой экскурс о том, почему существует так много версий и как это влияет на преобразования данных в компиляторе
https://medium.com/google-developer-experts/crash-course-on-the-kotlin-compiler-k1-k2-frontends-backends-fe2238790bd8
✍️ @kotlin_lib
Небольшой экскурс о том, почему существует так много версий и как это влияет на преобразования данных в компиляторе
https://medium.com/google-developer-experts/crash-course-on-the-kotlin-compiler-k1-k2-frontends-backends-fe2238790bd8
✍️ @kotlin_lib
👍2
Курс «Kotlin Backend Developer. Professional» — всё, что нужно для создания гибких и производительных приложений.
Что вы освоите:
Почему выбирают нас?
Не упустите шанс!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Прекратите "прыгать" между потоками!
Почему избегание избыточного переключения потоков в Android-приложениях может повысить производительность и снизить сложность кода. Автор делится практическими советами и подходами, основанными на Kotlin Coroutines и других инструментах.
https://proandroiddev.com/stop-hopping-threads-6a6241016529
✍️ @kotlin_lib
Почему избегание избыточного переключения потоков в Android-приложениях может повысить производительность и снизить сложность кода. Автор делится практическими советами и подходами, основанными на Kotlin Coroutines и других инструментах.
https://proandroiddev.com/stop-hopping-threads-6a6241016529
✍️ @kotlin_lib
👍4
Kotlin Multiplatform vs Flutter — кто кого? 🥊
В статье говрят, может ли Kotlin Multiplatform (KMP) стать "убийцей" Flutter. Вот основные тезисы:
- Kotlin Multiplatform позволяет делиться кодом между платформами (iOS, Android, Web и др.), используя Kotlin.
- Flutter — популярный фреймворк от Google для кроссплатформенной разработки с использованием Dart.
- Автор сравнивает оба подхода, обсуждая их плюсы и минусы:
- KMP лучше интегрируется с нативными приложениями.
- Flutter предлагает единый UI для всех платформ.
- Вопрос: сможет ли KMP заменить Flutter? Пока рано говорить, но конкуренция усиливается!
https://medium.com/@satishlokhande5674/is-kotlin-multiplatform-killing-flutter-da4d11a10e8a
✍️ @kotlin_lib
В статье говрят, может ли Kotlin Multiplatform (KMP) стать "убийцей" Flutter. Вот основные тезисы:
- Kotlin Multiplatform позволяет делиться кодом между платформами (iOS, Android, Web и др.), используя Kotlin.
- Flutter — популярный фреймворк от Google для кроссплатформенной разработки с использованием Dart.
- Автор сравнивает оба подхода, обсуждая их плюсы и минусы:
- KMP лучше интегрируется с нативными приложениями.
- Flutter предлагает единый UI для всех платформ.
- Вопрос: сможет ли KMP заменить Flutter? Пока рано говорить, но конкуренция усиливается!
https://medium.com/@satishlokhande5674/is-kotlin-multiplatform-killing-flutter-da4d11a10e8a
✍️ @kotlin_lib
👍1
В 2024-м экосистема Kotlin взлетела на новый уровень. Что дальше? Какие тренды взорвут 2025? Какие технологии войдут в топ, а какие окажутся в аутсайдерах?
🎙 Спикер Сергей Окатов — кандидат физико-математических наук и архитектор в Solar Security.
🗓 Регистрируйся на вебинар 30 января в 19:00 мск.
Участники получат скидку на большое обучение «Kotlin Backend Developer. Professional».
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Понимание ключевого слова suspend в корутинах Kotlin и его значение для разработки Android
Если вы разрабатываете Android-приложения на Kotlin, то, вероятно, сталкивались с термином
В этом посте я расскажу, что такое ключевое слово suspend, зачем оно нужно и как оно упрощает процесс разработки Android-приложений.
https://medium.com/@rajputmukesh748/understanding-the-suspend-keyword-in-kotlin-coroutines-and-why-it-matters-for-android-development-39853532a523
✍️ @kotlin_lib
Если вы разрабатываете Android-приложения на Kotlin, то, вероятно, сталкивались с термином
suspend
, изучая корутины. На первый взгляд, это может показаться просто очередным ключевым словом в Kotlin, но на самом деле оно очень полезно при работе с задачами, которые занимают время, например при загрузке данных из интернета.В этом посте я расскажу, что такое ключевое слово suspend, зачем оно нужно и как оно упрощает процесс разработки Android-приложений.
https://medium.com/@rajputmukesh748/understanding-the-suspend-keyword-in-kotlin-coroutines-and-why-it-matters-for-android-development-39853532a523
✍️ @kotlin_lib
👍2
Отладка Kotlin Coroutines: Как сделать «optimised out» переменные видимыми
Когда вы отлаживаете Kotlin Coroutines, вы, возможно, сталкивались с ситуацией, когда переменные помечены как "optimised out". Это может создать проблемы при анализе кода, особенно если вам нужно увидеть значения переменных в suspend-функциях. В этой статье рассмотрим несколько методов, которые помогут сделать эти переменные видимыми в отладчике.
🔹 Использование "Debug mode" в IntelliJ IDEA
Можно включить режим отладки в настройках "Debug mode for coroutines", что позволит IDE лучше отслеживать выполнение корутин.
🔹 Добавление отладочных принтов
Хотя это менее элегантное решение, добавление
🔹 Использование -Xdebug и других JVM флагов
Определённые флаги компилятора могут помочь избежать агрессивной оптимизации переменных.
🔹 Настройка -Xno-inline для отключения инлайнинга
Если переменная становится "optimised out" из-за инлайнинга, можно временно отключить эту оптимизацию.
https://tomsabel.com/debugging-kotlin-coroutines-making-optimised-out-variables-visible-de1cecc0d59e
✍️ @kotlin_lib
Когда вы отлаживаете Kotlin Coroutines, вы, возможно, сталкивались с ситуацией, когда переменные помечены как "optimised out". Это может создать проблемы при анализе кода, особенно если вам нужно увидеть значения переменных в suspend-функциях. В этой статье рассмотрим несколько методов, которые помогут сделать эти переменные видимыми в отладчике.
🔹 Использование "Debug mode" в IntelliJ IDEA
Можно включить режим отладки в настройках "Debug mode for coroutines", что позволит IDE лучше отслеживать выполнение корутин.
🔹 Добавление отладочных принтов
Хотя это менее элегантное решение, добавление
println()
в нужных местах может помочь отследить значения переменных перед их оптимизацией.🔹 Использование -Xdebug и других JVM флагов
Определённые флаги компилятора могут помочь избежать агрессивной оптимизации переменных.
🔹 Настройка -Xno-inline для отключения инлайнинга
Если переменная становится "optimised out" из-за инлайнинга, можно временно отключить эту оптимизацию.
// Kotlin Multiplatform
kotlin {
compilerOptions {
if (System.getProperty("idea.active") == "true") {
println("Enable coroutine debugging")
freeCompilerArgs = listOf("-Xdebug")
}
}
}
// Kotlin Jvm
kotlin {
compilerOptions {
if (System.getProperty("idea.active") == "true") {
println("Enable coroutine debugging")
freeCompilerArgs.add("-Xdebug")
}
}
}
https://tomsabel.com/debugging-kotlin-coroutines-making-optimised-out-variables-visible-de1cecc0d59e
✍️ @kotlin_lib
👍2
👩💻 Пройди тест на знание Kotlin и проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на продвинутый курс "Kotlin Backend Developer. Professional " от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса
За 5 месяцев обучения ты освоишь:
— Работу с Kotlin Multiplatform для JS, JVM, Android, iOS.
— Spring, Ktor, RabbitMQ, Kafka, Postgres.
— Создание архитектуры: монолиты, микросервисы и бессерверные решения.
— Реальные кейсы: разработка стартапа с нуля.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cHYIhx
Ответишь — пройдешь на продвинутый курс "Kotlin Backend Developer. Professional " от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса
За 5 месяцев обучения ты освоишь:
— Работу с Kotlin Multiplatform для JS, JVM, Android, iOS.
— Spring, Ktor, RabbitMQ, Kafka, Postgres.
— Создание архитектуры: монолиты, микросервисы и бессерверные решения.
— Реальные кейсы: разработка стартапа с нуля.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1
Kotlin под капотом: Нюансы использования аннотаций в Kotlin
Kotlin - очень лаконичный язык, но когда его код компилируется в байткод Java, элегантные конструкции Kotlin распадаются на чудовищные конструкции Java. В то же время использование аннотаций может сыграть с вами злую шутку.
https://proandroiddev.com/kotlin-under-the-hood-the-nuances-of-using-annotations-in-kotlin-a58f0b2b60ac?gi=6ff112513d51
✍️ @kotlin_lib
Kotlin - очень лаконичный язык, но когда его код компилируется в байткод Java, элегантные конструкции Kotlin распадаются на чудовищные конструкции Java. В то же время использование аннотаций может сыграть с вами злую шутку.
https://proandroiddev.com/kotlin-under-the-hood-the-nuances-of-using-annotations-in-kotlin-a58f0b2b60ac?gi=6ff112513d51
✍️ @kotlin_lib
❤1👍1
Основы Jetpack Compose: как обеспечить стабильность вашего кода
Уберегаем от ошибок и делимся статьёй про стабильность в Compose от Веры, Android‑разработчика в Яндекс Диске. Рекомпозиция и пропускаемость, стабильность и способы её отслеживания, неочевидные моменты и лайфхаки Compose — всё это с конкретными примерами (и мемами).
Читайте статью на Хабре здесь
Больше материалов о технологиях в Яндекс 360: https://ya.cc/t/OZ4inE495pU96D
Уберегаем от ошибок и делимся статьёй про стабильность в Compose от Веры, Android‑разработчика в Яндекс Диске. Рекомпозиция и пропускаемость, стабильность и способы её отслеживания, неочевидные моменты и лайфхаки Compose — всё это с конкретными примерами (и мемами).
Читайте статью на Хабре здесь
Больше материалов о технологиях в Яндекс 360: https://ya.cc/t/OZ4inE495pU96D
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Texty — это библиотека Compose Multiplatform, разработанная Арджуном Джадежей, предназначенная для отображения текста с различными стилями, эффектами и анимациями. Она построена на основе Jetpack Compose Foundation's Basic Text и предоставляет высококонфигурируемый API для создания динамичных и визуально привлекательных текстовых элементов в приложениях для Android, iOS, настольных и веб-платформ.
Основные возможности Texty:
- Разнообразие стилей: Поддержка таких стилей, как скольжение, прокрутка, мигание, затухание, постепенное раскрытие, печать по буквам и базовый стиль.
- Стили для списков: Анимация текста или кадров последовательно, создание плавного потока, а также стили, такие как Motion, OneByOne, Sliding List и Scrolling List.
- Утилиты: Функции загрузки и отображения времени с возможностью настройки формата и интервала обновления.
Установка:
Для использования Texty в вашем проекте добавьте следующую зависимость в файл
Убедитесь, что
Пример использования:
https://github.com/ArjunJadeja/Texty
✍️ @kotlin_lib
Основные возможности Texty:
- Разнообразие стилей: Поддержка таких стилей, как скольжение, прокрутка, мигание, затухание, постепенное раскрытие, печать по буквам и базовый стиль.
- Стили для списков: Анимация текста или кадров последовательно, создание плавного потока, а также стили, такие как Motion, OneByOne, Sliding List и Scrolling List.
- Утилиты: Функции загрузки и отображения времени с возможностью настройки формата и интервала обновления.
Установка:
Для использования Texty в вашем проекте добавьте следующую зависимость в файл
build.gradle.kts
вашего модуля:
dependencies {
implementation("com.arjunjadeja:texty-android:1.0.0-alpha")
}
Убедитесь, что
mavenCentral()
включен в список репозиториев.Пример использования:
import com.arjunjadeja.texty.Texty
import com.arjunjadeja.texty.DisplayStyle
@Composable
fun TextyExample() {
Texty(
text = "Привет, Texty!",
displayStyle = DisplayStyle.Typing()
)
}
https://github.com/ArjunJadeja/Texty
✍️ @kotlin_lib
👍4
Media is too big
VIEW IN TELEGRAM
UUID в Kotlin Multiplatform
0:00 Intro
0:24 What's UUID
0:53 Creating UUIDs
1:52 Parsing
2:21 Working with individual bits
3:30 Long to UUID
3:55 Java interop
4:10 Conclusion
источник
✍️ @kotlin_lib
0:00 Intro
0:24 What's UUID
0:53 Creating UUIDs
1:52 Parsing
2:21 Working with individual bits
3:30 Long to UUID
3:55 Java interop
4:10 Conclusion
источник
✍️ @kotlin_lib
👍5
На открытом вебинаре мы научим вас создавать доменно-специфические языки на Kotlin. Разберём, как сделать код компактным, выразительным и удобным для решения узкопрофильных задач.
Это не просто теория. Мы покажем реальные примеры и расскажем, как применять DSL для автоматизации, работы с конфигурациями и других задач.
Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в компании ПАО «Сургутнефтегаз».
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
📕 KMP for Mobile Native Developers: The Book
by Santiago Mattiauda.
https://santimattius.github.io/kmp-for-mobile-native-developers-book/
✍️ @kotlin_lib
by Santiago Mattiauda.
https://santimattius.github.io/kmp-for-mobile-native-developers-book/
✍️ @kotlin_lib
👍9
1Sec Temporary Mail App (Создано с Compose Multiplatform)
1Sec Temporary Mail — это кроссплатформенное приложение на Kotlin, которое предоставляет пользователям временные адреса электронной почты, действительные всего одну секунду. С его помощью можно быстро генерировать одноразовые email-адреса и использовать их для различных целей, таких как регистрация на сайтах, получение проверочных писем или защита основного почтового ящика от спама.
https://github.com/KapilYadav-dev/1SecMail
✍️ @kotlin_lib
1Sec Temporary Mail — это кроссплатформенное приложение на Kotlin, которое предоставляет пользователям временные адреса электронной почты, действительные всего одну секунду. С его помощью можно быстро генерировать одноразовые email-адреса и использовать их для различных целей, таких как регистрация на сайтах, получение проверочных писем или защита основного почтового ящика от спама.
https://github.com/KapilYadav-dev/1SecMail
✍️ @kotlin_lib
👍3
🗓 18 февраля в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional» от Otus.
На вебинаре рассмотрим:
🔗 Ссылка на регистрацию: https://vk.cc/cIwobu
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Продвинутая обработка исключений в Kotlin Coroutines: руководство для Android-разработчиков
Обработка исключений в Kotlin Coroutines — это важная тема, особенно когда дело касается асинхронного программирования в Android. В статье рассматриваются следующие ключевые аспекты:
- Общая стратегия обработки исключений
Различие между
- Глобальная обработка исключений
Использование
- Обработка исключений в структурированных корутинах
Применение
- Отлов исключений в
Важно помнить, что
- Ошибка распространения исключений в
Запущенные через
https://proandroiddev.com/advanced-exception-handling-in-kotlin-coroutines-a-guide-for-android-developers-e1aede099252
✍️ @kotlin_lib
Обработка исключений в Kotlin Coroutines — это важная тема, особенно когда дело касается асинхронного программирования в Android. В статье рассматриваются следующие ключевые аспекты:
- Общая стратегия обработки исключений
Различие между
try-catch
, CoroutineExceptionHandler
и supervisorScope
. - Глобальная обработка исключений
Использование
CoroutineExceptionHandler
и его ограничение — он работает только с незахваченными исключениями. - Обработка исключений в структурированных корутинах
Применение
supervisorScope
для предотвращения отмены всей иерархии корутин. - Отлов исключений в
async
Важно помнить, что
async
возвращает Deferred
, а исключения в нем не всплывают автоматически. Их нужно ловить через await()
. - Ошибка распространения исключений в
launch
Запущенные через
launch
корутины выбрасывают исключения вверх по иерархии, что может привести к неожиданному завершению приложения. https://proandroiddev.com/advanced-exception-handling-in-kotlin-coroutines-a-guide-for-android-developers-e1aede099252
✍️ @kotlin_lib
👍3
👩💻 А ты справишься с тестом по Kotlin?
🏆 Пройди тест из 10 вопросов, проверь свой уровень знаний и получи скидку на онлайн-курс «Kotlin Backend Developer. Professional» от OTUS!
Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокодKotlin5
🎫 Курс можно приобрести в рассрочку
➡️ Пройти тест и забрать скидку: https://vk.cc/cIK1jj
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🏆 Пройди тест из 10 вопросов, проверь свой уровень знаний и получи скидку на онлайн-курс «Kotlin Backend Developer. Professional» от OTUS!
Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1