Обновить
49.67

Kotlin *

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

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

Практический пример создания собственного View-компонента

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

Практический пример создания собственного View-компонента


Мне нравится Dribbble. Там есть много крутых и вдохновляющих дизайн-проектов. Но если вы разработчик, то часто чувство прекрасного быстро сменяется на отчаяние, когда вы начинаете думать о том, как реализовать этот крутой дизайн.


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

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

Паттерны и антипаттерны корутин в Kotlin

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

Паттерны и антипаттерны корутин в Kotlin


Решил написать о некоторых вещах, которых, по моему мнению, стоит и не стоит избегать при использовании корутин Kotlin.

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

[Видео] Почему взрываются ракеты, что скоро появится в Kotlin и как спасти код ревью

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


6 декабря мы провели очередной Java-митап. Там говорили вот о чём:


  • о разработке Moira — системы экстренного реагирования на инциденты (про ракеты — здесь);
  • о контрактах в Kotlin, задачах, проблемах и улучшениях для DSL;
  • о том, как роботом выбирать ревьюеров в большой команде разработчиков;
  • о том, как научить все компоненты генерировать графики и метрики на боевой среде;
  • о правильной обратной связи для обнаружения проблемных релизов.

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

Лучшие доклады JPoint 2018: Java/JVM и её перформанс, Kotlin, Spring, Docker

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

Мы уже выложили на YouTube видеозаписи докладов JPoint 2018 и специально для хаба Java на Хабре сделали традиционную подборку самых лучших из них по мнению посетителей конференции.


Как обычно, наверху «младшие» доклады, в конце — с самым высоким рейтингом. Конечно, это не значит, что один доклад намного хуже другого: если изменить методику расчета, места могут легко поменяться. В реальности, мы её и изменили, теперь используется «soft quorum» вариант рейтинга, учитывающий количество присутствовавших на докладе участников. Этот подход имеет свои минусы (например, на кейноут приходит больше людей, чем на обычный доклад, просто потому что у аудитории нет выбора), но в целом даёт более качественную картину произошедшего.


Под катом — и видеозаписи лучших докладов, и ссылки на их презентации, и короткие описания, и ссылка на полный плейлист.


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

Переход на Kotlin в Android-проекте: Tips and Tricks

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

Автор: Сергей Ешин, Strong Middle Android Developer, DataArt

Уже более полутора лет прошло с тех пор, как Google объявил об официальной поддержке Kotlin в Android, а самые матерые разработчики начали экспериментировать с ним в своих боевых и не очень проектах больше трех лет назад.

Новый язык тепло приняли в Android-сообществе, и подавляющая часть новых проектов на Android стартует с Kotlin на борту. Важно и то, что Kotlin компилируется в JVM-байткод, следовательно, полностью совместим с Java. Значит, в существующих Android-проектах, написанных на Java, тоже есть возможность (более того — потребность) задействовать все фичи Kotlin, благодаря которым он и приобрел столько поклонников.

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

Компилируем Kotlin: JetBrains VS ANTLR VS JavaCC

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

Насколько быстро парсится Kotlin и какое это имеет значение? JavaCC или ANTLR? Годятся ли исходники от JetBrains?

Сравниваем, фантазируем и удивляемся.
Читать дальше →

Современная Android разработка на Kotlin. Часть 2

Время на прочтение24 мин
Количество просмотров70K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern Android development with Kotlin (Part 2)" автора Mladen Rakonjac.

Примечание. Данная статья является переводом циклов статей от Mladen Rakonjac, дата статьи: 23.09.2017. GitHub. Начав читать первую часть от SemperPeritus обнаружил, что остальные части почему-то не были переведены. Поэтому и предлагаю вашему вниманию вторую часть. Статья получилась объёмной.

image

«Очень сложно найти один проект, который охватывал бы всё новое в разработке под Android в Android Studio 3.0, поэтому я решил написать его.»

Camunda BPM Meetup Raiffeisenbank UPD Трансляция митапа

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

Для нас очень важно формировать сообщества и делиться знаниями и опытом как внутри компании, так и во вне. Именно поэтому на регулярной основе мы проводим открытые митапы по разным направлениям. В этот раз мы открываем двери и приглашаем вас на первый митап Camunda BPM. В рамках митапа мы также хотим создать и чат Camunda BPM User Group, с чатом жить гораздо проще, ведь тогда появляется возможность что-то быстро спросить у коллег или просто скинуть интересную статью или мем. Хотите в чат? Тогда вам сюда

Kotlin, IT в Эстонии и (внезапно) туннель между Таллином и Хельсинки: интервью с Антоном Кексом

Время на прочтение12 мин
Количество просмотров6.3K
Недавно у нас в блоге вышел весьма специфичный пост про Котлин: не очень серьезный, довольно поверхностный и неожиданно бодрый. Но мы прекрасно понимаем, что критиковать технологию, потратив на её изучение несколько дней, — это моветон. И поэтому в этот раз мы решили поговорить о Котлине с человеком, который пишет на нем на проде с версии 1.0.



Сегодня названием Kotlin уже сложно кого-то удивить, особенно в Android-разработке. То ли дело в начале 2016-го: востребованность была на порядок ниже, об официальной поддержке Google ещё и речи не шло, и писать на Kotlin было уделом смелых духом. Одним из таких смельчаков стал Антон Кекс, и впоследствии он тоже уделял Kotlin много внимания (например, дважды выступал на KotlinConf). Поэтому мы решили расспросить его о том, как жизнь Kotlin-разработчика менялась со временем.

А чтобы два раза не вставать, охватили и другую тему. Антон — сооснователь эстонской компании Codeborne, практикующей extreme programming, поэтому заодно узнали, что в Эстонии с IT и каково создавать там собственную компанию.
Читать дальше →

30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году

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

30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году


В течение лета 2018 года было разработано и обновлено множество отличных Android-библиотек и инструментов.


Я составил самый новый неупорядоченный список Android-библиотек, инструментов и проектов, которые могут оказаться интересными или полезными во время вашей повседневной работы. Они также отлично подойдут для вдохновения или экспериментов.


Надеюсь, вам понравится. Давайте начнём!

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

Gradle 5.0 — что нового

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

В процессе разработки CUBA мы применяли все три основных инструмента сборки — начали с Ant, потом перешли на Maven на короткое время, а сейчас используем Gradle и, похоже, что в ближайшее время останемся с ним.


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


image

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

Пробелы победили. Перевод документации Kotlin Coding Conventions от JetBrains

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

Привет, Хабр! Предлагаю вашему вниманию авторский перевод страницы документации Kotlin Coding Conventions от JetBrains.


Оригинал документации

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

Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел

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

Мир сходит с ума. Говорят, все новые мобильные проекты на Андроиде пишут исключительно на Котлине. В наше время очень опасно не учиться новым технологиям. Вначале твои знания устаревают, ты вылетаешь с работы, живешь у теплотрассы, дерёшься с бомжами за еду и умираешь в безвестности, так и не выучив функционального программирования. Поэтому я отправился на Курсеру изучать курс Kotlin for Java Developers и начал читать книжку (привет, abreslav, yole), поспрашивал друзей сами знаете откуда и вернулся назад с некой пустотой в душе. Помогите Олегу-путешественнику найти смысл в Котлине!


  • Бонус: хаброопрос «Как вы используете Kotlin?»


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

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

Ещё один dsl на Kotlin или как я печатал PDF из react

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


Нельзя просто взять и распечатать страницу написанную на React: есть разделители страниц, поля для ввода. Кроме того, хочется один раз написать рендеринг, чтобы он генерил как ReactDom, так и обычный HTML, который можно сконвертить в PDF.

Самое сложное, что у React свой dsl, а у html свой. Как решить эту проблему? Написать ещё один!

Чуть не забыл, всё это будет написано на Kotlin, так что, на самом деле, это статья о Kotlin dsl.
Читать дальше →

Микросервисная архитектура на современном стеке Java-технологий

Время на прочтение11 мин
Количество просмотров70K
У нас были JDK 11, Kotlin, Spring 5 и Spring Boot 2, Gradle 5 с production-ready Kotlin DSL, JUnit 5, а ещё с полдюжины библиотек стека Spring Cloud для Service discovery, создания API gateway, клиентской балансировки, имплементации паттерна Circuit breaker, написания декларативных HTTP клиентов, распределённой трассировки и всего такого. Не то чтобы всё это было нужно для создания микросервисной архитектуры — only just for fun...
Читать дальше →

Декабрьские вебинары Kotlin 1.3

Время на прочтение2 мин
Количество просмотров2.1K
5 и 12 декабря JetBrains организует два вебинара, посвященных свежему релизу Kotlin 1.3. На вебинарах Роман Елизаров и Николай Иготти расскажут о том, как начать использовать корутины, Kotlin/Native и Multiplatform Projects. Андрей Бреслав ответит на вопросы зрителей о Kotlin 1.3 и планах на будущее. Задайте ваши вопросы Андрею в Твиттере с хэштегом #kotlinask_13 уже сейчас или в YouTube-чате во время вебинара.

Оба мероприятия бесплатны для участия и будут транслироваться на YouTube канале JetBrains TV. Вебинары и Q&A сессия пройдут на английском языке. Зарегистрируйтесь, чтобы получить ссылку на трансляцию перед вебинаром.

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

Kotlin: ищем Head of Marketing

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

Привет!


Снова пришло то время, когда нам пора поднимать маркетинг Котлина на новый уровень. Почему? Если коротко, мы очень выросли, и у нас очень большие амбиции.


Сегодня в маркетинге Котлина работает 2 (прописью: два) человека. Всем очевидно, что это очень мало. Результаты у них — заоблачные, но, во-первых, они зашиваются, во-вторых, один из них решил снова стать инженером и двигать вперед Machine Learning (на Котлине, разумеется). Теперь мы ищем не просто маркетолога, а человека, который сможет со временем собрать команду.


Вообще говоря, мы никогда не искали просто маркетолога. Нам нужен человек, который будет говорить с пользователями на одном языке. Это значит, что необходимо понимать девелоперов, их нужды и реалии. Нужно уметь шутить шутки для программистов, чувствовать ярость программистов и разделять их (нашу) радость. Нужно понимать, зачем люди, которые всю неделю пишут код на работе, по выходным и вечерами пишут код в хобби-проектах. Самый простой способ этого достичь: самой/самому писать код. Хотя бы какое-то время. Можно по будням :) Опыт в DevRel явно пригодится. Опыт выступлений и/или организации конференций, написания учебрных материалов, создания комьюнити разработчиков — тоже (а что, собственно, еще такое DevRel?). И очень пригодится опыт продвижения идей. Любых идей.


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

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

Жадный гном: Как я писал аналитику рынка в Lineage 2

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

Вот и наступила осенне-зимняя пора. За окном дожди и желания проводить время на открытом воздухе все меньше и меньше. И вот приходит мне сообщение от товарища "А давай поиграем в Lineage 2?". И опять я, поддавшись ностальгии, согласился. Выбрали мы свеженький сервер на ру-офе и создали персонажей.



 
В отличии от World of Warcraft в Lineage 2 совершенно другая система добычи игровой валюты. Нужно круглыми сутками охотиться на монстров с целью получения наживы. Для меня было даже открытием, что для некоторых людей RMT (Real money trading) является чем то вроде работы. Также, в игре присутствует экономика, которую формируют игроки. Иными словами, можно заработать на купи-продай или же покупать дешевые ресурсы, из них делать вещи и продавать с наценкой. Так как для нас игра остается чем то вроде отдыха именно такой способ получения игровой валюты был выбран нами.


Чтобы покупать и продавать предметы игрок должен находиться online (Скриншот сверху). Соответсвенно, кто-то хочет побыстрее продать (дешевле) а кто-то побыстрее купить (дороже). А что если разница продать — купить положительная? Как раз этот пример и будет рассмотрен в статье как итог.


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


Spoiler:
В статье будут использованы следующие технологии
Docker, DigitalOcean, NodeJs, Ktor, Prometheus, Grafana, Telegram bot notification

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

Kotlin: статика, которой нет

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

В этой статье пойдёт речь об использовании статики в Kotlin.
Начнём.
В Kotlin нет статики!

Об этом говорится в официальной документации.

И вроде бы на этом можно было бы и закончить статью. Но позвольте, как же так? Ведь если в Android Studio вставить код на Java в файл на Kotlin, то умный конвертер сделает магию, превратит всё в код на нужном языке и всё заработает! А как же полная совместимость с Java?

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

Как использовать корутины в проде и спокойно спать по ночам

Время на прочтение20 мин
Количество просмотров33K
Корутины — мощный инструмент для асинхронного исполнения кода. Они работают параллельно, общаются друг с другом и потребляют мало ресурсов. Казалось бы, без страха можно внедрять корутины в продакшен. Но страхи есть и они мешают.

Доклад Владимира Иванова на AppsConf как раз о том, что не так страшен чёрт и что можно прямо сегодня применять корутины:



О спикере: Владимир Иванов (dzigoro) — ведущий Android-разработчик в компании EPAM с 7-летним опытом, увлекается Solution Architecture, React Native и разработкой под iOS, а еще имеет сертификат Google Cloud Architect.