⚡️ Ktorm — минималистичный ORM для Kotlin-разработчиков. Этот фреймворк предлагает принципиально иной подход к работе с базами данных: вместо сложных конфигураций и магии аннотаций здесь чистый Kotlin-код с типизированным SQL DSL.
При этом фреймворк не абстрагируется от SQL, а аккуратно его дополняет: вы всегда видите, какой запрос будет выполнен, но пишете его на понятном Kotlin. Встроенная поддержка пагинации, агрегаций и транзакций делает Ktorm готовым к использованию в production.
🤖 GitHub
@androidits
При этом фреймворк не абстрагируется от SQL, а аккуратно его дополняет: вы всегда видите, какой запрос будет выполнен, но пишете его на понятном Kotlin. Встроенная поддержка пагинации, агрегаций и транзакций делает Ktorm готовым к использованию в production.
🤖 GitHub
@androidits
❤6👍2
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Компания "Открытая мобильная платформа" представила инструментарий, позволяющий использовать в ОС Аврора технологию KMP (Kotlin Multiplatform). KMP позволяет создавать многоплатформенный код на языке Kotlin, вынося общую бизнес-логику в библиотеку, адаптированную для платформ Аврора, Android, iOS, Web или Linux.
В ОС Аврора, как и в iOS, нет JVM, но благодаря поддержке в Kotlin нативной компиляции (Kotlin/Native), код KMP можно собрать в форме статической или динамической библиотеки, которую можно переносить на любые системы, поддерживающие использование Си-библиотек. При этом низкоуровневые С-библиотеки, генерируемые KMP, напрямую использовать неудобно. В ОС Аврора эта проблема решена с помощью плагина QtBinding, который создаёт прослойку между низкоуровневым C и Qt. Поэтому писать приложения для ОС Аврора стало не сложнее, чем для iOS.
Инструментарий пока находится на начальной стадии развития, его ещё предстоит их упростить и оптимизировать. Тем не менее, даже текущее состояние проекта позволяет повторно использовать существующий код Kotlin в ОС Аврора. Код инструментария открыт под лицензией Apache 2.0, приветствуются предложения по доработке, замечания и передача изменений и улучшений.
https://kotlinlang.org/docs/multiplatform.html
@android_its
В ОС Аврора, как и в iOS, нет JVM, но благодаря поддержке в Kotlin нативной компиляции (Kotlin/Native), код KMP можно собрать в форме статической или динамической библиотеки, которую можно переносить на любые системы, поддерживающие использование Си-библиотек. При этом низкоуровневые С-библиотеки, генерируемые KMP, напрямую использовать неудобно. В ОС Аврора эта проблема решена с помощью плагина QtBinding, который создаёт прослойку между низкоуровневым C и Qt. Поэтому писать приложения для ОС Аврора стало не сложнее, чем для iOS.
Инструментарий пока находится на начальной стадии развития, его ещё предстоит их упростить и оптимизировать. Тем не менее, даже текущее состояние проекта позволяет повторно использовать существующий код Kotlin в ОС Аврора. Код инструментария открыт под лицензией Apache 2.0, приветствуются предложения по доработке, замечания и передача изменений и улучшений.
https://kotlinlang.org/docs/multiplatform.html
@android_its
Kotlin Help
Kotlin Multiplatform | Kotlin
👍4🔥3
🚀 Ktorfit — retrofit для Kotlin Multiplatform на базе Ktor
Когда нужно реализовать сетевые запросы в Kotlin-приложении, Ktorfit предлагает знакомый по Retrofit DSL инструмент, но с поддержкой Ktor-клиентов под капотом.
Проект использует Kotlin Symbol Processing для генерации кода во время компиляции — это даёт возможность использовать нативные suspend-функции и Flow для Kotlin Coroutines, поддержку всех платформ, где работает Ktor, а также лёгковесную альтернативу без рефлексии
🤖 GitHub
@androidits
Когда нужно реализовать сетевые запросы в Kotlin-приложении, Ktorfit предлагает знакомый по Retrofit DSL инструмент, но с поддержкой Ktor-клиентов под капотом.
Проект использует Kotlin Symbol Processing для генерации кода во время компиляции — это даёт возможность использовать нативные suspend-функции и Flow для Kotlin Coroutines, поддержку всех платформ, где работает Ktor, а также лёгковесную альтернативу без рефлексии
🤖 GitHub
@androidits
👍4😁3❤1🔥1🥰1
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🌐 Gitnuro — кроссплатформенный Git-клиент без подписок и слежки. Этот полностью открытый клиент на Kotlin предлагает альтернативу тяжеловесным решениям вроде GitKraken или SourceTree.
В отличие от веб-ориентированных аналогов, он работает нативно на Linux, Windows и macOS, при этом не требуя активаций или подписок. Особенность проекта в поддержке сложных операций через минималистичный интерфейс.
🤖 GitHub
@androidits
В отличие от веб-ориентированных аналогов, он работает нативно на Linux, Windows и macOS, при этом не требуя активаций или подписок. Особенность проекта в поддержке сложных операций через минималистичный интерфейс.
🤖 GitHub
@androidits
❤3🔥2👍1
📱 Kotlin/Android-задача: почему `Context` утечёт в этом коде?
❓ Вопрос: что здесь не так и к чему это приведёт?
🔍 Варианты:
• a) Всё работает корректно
• b) Приложение вылетит
• c) Произойдёт утечка памяти
• d) SharedPreferences будет работать некорректно
💡 Разбор:
Если ты передаёшь
-
- а значит,
- это и есть memory leak —
Особенно опасно при:
• частых пересозданиях Activity (например, при смене ориентации)
• использовании этого синглтона в фоне
✅ Правильный ответ: c) Произойдёт утечка памяти
🛠️ Решение: всегда передавай `applicationContext`, если сохраняешь ссылку надолго:
📌
🧠 Вывод: при создании синглтонов и долгоживущих объектов всегда думай, какой Context ты передаёшь. Это частая ошибка даже среди опытных Android‑разработчиков.
class MyManager(context: Context) {
private val prefs = context.getSharedPreferences("app", Context.MODE_PRIVATE)
fun doSomething() {
// ...
}
companion object {
var instance: MyManager? = null
fun init(context: Context) {
instance = MyManager(context)
}
}
}
❓ Вопрос: что здесь не так и к чему это приведёт?
🔍 Варианты:
• a) Всё работает корректно
• b) Приложение вылетит
• c) Произойдёт утечка памяти
• d) SharedPreferences будет работать некорректно
💡 Разбор:
Если ты передаёшь
Activity как context в init(context), то:-
MyManager сохранится в companion object (по сути, глобально) - а значит,
Activity не сможет быть сборщиком мусора (GC) удалена - это и есть memory leak —
Activity остаётся в памяти навсегдаОсобенно опасно при:
• частых пересозданиях Activity (например, при смене ориентации)
• использовании этого синглтона в фоне
✅ Правильный ответ: c) Произойдёт утечка памяти
🛠️ Решение: всегда передавай `applicationContext`, если сохраняешь ссылку надолго:
fun init(context: Context) {
instance = MyManager(context.applicationContext)
}
📌
applicationContext живёт столько же, сколько и приложение, и не зависит от жизненного цикла Activity.🧠 Вывод: при создании синглтонов и долгоживущих объектов всегда думай, какой Context ты передаёшь. Это частая ошибка даже среди опытных Android‑разработчиков.
👍5❤3🔥3
🚀 Jooby — лаконичный веб-фреймворк для Java и Kotlin. Этот проект предлагает минималистичный подход к созданию API — без лишних абстракций, но с поддержкой популярных серверов вроде Jetty и Netty. Инструмент универсален: один и тот же код работает как в традиционных Java-приложениях, так и в Kotlin-проектах.
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
🤖 GitHub
@android_its
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
runApp и описать роуты. 🤖 GitHub
@android_its
❤5🔥2
📊 Charty — библиотека для создания графиков через Compose. Проект предоставляет разработчикам простой и мощный инструмент для визуализации данных с использованием современных декларативных подходов. В отличие от других решений, Charty предлагает нативную поддержку мультиплатформенной разработки через KMP.
Библиотека поддерживает различные типы графиков — от линейных и столбчатых до круговых диаграмм, с возможностью кастомизации каждого элемента. Анимации реализованы на уровне фреймворка, что обеспечивает плавность даже при работе с динамическими данными. Особое внимание уделено производительности — рендеринг оптимизирован для работы на мобильных устройствах.
🤖 GitHub
@android_its
Библиотека поддерживает различные типы графиков — от линейных и столбчатых до круговых диаграмм, с возможностью кастомизации каждого элемента. Анимации реализованы на уровне фреймворка, что обеспечивает плавность даже при работе с динамическими данными. Особое внимание уделено производительности — рендеринг оптимизирован для работы на мобильных устройствах.
🤖 GitHub
@android_its
❤5👍2👎1🔥1👏1
🔐 Feeder — приватный RSS-ридер для Android без синхронизации. Этот open-source инструмент работает полностью локально на устройстве, не отправляя ваши подписки и историю чтения на сторонние серверы.
Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).
🤖 GitHub
@android_its
Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).
🤖 GitHub
@android_its
❤3🔥2
📱 Android Showcase 2.0 — проект для изучения современных подходов в Android-разработке. Этот open-source репозиторий демонстрирует полный цикл создания приложения: от модульной архитектуры и работы с API до тестирования и CI/CD.
Проект построен на Kotlin с использованием Jetpack Compose, Clean Architecture и популярных библиотек. Особое внимание уделено тестированию — доступны примеры unit-тестов, проверки кодстайла и даже архитектурных правил через Konsist.
Для разработчиков это отличная возможность изучить:
— Организацию feature-модулей
— Работу с Kotlin Flow и корутинами
— Настройку GitHub Actions
— Динамические темы
🤖 GitHub
@android_its
Проект построен на Kotlin с использованием Jetpack Compose, Clean Architecture и популярных библиотек. Особое внимание уделено тестированию — доступны примеры unit-тестов, проверки кодстайла и даже архитектурных правил через Konsist.
Для разработчиков это отличная возможность изучить:
— Организацию feature-модулей
— Работу с Kotlin Flow и корутинами
— Настройку GitHub Actions
— Динамические темы
🤖 GitHub
@android_its
❤6👏1
🛜 Chucker — удобный инструмент для отладки сетевых запросов в Android-приложениях. Этот форк проекта Chuck работает как перехватчик OkHttp, фиксируя все HTTP-взаимодействия и предоставляя понятный интерфейс для их анализа.
Инструмент имеет встроенный UI с возможностью просмотра заголовков, тел запросов/ответов и даже изображений. Для релизных сборок есть no-op версия, которая полностью исключает его из конечного APK. Также проект поддерживает кастомизацию: можно скрывать чувствительные данные в заголовках, настраивать период хранения логов и добавлять декодеры для бинарных форматов.
🤖 GitHub
@android_its
Инструмент имеет встроенный UI с возможностью просмотра заголовков, тел запросов/ответов и даже изображений. Для релизных сборок есть no-op версия, которая полностью исключает его из конечного APK. Также проект поддерживает кастомизацию: можно скрывать чувствительные данные в заголовках, настраивать период хранения логов и добавлять декодеры для бинарных форматов.
🤖 GitHub
@android_its
❤2🕊1
🚀 Jooby — лаконичный веб-фреймворк для Java и Kotlin. Этот проект предлагает минималистичный подход к созданию API — без лишних абстракций, но с поддержкой популярных серверов вроде Jetty и Netty. Инструмент универсален: один и тот же код работает как в традиционных Java-приложениях, так и в Kotlin-проектах.
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
🤖 GitHub
@androidits
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
runApp и описать роуты. 🤖 GitHub
@androidits
❤2
🥪 Sandwich — удобная обработка API-ответов в Kotlin. Библиотека упрощает работу с сетевыми запросами, предлагая унифицированный подход к обработке успешных ответов, ошибок и исключений. Вместо создания собственных обёрток вроде Resource или Result, разработчики могут использовать готовые компоненты с функциональными операторами.
Инструмент имеет встроенную поддержку корутин и возможность глобальной обработки ошибок через механизм операторов. Например, можно автоматически обновлять токен доступа при получении кода 401 или логировать все исключения в едином месте.
🤖 GitHub
@androidits
Инструмент имеет встроенную поддержку корутин и возможность глобальной обработки ошибок через механизм операторов. Например, можно автоматически обновлять токен доступа при получении кода 401 или логировать все исключения в едином месте.
🤖 GitHub
@androidits
❤2👍2
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javanoscript: t.me/javanoscriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://news.1rj.ru/str/gamedev
Физика: t.me/fizmat
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://news.1rj.ru/str/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot -
📕Ит-книги: https://news.1rj.ru/str/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javanoscript: t.me/javanoscriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://news.1rj.ru/str/gamedev
Физика: t.me/fizmat
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://news.1rj.ru/str/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
📕Ит-книги: https://news.1rj.ru/str/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
⛓️ Jimmer — революционный ORM для JVM (Java/Kotlin), переосмысливающий работу с данными. Этот инструмент позволяет оперировать не отдельными сущностями, а целыми графами объектов любой сложности, как при чтении, так и при сохранении.
Инструмент имеет встроенную поддержку DTO с кодогенерацией, самостоятельного устранения проблемы N+1 запросов и работы с рекурсивными структурами. ORM автоматически оптимизирует SQL-запросы, убирает лишние JOIN'ы и поддерживает многоуровневое кеширование. Проект предлагает удобные DSL для запросов, интеграцию с GraphQL и работает через APT/KSP, что обеспечивает безопасность типов на этапе компиляции.
🤖 GitHub
@androidits
Инструмент имеет встроенную поддержку DTO с кодогенерацией, самостоятельного устранения проблемы N+1 запросов и работы с рекурсивными структурами. ORM автоматически оптимизирует SQL-запросы, убирает лишние JOIN'ы и поддерживает многоуровневое кеширование. Проект предлагает удобные DSL для запросов, интеграцию с GraphQL и работает через APT/KSP, что обеспечивает безопасность типов на этапе компиляции.
🤖 GitHub
@androidits
👍2❤1
📦 Awesome Kotlin — исчерпывающая коллекция лучших библиотек, инструментов и ресурсов для Kotlin-разработчиков. Этот проект охватывает всё: от мобильной разработки (Android-библиотеки вроде Coil) до бэкенд-фреймворков типа Ktor и Javalin.
Инструмент имеет специальные разделы с мультиплатформенными решениями , тестированием и архитектурными подходами. Для новичков есть обучающие материалы — туториалы, книги и видео. Сообщество постоянно обновляет список, добавляя современные инструменты вроде Compose для Desktop.
🤖 GitHub
@android_its
Инструмент имеет специальные разделы с мультиплатформенными решениями , тестированием и архитектурными подходами. Для новичков есть обучающие материалы — туториалы, книги и видео. Сообщество постоянно обновляет список, добавляя современные инструменты вроде Compose для Desktop.
🤖 GitHub
@android_its
❤5👍2😁2🔥1
🎨 Mordant — библиотека для стилизации текста в терминале. Этот мультиплатформенный Kotlin-проект превращает скучный терминальный вывод в визуально приятные интерфейсы. С ним можно не просто раскрашивать текст, но и создавать таблицы, анимированные прогресс-бары и даже рендерить Markdown прямо в консоли.
Инструмент умеет автоматически определять возможности терминала и поддерживает корутины для анимаций. Под капотом: умная система виджетов для компоновки элементов и кросс-платформенная работа на JVM, JS и Native.
🤖 GitHub
@androidits
Инструмент умеет автоматически определять возможности терминала и поддерживает корутины для анимаций. Под капотом: умная система виджетов для компоновки элементов и кросс-платформенная работа на JVM, JS и Native.
🤖 GitHub
@androidits
❤4💅2
🎨 RoundCornerProgressBar — стильные прогресс-бары с закруглёнными углами для Android
Эта библиотека предлагает нестандартные варианты индикаторов прогресса с плавными анимациями и кастомизацией. Поддерживает иконки, текст внутри полосы, градиентную заливку и даже бесконечную анимацию для состояний загрузки.
Библиотека имеет простую интеграция через XML-атрибуты — достаточно добавить зависимость и настроить внешний вид в разметке. Будет особенно удобна для приложений, где важна визуальная составляющая.
🤖 GitHub
@androidits
Эта библиотека предлагает нестандартные варианты индикаторов прогресса с плавными анимациями и кастомизацией. Поддерживает иконки, текст внутри полосы, градиентную заливку и даже бесконечную анимацию для состояний загрузки.
Библиотека имеет простую интеграция через XML-атрибуты — достаточно добавить зависимость и настроить внешний вид в разметке. Будет особенно удобна для приложений, где важна визуальная составляющая.
🤖 GitHub
@androidits
👍4❤2
📱 Inure — необычный файловый менеджер для Android с открытым исходным кодом. Этот проект выделяется полностью кастомным интерфейсом, поддержкой Material You и встроенным терминалом.
Приложение разрабатывается одним человеком, но уже попало в подборки лучших open-source решений для Android. Оно работает как на рутированных устройствах, так и через Shizuku, предлагая продвинутый анализ установленных приложений.
🤖 GitHub
@androidits
Приложение разрабатывается одним человеком, но уже попало в подборки лучших open-source решений для Android. Оно работает как на рутированных устройствах, так и через Shizuku, предлагая продвинутый анализ установленных приложений.
🤖 GitHub
@androidits
❤5👍5
⚡ Reaktive — кроссплатформенная реализация Reactive Extensions для Kotlin. Проект позволяет использовать реактивные потоки данных на всех поддерживаемых платформах Kotlin Multiplatform, включая iOS, JS и Native.
Инструмент имеет глубокую интеграцию с корутинами и RxJava, что делает переход между разными парадигмами асинхронного кода практически seamless. Поддержка нового memory model в Kotlin/Native открывает возможности для настоящего многопоточного программирования.
🤖 GitHub
@androidits
Инструмент имеет глубокую интеграцию с корутинами и RxJava, что делает переход между разными парадигмами асинхронного кода практически seamless. Поддержка нового memory model в Kotlin/Native открывает возможности для настоящего многопоточного программирования.
🤖 GitHub
@androidits
❤4👍1🔥1