Обновить
50.43

Kotlin *

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

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

Интеграция Google Pay

Время на прочтение8 мин
Количество просмотров27K
Привет, Хабр!

Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — Google Pay API.

изображение с сайта https://developers.google.com/payments/

Итак, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает не Google Play), то скорее всего среди вариантов оплаты у вас есть и “Оплата картой”. А это значит, что вам каждый раз приходится отправлять пользователя вводить данные карты или на красиво сверстанные экраны с картой, или на веб-сайт вашего провайдера платежных сервисов (далее — payment processor). Уже посчитали сколько действий придется совершить пользователю, чтобы оплатить заветный заказ? Ага, а теперь представьте, что он сможет выполнить то же целевое действие всего в два тапа. Мы тоже представили и подумали, а почему бы не дать пользователям такую возможность? Основные условия успеха — продавец быть зарегистрирован в Google и payment processor должен сотрудничать с Google.
Читать дальше →

DevFest North в Санкт-Петербурге. Как это было

Время на прочтение3 мин
Количество просмотров1.5K
Конференция DevFest North впервые состоялась в Питере в сентябре 2017.
Мы успели получить множество фидбеков, выложили фотографии и видео докладов.
Настало время подвести итоги всех итогов.
Читать дальше →

Kodein — интересная альтернатива Dagger 2 для внедрения зависимостей в Kotlin

Время на прочтение8 мин
Количество просмотров15K
Здравствуйте, меня зовут Владимир, я работаю главным ИТ-инженером в СберТехе, в команде Digital Business Platform. Как-то раз за обедом мы обсуждали плюсы-минусы Dagger 2 и то, что хотели бы поменять в своей реализации. Нас много, и кода мы, соответственно, тоже пишем много, так что на тот момент в нашем приложении уже было 100500 методов и полтонны dex-файлов. Пораскинув мозгами, пришли к выводу, что писать меньше у нас не получится, зато можно уменьшить количество генерируемого кода при компиляции. Так было принято решение искать альтернативу существующему мастодонту от компании Google.


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

Vibrant.kt — быстрое прототипирование и разработка распределенных приложений (DApps) на JVM

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

Нихао!


Введение


Я долго ничего не писал, потому что ЕГЭ само себя не сдаст, но к Балтийскому конкурсу я не мог не написать чего-нибудь классное. Хороших идей из ниоткуда я выдавить не мог, поэтому решил окунуться в абсолютно незнакомую мне на тот момент(пол месяца назад) тему, в мир блокчейна, криптовалют, смарт контрактов и других умных английских слов. На уроках утыкался в телефон, читая множество текстов про блокчейн, peer2peer сети и все такое, постепенно разбираясь. Все пошло легче, когда я начал писать простые прототипы на Javascript'e: в очередной раз убеждаюсь, что в коде все понятнее, нежели на тексте. В итоге, когда я вроде разобрался, я определился с темой работы, которую видно в заголовке статьи.

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

Выразительный Kotlin. Extensions

Время на прочтение3 мин
Количество просмотров7.9K
Никто не любит повторяемый код. Тем не менее, существуют конструкции, которые прижились и укореннились в программировании довольно давно, не смотря на эту самую повторяемость.
Есть такая часто используемая конструкция биндинга данных в android:

fun bindCell1(view: View, data: Data) {
    view.cell1_text.setText(data.titleId)
    view.cell1_icon.setImageResource(data.icon)
}

Очевидный метод, у которого есть одна очень досаждающая мне неряшливость — каждый раз необходимо указывать ссылки view. и data. Каждая строка содержит 10 символов, которые очевидны.
Читать дальше →

Тестирование с помощью JUnit 5 на Kotlin

Время на прочтение8 мин
Количество просмотров52K
В этой статье будут рассмотрены основные возможности платформы JUnit 5 и приведены примеры их использования на Kotlin. Материал ориентирован на новичков в Kotlin и/или JUnit, однако, и более опытные разработчики найдут интересные вещи.
Читать дальше →

Полное руководство по Splash Screen на Android

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

Перевод статьи Elvis Chidera "The (Complete) Android Splash Screen Guide". Но для начала немного истории о проблеме Splash Screen на Android.

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

Больше чем Java?

Время на прочтение11 мин
Количество просмотров14K
Закончив очередной проект на Java, я попытался разобраться в причинах накопившегося раздражения. Да я люблю Яву и все такое, но… Есть несколько «но», которые досаждают. Приходится писать довольно много шаблонного кода, с генерацией которого вполне может справиться сам компилятор, IDE, конечно, выручает, но это не решение проблемы, а скорее костыль: если что-то изменилось, нужно перегенерить и вычистить и т.д. Проверки на null! Это зубная боль, по-хорошему, нужно делать их всегда дабы не нарваться на «нежданчик» в виде NullPointerException в самый неподходящий момент. Короче говоря, появилось желание посмотреть, что еще появилось в природе и сможет ли это нечто заменить мне Java. Дальше имеет смысл описать участников данного сравнения. Сразу скажу, что не претендую на полноту анализа, к сожалению, у меня было слишком мало времени, чтобы как следует познакомиться с каждым языком.

Обязательные требования к претендентам, которые у меня были:

• Язык общего назначения
• Кроссплатформенность (хотя бы Windows/Linux)
• Стабильность
• Статическая типизация
• Автоматическая уборка памяти
• Поддержка полноценной объектно-ориентированной парадигмы
• Хорошая поддержка в IDE (Eclipse, IDEA или на худой конец NetBeans)
• Безгемморойный доступ к существующим фреймворкам/библиотекам
• Производительность на уровне Java
Читать дальше →

Защищенность переменных в Kotlin на примере Java

Время на прочтение4 мин
Количество просмотров7.1K
Совсем недавно у меня состоялся разговор с коллегой по поводу новых языков программирования. После того, как разговор зашел о Kotlin, мой друг обронил фразу «Там нулл нельзя передавать, если не указал, что переменная может быть nullable». Эта фраза сильно озадачила меня — а действительно ли, так важны киллер фичи Котлина в сравнении с уже известными языковыми возможностями Явы? Размышления на этот вопрос вылились в целый комплекс примеров, в рамках которых я хочу показать (в первую очередь самому себе, наверно), зачем же нужны все эти новые языковые возможности.

Самая скучная часть разработки на уже обкатанном языке — рутинные задачи. Например, показ картинок. Абсолютно рядовая задача, которая в любом проекте обрастает рядом условностей.
Читать дальше →

Туториал по созданию трекера криптовалют под андроид на Kotlin

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

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

  • Как делать Get запросы с Retrofit
  • Retrofit и Rx
  • RecyclerView с Котлином
  • Извлечение данных с api
Читать дальше →

Вы все еще кодите на Java? Пора измениться

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

Я очень долго не хотел смотреть в сторону Котлина. Но вот когда я листал список вакансий я стал все чаще замечать графу: Плюсом также будет знание Kotlin. И как-то вечерком увидел вот эту статью на хабре: 8 учебных проектов. Мне там приглянулся трекер криптовалют. Но как-то было слишком просто: обыкновенный Get-запрос, совсем не интересно. И здесь я решил попробовать написать все это на Kotlin. Трекер криптовалют стал тренировочным полигоном для изучения Котлина. После создания этой приложухи было вынесено несколько важных уроков.

Всем кому интересно прошу под кат.
Читать дальше →

Kotlin Night Moscow — видео, фото, презентации

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

Вот и прошла первая встреча Kotlin Night в Москве при поддержке JetBrains. В офисе Avito собрался полный зал тех, кто интересуется этим языком программирования, ещё несколько сотен разработчиков присоединились к видеотрансляции, а Belarus Kotlin User Group даже организовали совместный просмотр митапа. Встреча удалась! Под катом делимся видеозаписями выступлений, ссылками на фотоотчёт и слайды.


Пишем DSL в Koltin

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

Небольшое вступление


Всем привет! Частенько зависаю на Medium и нахожу уйму полезных статей от зарубежных разработчиков. В один из таких дней искал для себя что-нибудь по DSL в Kotlin и наткнулся на серию статей о том, что такое DSL в Kotlin и как с этим работать. До прочтения я имел поверхностное понятие о DSL, так как совсем изредка сталкивался ними. Во время чтения статьи мне понравилась простота описания и подачи примеров от автора так, что по окончанию прочтения я решил перевести эту пару статей для вас. Разумеется, с одобрения автора :) Ну что ж, начнём.
Читать дальше →

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

Отчет со встречи Android Devs Meetup 22 сентября

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


22 сентября в нашем офисе прошла очередная встреча Android Devs Meetup. Для одного вечера программа была насыщенная, целых четыре доклада. Публикуем видеозаписи для тех, кто не смог приехать на встречу лично.

Kotlin 1.2: общий код для JVM и JavaScript

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

Вчера компания JetBrains выпустила релиз Kotlin 1.2. Новая версия — большой шаг на пути к тому, чтобы сделать Kotlin наиболее удобным инструментом для разработки всех компонентов современного приложения.


В версии Kotlin 1.1 мы официально выпустили поддержку JavaScript — возможность транслировать код на Kotlin в JS и выполнять его в браузере. В этой версии мы добавляем к этому возможность переиспользования кода между JVM и JavaScript. Теперь вы можете использовать одну и ту же реализацию бизнес-логики во всех компонентах вашего приложения — бэкэнде, фронтэнде в браузере и мобильном приложении под Android. Мы также работаем над библиотеками, которые в этом помогают — в частности, над кросс-платформенной библиотекой для сериализации.


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

Наипростейший RESTful сервис на Kotlin и Spring boot

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

Со времен релиза Kotlin прошло уже более года, да и Spring boot претерпел изменения. Наткнувшись на статью о том как написать простой RESTful сервис используя Kotlin и Spring boot, захотелось написать о том как же это можно сделать сегодня.


Эта небольшая статья ориентированна на тех кто никогда не писал код на Kotlin и не использовал Spring boot.

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

Не используйте лямбды в качестве слушателей в Kotlin

Время на прочтение10 мин
Количество просмотров15K
Привет, Хабр! Представляю вашему вниманию перевод статьи Don't use lambdas as listeners in Kotlin автора Alex Gherschon

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

Kotlin Night Moscow в Avito 25 ноября

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

Всем привет! Хотим пригласить читателей Хабрахабра на Kotlin Night Moscow, мероприятие, которое проходит при поддержке JetBrains. В субботу, 25 ноября, в московском офисе Avito поговорим о монадах, DSL для автоматизации экспериментов, перспективах Kotlin Native и подходах к сокращению количества boilerplate-кода. В митапе примут участие представители компаний Avito, Tutu.ru, Joom, Одноклассники. Приходите обмениваться опытом и обсуждать профессиональные вопросы! Если вы не в Москве — не расстраивайтесь, в день мероприятия будет организована прямая видеотрансляция. Под катом — описание докладов и все пароли и явки.


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

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

Время на прочтение15 мин
Количество просмотров122K
Данная статья является перевом статьи от Mladen Rakonjac

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



  1. Android Studio 3
  2. Язык программирования Kotlin
  3. Варианты сборки
  4. ConstraintLayout
  5. Библиотека привязки данных Data Binding
  6. Архитектура MVVM + паттерн repository (с mapper'ами) + Android Manager Wrappers
  7. RxJava2 и как это помогает нам в архитектуре
  8. Dagger 2.11, что такое внедрение зависимости, почему вы должны использовать это.
  9. Retrofit (Rx Java2)
  10. Room (Rx Java2)

Каким будет наше приложение?


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

Я попытаюсь объяснить как можно больше строк кода. Вы всегда можете посмотреть код, который я опубликовал на GitHub.
Читать дальше →

Android Oreo: чего ждать разработчикам?

Время на прочтение8 мин
Количество просмотров21K
Есть ли в Android Studio 3.0 что-то революционно новое? В чем основной недостаток Java 9 и каковы плюсы Kotlin? Про это, а также про профайлеры, компиляторы, IoT и многое другое — в нашем интервью с Денисом Неклюдовым — первым разработчиком из России, получившим статус GDE.


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