Как стать автором
Обновить
37.45
Рейтинг

Kotlin *

Статически типизированный язык программирования

Сначала показывать
Порог рейтинга

OAuth в мобильных приложениях

Блог компании KTS Разработка мобильных приложений *Разработка под Android *Kotlin *Разработка под iOS *

Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.

Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используются открытые API, где для авторизации используется OAuth.

Поэтому разработчикам мобильных приложений приходится работать с OAuth. В сети по этой теме есть разрозненные материалы. 

Этой статьей я попробую закрыть нюансы OAuth в мобильных приложениях: на какие моменты стоит обратить внимание, какие способы реализации выбрать. А также поделюсь опытом настройки OAuth в Android-приложении с использованием библиотеки AppAuth.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 12
Комментарии 0

Новости

Java One day offer от Почтатеха

Блог компании Почтатех Java *Kotlin *

Всем привет! Мы — Почтовые Технологии или просто Почтатех. Разрабатываем сложные цифровые продукты Почты России. Помогаем ей стать удобнее, быстрее, качественнее и технологичнее для вас. 

9 апреля приглашаем middle/senior-разработчиков, пишущих на Java/Kotlin, на One Day Offer — приходите и получите оффер от Почтатеха за день! Он пройдет онлайн с 10:00 до 20:00 по московскому времени.

Читать далее
Всего голосов 29: ↑26 и ↓3 +23
Просмотры 3K
Комментарии 4

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция

Блог компании СберМаркет Разработка мобильных приложений *Разработка под Android *Kotlin *

Привет! Меня зовут Сергей Курочкин, я руковожу Android-разработкой в СберМаркете. Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс разработки на Jetpack Compose.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 1.3K
Комментарии 0

По колено в JVM куче, или на пороге потери данных

Java *Анализ и проектирование систем *Разработка игр *Kotlin *
Tutorial

Смоделируем ситуацию: у вас есть приложение на JVM (без разница, будь то Kotlin, Java или Scala), а еще у вас есть уверенность в себе и немного не хватает ответственности.

В пачке с приложением, а именно сервером, идет несколько стандартных штук - база данных, небольшой http слой, в общем, все стандартно.

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

Мне кажется, любой уважающий себя программист на +- хобби проекте захочет навернуть нереально крутое самописное решение, чем, собственно говоря, я и занялся.

Была ли это хорошая идея?
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 3.8K
Комментарии 0

Удаленный доступ к IP камерам. Часть 2. Мобильное приложение

Разработка под Android *Kotlin *


В предыдущей статье я рассказывал о простом сервере для работы с камерами видеонаблюдения, но для оперативного просмотра RTSP потоков использовал мобильное приложение VLC, которое меня не вполне устраивало по нескольким причинам. Под катом вы найдете описание и листинги простого мобильного приложения под андроид, написанного специально для охранных камер. Исходники приложения можно взять на github. Для тех, кто не хочет собирать apk самостоятельно, вот ссылка на готовые файлы.


Возможно, нам всем сейчас немного не до камер, но Хабр ведь не для политики, верно?


UPD: Похоже, в связи с последними событиями в Google Play, тема импотрозамещения становится еще актуальней.

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 5.2K
Комментарии 8

Пишем свой плагин для IDEA для поддержки нового языка (часть 2)

Java *Kotlin *

Продолжение статьи о создании языкового плагина для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Начало

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 1.4K
Комментарии 0

Пишем свой плагин для IDEA для поддержки нового языка (часть 1)

Java *Kotlin *

В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 2.1K
Комментарии 2

Android Studio. Kotlin. Кастомный навигатор нижнего меню. Keep state navigator

Разработка под Android *Kotlin *
Tutorial

В моем приложении пользователь добавляет клиентов, консультации и расходы. Для всех трех типов данных в нем свой фрагмент, список RecyclerView и нижнее меню для перехода между ними. Я решил сделать так, чтобы при смене фрагмента состояние каждого из них сохранялось, и пользователь смог бы вернуться к той строке списка, на которой он был после перехода с другого фрагмента. Сделать это оказалось возможным (поправьте меня в комментариях, если это не так) только, если написать свой кастомный навигатор нижнего меню, который при переключении между фрагментами будет сохранять состояние каждого из них. В этой статье описываю то, как я это сделал.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.4K
Комментарии 8

Создаем и тестируем свой plugin для Gradle 7.0+

Блог компании OTUS Тестирование IT-систем *Kotlin *Gradle *

Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в действительности он может использоваться и для других целевых платформ и технологий разработки, отличных от JVM. Подобно maven в gradle используются устанавливаемые дополнения, которые могут добавлять свои цели и элементы конфигурации, а также встраиваться в существующие цели и добавлять операции как и исходными текстами (например, форматирование), так и с вспомогательными объектами (как пример можно привести кодогенерацию), а также вызов внешних команд или объектов классов (например, компилятора kotlin или инструментов сборки ресурсов для android).

В этой статье мы пошагово создадим и протестируем простой plugin трансформации текстовых файлов для gradle (при разработке будем в основном использовать API, который поддерживается версиями 6.0+, но отдельно отметим, какие функции поддерживаются только в Gradle 7.0 и более новых).

Сначала начнем с определения контекста. Сборка любого проекта состоит из последовательности действий (actions), которые в конечном счете приводят к появлению целевого состояния (task). Конфигурация сборки описывается в виде gradle-сценария, который может взаимодействовать с методами, импортированными из plugin'ов или входящих в gradle-core, либо с версии Gradle 4.0 с использованием Kotlin Scripting (.kts) с возможностью использования объектов стандартной библиотеки Kotlin и импортируемых библиотек.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 1.2K
Комментарии 0

Hexagon — гексогональная архитектура для Kotlin Backend

Блог компании OTUS Анализ и проектирование систем *API *Kotlin *Микросервисы *

В математике идеальной фигурой является шар. В мире микросервисов близкой к идеальной можно считать шестиугольник. Сегодня мы поговорим о преимуществах и недостатках гексагональной архитектуры, и относительно новой, но перспективной библиотеке Hexagon для Kotlin, предоставляющей базовую функциональность для создания веб-приложений и API, разрабатываемых с использованием гексагональной архитектуры. В результате мы разработаем общую архитектуру и несколько компонентов некоторого идеального приложения для ведения домашней бухгалтерии и автоматизации оплаты счетов и налогов.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 4.3K
Комментарии 2

Сравниваем кривые линии по форме

Разработка игр *Алгоритмы *Разработка под Android *Kotlin *

Привет, Хабр!

Не так давно писал гиперказуальную игру с примитивной механикой, а именно: максимально быстро и точно повторить кривую линию. Идея максимально простая, но задача сравнения двух кривых оказалась довольно интересной. В этой статье я опишу разные идеи, которые рассматривал (в основном провальные) и конечный вариант, к которому я пришел.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.3K
Комментарии 3

Публикуем проект с помощью Gradle и Sonatype в Maven Central без рук

Java *Kotlin *Gradle *
Из песочницы

Это такое приятное чувство, когда ты закончил какую-то задачу. А особенно когда твой проект уже готов к релизу. Остался лишь последний шаг.

Публикация проекта в Maven Central, имеено об этом я расскажу в этой статье. Как настроить Gradle, чтобы потом без труда настроить CI.

Читать далее ->
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 1.6K
Комментарии 5

Функциональный Kotlin. Часть 2. Каррированные функции и где они обитают

Функциональное программирование *Kotlin *

Вторая статья из цикла о функциональном программировании на Kotlin с разбором принципа работы, концепции и способов применения каррирования на практике.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 4.2K
Комментарии 3

5 лаконичных синтаксисов Java, которых мне не хватает в Kotlin

Блог компании OTUS Программирование *Java *Kotlin *
Перевод

С 2016 года, после того, как я начал использовать Kotlin в Android-разработке, то ни разу не скучал по Java. В целом, Kotlin дал мне большее удовлетворение от разработки, чем Java для Android.

Тем не менее, время от времени я натыкаюсь на такие вещи, которых мне очень не хватает; того, как они были реализованы в Java. Ниже представлены 5 из них.

Читать далее
Всего голосов 24: ↑13 и ↓11 +2
Просмотры 10K
Комментарии 21

Как я запускал Spring Cloud

Разработка веб-сайтов *Java *Сетевые технологии *Kotlin *Микросервисы *
Tutorial

Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил этот диковенный элемент к одному своему пет проекту. И в этой статье я пошагово покажу как я это сделал

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Просмотры 5K
Комментарии 13

Меняем стек на продакшене в сжатые сроки

Блог компании Конференции Олега Бунина (Онтико) Анализ и проектирование систем *Проектирование и рефакторинг *Kotlin *Управление продуктом *

Представьте, что команда инженеров всю ночь перетаскивала в продакшен новую систему, запускала ее, утром сделала свои первые заказы и даже получила их. Они еще не знают, что случится через 10 минут, поэтому полны радости и надежд. Но потом приходит пользовательский трафик — и взрываются чаты и мониторинги…

Но давайте по порядку. Меня зовут Александр Клюшкин. Я работаю в Самокате и на нашем примере расскажу о сложностях перехода на новый стек. Зачем и кому это может понадобиться?

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 2K
Комментарии 2

Высокопроизводительные микросервисы на Kotlin с использованием gRPC. Долгий путь к DSL

Блог компании OTUS Программирование *Kotlin *Микросервисы *

Очень часто при проектировании высоконагруженных систем, основанных на микросервисной архитектуре, обнаруживается что «узким» местом, ограничивающим производительность системы и возможности ее масштабирования, становится передача сообщений и временные затраты на сериализацию-десериализацию сообщений и дополнительные расходы на установку соединения и начальные согласования. Решением может стать использование протокола gRPC с кодированием сообщений с применением Protocol Buffers (protobuf).

В этой статье рассмотрены подходы к реализации gRPC клиента и сервера для бэкэнда на Kotlin, разобран пример создания проекта для взаимодействия микросервисов через протокол gRPC с использованием возможностей Kotlin DSL и корутин.

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 4.8K
Комментарии 0

Android 12. Splash Screen API. Делаем анимированный экран загрузки

Разработка мобильных приложений *Разработка под Android *Kotlin *
Из песочницы

Android 12. Splash Screen API. Делаем анимированный экран загрузки (кручение). Боли и подводные камни, с которыми я столкнулся при реализации нового сплеш-скрина для Android 12.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 5.3K
Комментарии 5

Репозиторчик по алгоритмам на Kotlin'е

Алгоритмы *GitHub Kotlin *Изучение языков

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

В тот момент я хотел сделать что-нибудь полезное для других людей. И поэтому я решил объединить эти две цели и сделать репозиторий, который содержит в себе самые распространенные и простые алгоритмы.

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

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 5K
Комментарии 5

Android Studio. Kotlin. Динамическая подгрузка данных в список RecyclerView

Разработка под Android *Kotlin *
Tutorial

Долго я искал в сети способ сделать так, чтобы данные при построении списка RecyclerView не загружались целиком, а подгружались по мере его пролистывания пользователем. Несколько совершенно разных решений находил на StackOverflow. Пробовал применить - работало, но каждый раз, как-то криво и не надежно. После нескольких месяцев работы над проектом в режиме "Когда все дела сделаны и дети слезли с шеи", я наконец достиг, как мне кажется, идеального решения, чем и хочу поделиться в этой статье.

Читать далее
Рейтинг 0
Просмотры 3.5K
Комментарии 26

Вклад авторов