
Чтобы полностью раскрыть все преимущества Kotlin, пересмотрим некоторые подходы, которые мы используем в Java. Многие из них могут быть заменены на лучшие аналоги из Kotlin. Давайте посмотрим на то, как мы можем написать идиоматичный код на Kotlin.

Чтобы полностью раскрыть все преимущества Kotlin, пересмотрим некоторые подходы, которые мы используем в Java. Многие из них могут быть заменены на лучшие аналоги из Kotlin. Давайте посмотрим на то, как мы можем написать идиоматичный код на Kotlin.

Достаточно давно появилась идея создать независимое сообщество Android разработчиков Москвы, мы планируем проводить мероприятия на площадках различных компаний и создавать сообщество от разработчиков и для разработчиков. Самое главное – мы планируем проводить подобные мероприятия регулярно. Поэтому мы сделали MOSDROID и спешим пригласить вас присоединиться к первому митапу, который состоится в московском офисе Kaspersky Lab, 20 мая в 17:45.
В программе встречи три доклада, подробности читайте под катом
Читать полностью »

Слушая доклады на IT-конференции, можно не только узнать много конкретной информации из каждого, но и увидеть более общую картину: вместе доклады говорят о том, чем в данный момент живёт и интересуется индустрия.
В Петербурге на прошлой неделе состоялся Mobius 2017 — как прошло мероприятие, и какие общие выводы о мобильной разработке в 2017-м можно сделать по рассказанному там?
Недавно в бой вышел первый проект, где я получил работу джуниора, и мы с коллегой запилили в нашем сервисе такой вот «калькулятор ожиданий джуна». Из первых 47 ответов мы узнали, что 91% респондентов ждет интересного проекта, а 38% — жаждет реального опыта.

Пощупать и оставить свой ответ можно тут
Так и родилась идея помочь нашему джуну: взяли свой родной регион (сами мы ростовские), да и составили список тех, кто регулярно предлагает тут оплачиваемые стажировки с возможностью дальнейшего трудоустройства.
Читать полностью »

Приглашаем Android-разработчиков на шестой Android Devs Meetup, который состоится в московском офисе Mail.Ru Group. Мы обсудим фичи мобильной разработки для Android от разработчиков Одноклассников, а также интересные особенности языка программирования, который сейчас интересует многих разработчиков — Kotlin — на примерах из практики JetBrains, Splyt и Avito. В программе встречи четыре доклада, подробности читайте под катом.
Читать полностью »
Очень часто приступая к разработке приложения мы, под давлением менеджера берем один из распространенных паттернов разработки и быстро кодим, чтобы получить живой прототип за день-другой. Вроде все работает, уходит в прод и все довольны.
Вот только потом, когда встает вопрос о поддержке, рефакторинге и введении новых фич оказывается, что в контроллерах у нас тонны кода, количество boilerplate застилает 4к экран, а вкорячивать новые фишки сложнее, чем переписать все снова. И вот вы уже снова перепиливаете все в стиле *уяк-*уяк и в продакшн…
А может стоило выделить время и выбрать не просто модную, а подходящую вашей задаче архитектуру?

Под катом ответы на распространенные вопросы и некоторые советы, которые помогут создать качественный продукт.
Продолжение начатой в статье с подведением итогов JBreak и JPoint темы Java-конференции JPoint 2017, проводившейся 7-8 апреля 2017 года в Москве стараниями JUG.ru Group.
Ещё больше фотографий, подробностей о докладах и больше впечатлений.
Количество технологий, библиотек увеличивается с каждым днем, и зачастую можно потеряться в выборе стека технологий и архитектуры для старта или развития вашего мобильного проекта. Минимизировать риски однозначно можно, один из вариантов — это прислушаться к мнению специалистов по Android-разработке.

Именно поэтому мы обратились к Денису Неклюдову (Android GDE) и Степану Гончарову, Android-разработчикам в 90Seconds.com. В интервью будут затронуты несколько важных тем, от архитектуры мобильного приложения до применения библиотек Rx в проектах. Итак, начнем…
Пишите на Java и ждёте асинхронные вызовы API прямо во фрагменте или Activity? Используя анонимные классы? В этой статье я расскажу, как Kotlin позволяет это сделать без вреда для GC и возможных IllegalStateException.

В данной статье приведёна работа со слабыми ссылками на примере ожидания асинхронных вызовов из компонентов Android приложения. Однако данный опыт применим и для других ситуаций, когда требуется использовать слабые ссылки.

Предлагаю вашему вниманию перевод оригинальной статьи Роберта С. Мартина.
За последние несколько месяцев я попробовал два новых языка. Swift и Kotlin. У этих двух языков есть ряд общих особенностей. Действительно, сходство настолько сильное, что мне стало интересно, не является ли это новой тенденцией в нашей языкомешалке. Если это действительно так, то это тёмный путь.
Оба языка включают в себя некоторые функциональные характеристики. Например, в них обоих есть лямбды. В целом, это хорошая штука. Чем больше мы узнаем о функциональном программировании, тем лучше. Эти языки далеки от по-настоящему функционального языка программирования; но каждый шаг в этом направлении — хороший шаг.
Проблема в том, что оба языка сделали ставку на сильную статическую типизацию. Кажется, оба намерены заткнуть каждую дыру в своём родном языке. В случае со Swift – это странный гибрид C и Smalltalk, который называется Objective-C; поэтому, возможно, упор на типизацию понятен. Что касается Kotlin – его предком является уже довольно строго типизированная Java.
Я не хочу, чтобы вы думали, что я против статически типизированных языков. Я не против. Есть определенные преимущества как для динамических, так и для статических языков; и я с удовольствием пользуюсь обоими видами. Я предпочитаю динамическую типизацию, и поэтому я иногда использую Clojure. С другой стороны, я, вероятно, пишу больше Java, чем Clojure. Поэтому вы можете считать меня би-типичным. Я иду по обеим сторонам улицы — если так можно выразиться.
Дело не в том, что меня беспокоит, что Swift и Kotlin статически типизированы. Скорее меня беспокоит глубина статической типизации.Читать полностью »