Обновить
49.67

Kotlin *

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

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

Книга «Kotlin. Программирование для профессионалов»

Время на прочтение7 мин
Количество просмотров29K
image Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использовать его возможности, а также позволяют освоить среду разработки IntelliJ IDEA от JetBrains.

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

Читать дальше →

Дзен изолированных компонентов в Android-архитектуре

Время на прочтение10 мин
Количество просмотров7.8K


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

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

Наш коллега Zsolt Kocsi (Medium, Twitter) из лондонского офиса рассказал, каким образом с помощью MVI мы строим независимые компоненты, которые легко переиспользовать, какие преимущества мы получаем и с какими недостатками нам пришлось столкнуться при использовании этого подхода.
Читать дальше →

Отчет Kotlin / Everywhere — Showcase practice: 31 июля

Время на прочтение2 мин
Количество просмотров4.8K


На прошлой неделе собирали в нашем офисе пользователей и активных разработчиков языка Kotlin. Митап посетило более 150 человек, говорили про тестирование java-приложений, команда Поиска Mail.ru подготовила доклад про свой опыт использования каналов в корутинах. Заключительной темой был доклад про продакшн Kotlin DSL. Под катом собрали для вас материалы с мероприятия.

Видео докладов с Summer Droid Meetup

Время на прочтение1 мин
Количество просмотров3.3K

В прошлую субботу мы провели Summer Droid Meetup, а уже сегодня выкладываем видео докладов. Познавательного вам просмотра!

«Сбор и анализ неординарных данных Android-приложения», Дмитрий Васильев, FunCorp



Java meetup в Райффайзенбанке

Время на прочтение1 мин
Количество просмотров3.3K
Java сообщество Райффайзенбанка, приглашает на открытый митап, который пройдет в московском офисе в Нагатино, 8 августа.

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



IntelliJ IDEA 2019.2: поддержка Java 13 Preview, инструменты профилирования, новое окно сервисов и многое другое

Время на прочтение5 мин
Количество просмотров16K
Привет! Традиционно рассказываем, что нового в IntelliJ IDEA 2019.2. Список большой и все равно неполный: если хочется подробностей, добро пожаловать на страницу What’s new in IntelliJ IDEA 2019.2.


Читать дальше →

Java vs Kotlin для Android: мнения разработчиков

Время на прочтение7 мин
Количество просмотров65K
В опросах Stack Overflow в 2018 году 45,3% респондентов называли Java самым популярным языком программирования, а Kotlin отдали предпочтение всего 4,5% разработчиков. Тем не менее, в мае 2019 в Google объявили приоритетным языком программирования именно Kotlin. Корпорация не призывала отказываться от С++ и Java, но споры между программистами разгорелись еще жарче.

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

Читать дальше →

Митап ITX5: живая JAVA, магия Kotlin и томатный тиндер

Время на прочтение2 мин
Количество просмотров3.3K
Внутри #ITX5, в котором сейчас почти 1500 человек, часто проводятся интересные мероприятия, а в июле мы впервые решились открыться миру и организовать митап для всех поклонников JAVA. Поговорили о красоте кода, новых парадигмах вычислений и магии Kotlin. Спойлер: в течение пяти лет он всех победит, но это не точно. Реальными JAVA-кейсами поделились Александр Краснощеков из #ITX5, Виталий Куценко из Otus, Дмитрий Латышев из Leroy Merlin, Павел Финкельштейн из Lamoda.


Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только

Время на прочтение24 мин
Количество просмотров19K


Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодно: почему нам нужно больше женщин-программисток?»

И мы взяли соответствующее интервью: не о Kotlin, а о социальном и эмоциональном. Что волнует Андрея помимо разработки языка? Бывает ли у него синдром самозванца? Чем его доклад о женщинах-программистках будет отличаться от большинства других рассуждений о гендерном перекосе в IT? Почему можешь ощущать себя плохо, когда твой проект собирается публично поддержать Google?

Название Kotlin в тексте встречается, но не в контексте «когда появится тернарный оператор», а в контексте «эмоции Андрея по Kotlin-поводам». О языках программирования есть уже очень много текстов. А вот о том, что ощущают их создатели — кажется, очень мало.
Читать дальше →

Android preferences delegate

Время на прочтение4 мин
Количество просмотров7.3K

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

Читать дальше →

Первое впечатление от Android Jetpack Compose

Время на прочтение7 мин
Количество просмотров21K

После того, как на Google IO 2019 я увидел доклад про Android Jetpack Compose, захотелось сразу же его попробовать. Тем более, что подход, реализованный в нём, очень напомнил Flutter, которым я интересовался ранее.


Читать дальше →

WorldSkills: Обзор от участника олимпиады

Время на прочтение8 мин
Количество просмотров7.7K

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

Каждый программист хочет прокачать свои навыки и каждая компания хочет видеть у себя квалифицированных специалистов, но как этого достичь? На помощь приходят олимпиады, об участии в одной из них и будет эта статья.
Читать дальше →

Реализация сопоставления с образцом в Java

Время на прочтение8 мин
Количество просмотров4.7K

Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться.


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


Используя возможности Java 8, можно реализовать некоторые возможности pattern matching в виде библиотеки. При этом можно использовать как утверждение так и выражения.

Читать дальше →

Ближайшие события

Kotlin / Everywhere — Showcase practice: 31 июля

Время на прочтение1 мин
Количество просмотров3.4K

Приглашаем 31 июля в московский офис Mail.ru Group на Kotlin / Everywhere митап. В программе мероприятия доклады про опыт использования Coroutines, DSL в Kotlin и тестирование.

Описание докладов, ссылка на регистрацию и детали по митап под катом. Регистрируйтесь сами и приглашайте коллег!
Читать дальше →

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

Время на прочтение9 мин
Количество просмотров6.3K
Практически все современные программные продукты состоят из нескольких сервисов. Часто большое время отклика межсервисных каналов становится источником проблем с производительностью. Стандартное решение такого рода проблем — это упаковка нескольких межсервисных запросов в один пакет, которую называют пакетной обработкой (batching).

Если вы используете пакетную обработку, вас может не устраивать ее результат с точки зрения производительности или понятности кода. Этот метод не так прост для вызывающей стороны, как можно подумать. Для разных целей и в разных ситуациях решения могут сильно различаться. На конкретных примерах я покажу плюсы и минусы нескольких подходов.
Читать дальше →

Meeting Room L̶i̶t̶t̶l̶e̶ Helper v 2

Время на прочтение18 мин
Количество просмотров2.9K
Данная статья подробно описывает этапы разработки мобильного приложения Meeting Room Helper: от зарождения идеи до релиза. Приложение написано на Kotlin и построено по упрощённой MVVM архитектуре, без использования data binding. Обновление UI-части происходит с помощью LiveData-объектов. Причины отказа от data binding подробно разобраны и объяснены. В архитектуре используется ряд интересных решений, позволяющих логично разбить программу на небольшие файлы, что в конечном счете упрощает поддержку кода.


Справочник по источникам событий в Rx

Время на прочтение4 мин
Количество просмотров20K


RxJava используется в большом количестве android-приложений, но при этом многие не знают других источников событий, кроме Observable и, может быть, Flowable. Они забывают о специализированных классах Single, Maybe и Completable, которые зачастую способны добавить больше ясности в код.

Под катом вас ждёт шпаргалка по источникам событий, которые существуют в RxJava.
Читать дальше →

MotionLayout: анимации лучше, кода — меньше

Время на прочтение10 мин
Количество просмотров36K

Google продолжает улучшать нашу жизнь, выпуская новые удобные библиотеки и API. Среди которых оказался и новый MotionLayout. Учитывая обилие анимаций в наших приложениях, мой коллега Cedric Holtz сразу же реализовал важнейшую анимацию нашего приложения — голосование в знакомствах — с использованием нового API, сэкономив при этом огромное количество кода. Делюсь переводом его статьи. 

Недавно закончилась конференция Google I/O 2019, на которой анонсировали обновления и самые свежие улучшения нашего любимого SDK. Лично мне особенно интересна была презентация Николаса Роарда и Джона Хофорда о будущей функциональности ConstraintLayout. А точнее, о его расширении в виде MotionLayout. 

После выпуска бета-версии мне захотелось реализовать анимацию знакомств на основе этой библиотеки.
Читать дальше →

Типичные ошибки при логгировании

Время на прочтение7 мин
Количество просмотров11K

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


Я думаю, практически в каждой программе есть логгирование. Более того, в ряде уже неновых приложений (а значит с морем нетривиальных условий) зачастую логи становятся жизненно важными на боевом сервере.


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

Читать дальше →

Чего мне не хватает в Java после работы с Kotlin/Scala

Время на прочтение9 мин
Количество просмотров16K
В последнее время я часто слышу о том, что Java стала устаревшим языком, на котором сложно строить большие поддерживаемые приложения. В целом, я не согласен с этой точкой зрения. На мой взгляд, язык все еще подходит для написания быстрых и хорошо организованных приложений. Однако, признаюсь, бывает и такое, что при повседневном написании кода иногда думаешь: “как бы хорошо это решилось вот этой штукой из другого языка”. В этой статье я хотел поделиться своей болью и опытом. Мы посмотрим на некоторые проблемы Java и как они могли бы разрешиться в Kotlin/Scala. Если у вас возникает похожее чувство или вам просто интересно, что могут предложить другие языки, — прошу под кат.


Читать дальше →