Как стать автором
Поиск
Написать публикацию
Обновить
49.37

Kotlin *

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

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

Щупаем Kotlin (и чуть-чуть Gradle) на примере Отправлялки-длинных-твитов (открытые исходники)

Время на прочтение5 мин
Количество просмотров13K
Я никогда не был любителем HelloWorld и туториалов. В них как правило решаются проблемы, которые данным инструментом решаются хорошо, а вот острые углы и недостатки деликатно обходятся. По-настоящему пощупать язык или библиотеку можно только на реальном приложении, написании «бизнес-кода», а не «сервиса фабрики сервисов фабрик моделей сервисов». Пример такого простого приложения — на видео. Ну что, поехали?


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

Kotlin для Android

Время на прочтение7 мин
Количество просмотров36K
Наверное, из тех, кто интересуется разработкой под Android, только ленивый не слышал про Kotlin. На хабре про него уже писали: вот статья, вот видео с MBLTdev. Язык активно развивается, но новых статей все нет. Я решил, что пора это исправить.

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

Анонс конференции Mobius 2015: доклады по iOS, Android и Mobile Security

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

3 апреля 2015 года в Санкт-Петербурге пройдёт конференция Mobius для программистов, разрабатывающих ПО под Android, iOS, Windows Phone и другие мобильные платформы.



Доклады конференции будут сугубо ТЕХНИЧЕСКИМИ. В программе:
  • более 20 технических докладов от экспертов в области мобильной разработки;
  • Мастер­классы от гуру программирования под iOS и Android;
  • Зоны свободного общения — возможность неформального контакта с участниками.


На конференции НЕ БУДЕТ:
  • докладов про маркетинг и продвижение мобильных приложений;
  • презентаций про инвестиции, стартапы, бизнес-­модели, монетизацию и т.п.;
  • лекций про внедрение Agile и других методологий разработки;
  • коворкингов, хакатонов и прочих всем надоевших баззворд-активностей.


Из похожих конференций в России есть только московская конференция #MBLTDev от компании e-Legion и… и всё. Все остальные конференции занимаются играми, продвижениями, трафиками и другими не-девелоперскими делами. Так что приятно, что в этом поле появился хоть кто-то, кроме нас :) Потому что на других конференциях, конечно, попадаются девелоперские доклады, а иногда и целые секции, но этого, к сожалению, все равно мало. Особенно на фоне роста числа технических мобильных конференций в Европе и США.

Подробнее о Mobius 2014 и Mobius 2015 ...

Дайджест интересных материалов для мобильного разработчика #88 (26 января-1 февраля)

Время на прочтение3 мин
Количество просмотров13K
Много-много интересных материалов: новый стэнфордский курс про разработку на Swift, эмулятор Pebble, тормоза в Android 5, статистика посещений App Store и Google Play — новости и статьи на любой вкус в очередном дайджесте.

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

Пример приложения с использованием библиотеки AQuery

Время на прочтение11 мин
Количество просмотров13K
Нас постоянно спрашивают, почему мы используем библиотеку AQuery в своих проектах. В конце концов нам надоело отвечать и мы решили показать, на что способна AQuery в бою.

Но писать какой-то странный псевдокод в духе hello world скучно и неинтересно и поэтому мы решили сделать какое-нибудь небольшое, но полезное приложение. Недавно от Хабра отделился проект Мегамозг и в комментариях к новости высказывали предложение объединить RSS поток со всех ресурсов. Этим мы и займемся.

В конце получится такой прототип приложения IT News (rss с хабра, гиктаймс, мегамозга и с силиконруса/роем упорядоченные по дате):

image

Ссылки для торопыжек:
github: github.com/recoilme/itnews
google play: play.google.com/store/apps/details?id=org.freemp.itnews
Пишем агрегатор новостей на AQuery за пару часов

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

Время на прочтение1 мин
Количество просмотров12K
Выкладываем доклад мобильного архитектора ТКС Банка Дмитрий Тарасова «Практический пример переиспользования кода. Как повысить качество и ускорить разработку» с конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября.


Презентация

В разработке может сложиться ситуация, когда у вас есть несколько приложений с общей логикой и поведением интерфейса. Дмитрий Тарасов рассказывает о пути, по которому развивалась разработка мобильного банка и кошелька ТКС для Android. Откровенный рассказ о последствиях нетехнологичных решений в стиле copy-paste общего кода из приложения в приложение. Следующий шаг — общая библиотека. Как ее оформить? В виде jar? Оформив, как ее подтягивать в проекты? Grandle или subtree/submodule? Что делать с неравномерным развитием потребителей библиотеки? Решить этот вопрос выстраиванием правил ветвления? Как это вписать в стандартную связку bug tracker — code review — CI (в случае ТКС Jira + Stash + TeamCity)? Что будет, если к изначальным двум приложениям добавится еще два, причем у последнего будет другой backend? Смотрите видео выступления.
Читать дальше →

Казуальные игры на Libgdx, тонкие моменты в разработке

Время на прочтение7 мин
Количество просмотров18K
Статья будет полезна как начинающим, так и опытным разработчикам, т.к. она охватывает и базовые моменты разработки игр, и нетривиальны проблемы, которые приходилось решать. Если вас заинтересовало, прошу под кат. Так же разработчикам на libdgx будут полезны ссылки, приведенные в конце статьи.
Читать дальше →

Трилатерация c помощью iBeacon

Время на прочтение2 мин
Количество просмотров14K
В конце октября в Москве прошла конференция мобильных разработчиков #MBLTDev, на которой я рассказывал про трилатерацию с помощью iBeacon.

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


Презентация
Читать дальше →

Современные способы аутентификации и безопасность iOS-устройств

Время на прочтение1 мин
Количество просмотров11K
Сегодня мы выложим два новых доклада с нашей конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября в Москве.

Оба доклада посвящены безопасности: один от главы EMEA PayPal Тима Мессершмидта про современные виды аутентификации, второй – от ведущего инженера по безопасности viaForensics Андрея Беленко про безопасность iOS-устройств.

Тим призвал отказывать от паролей и рассказал, чем их можно заменить. «8,5% пользователей используют в качестве пароля Password или 123456 45% уходят с сайта вместо того, чтобы восстановить пароль или ответить на секретные вопросы. — сказал Тим. — Для повышения безопасности мы в PayPal предлагаем использовать носимые устройства или аутентификацию без пароля (например, OpenID).»


Презентация
Читать дальше →

Дайджест интересных материалов для мобильного разработчика #82 (1-7 декабря)

Время на прочтение3 мин
Количество просмотров11K
В новом дайджесте автоматизация тестирования iOS приложений, новая серия «программирования мышкой» в Swift, Kotlin для Android и локализация приложений для китайского рынка, истории фееричных провалов и новый фреймворк для гибридных приложений от AppGyver. В общем, много всего разного и интересного.

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

Kotlin для Android, или лёгкий способ перестать программировать на Java

Время на прочтение1 мин
Количество просмотров40K
На нашей конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября в Москве, продуктолог компании JetBrains Илья Рыженков рассказал доклад о языке программирования под Android Kotlin.

Kotlin был разработан в компании JetBrains и публично представлен в 2011 году. В 2012 был открыт исходный код.


Презентация

Илья рассказал про историю создания языка, преимуществах программирования на Kotlin, отличия Kotlin от Java и о том, что на нем можно делать. А также показал несколько примеров кода на Kotlin для платформы Android.
Читать дальше →

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Время на прочтение8 мин
Количество просмотров11K
Москва • 28 октября 2014 • Digital October

Хоть и с опозданием, решил поделиться с вами своими впечатлениями от посещения #MBLTDev 2014. Отличная конференция, надеюсь, кому-то пригодятся мои заметки.



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

Возвращение Джокера: как прошла главная российская Java-конференция

Время на прочтение6 мин
Количество просмотров19K
Год назад в Петербурге впервые прошла конференция Joker, и на Хабрахабре появился подробный текст об этом. Теперь она вернулась с еще большим размахом, подтверждая делом свою заявку на статус «главной Java-конференции в России». Организаторы, возглавляемые Алексеем Федоровым (@23derevo), позвали меня оценить результат своей работы. Сразу оговорюсь, что я не Java-программист, а IT-журналист, поэтому далеко не во все технические детали докладов мог вникнуть — но того, что понял, было достаточно для выводов.



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

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

Опубликована финальная программа конференции мобильных разработчиков #MBLTDev

Время на прочтение2 мин
Количество просмотров3.2K
На следующей неделе, 28 октября, в Москве пройдет наша первая конференция мобильных разработчиков #MBLTDev. В течение трех месяцев мы искали спикеров, отбирали доклады, следили за новинками в сфере мобильной разработки, чтобы сделать для вас интересную конференцию с уникальными докладами.

Мы собрали экспертов из Twitter, PayPal, ВКонтакте, ТКС банка, Одноклассников, Soundcloud, Artsy, Parallels, Google, Intel, ViaForensics, Aviasales и Realm, которые представят доклады про кроссплатформенную разработку, трилатерацию с помощью iBeacon, безопасность мобильных устройств, использование носимых гаджетов для аутентификации, программирование на Kotlin и Swift и многое другое.



Итак, представляем вашему вниманию финальную программу #MBLTDev.
Читать дальше →

TeaVM — ещё один способ запускать Java в браузере

Время на прочтение7 мин
Количество просмотров18K
Уважаемые читатели! Хочу поделиться с вами своим open-source проектом, над которым я работаю в своё свободное время уже достаточно давно, TeaVM. TeaVM представляет собой транслятор из байткода Java в JavaScript. Существует несколько попыток создать JVM на JavaScript, одна из самых удачных — Doppio. Однако, кроме академической, никакой ценности они не представляют, так как скорость интерпретации байт-кода оставляет желать лучшего. Более того, для интерпретации байткода необходимо как минимум загрузить этот байткод в браузер, а это вырождается в загрузку десятков мегабайт class-файлов.

В отличие от них, TeaVM не интерпретирует байткод, а генерирует JavaScript, который выполняет ровно то, что делал бы байткод, будь он запущен в реальной JVM. Проще говоря, TeaVM декомпилирует байткод Java, но не обратно в Java, а в JavaScript. Разумеется, всё это верно до определённых пределов. Во-первых, в JavaScript попросту отсутствуют некоторые вещи, привычные Java-разработчикам, такие как потоки, полноценная поддержка Юникода (например, поддержка классов символов, регулярные выражения), блокирующий ввод-вывод. Во-вторых, это обусловлено требованиями, которые я предъявлял к компилятору. Например, в TeaVM очень ограничена поддержка reflection. Это следствие одного из преимуществ TeaVM — сравнительно небольшой размер генерируемого файла. Нет, TeaVM не генерирует минимально возможный JavaScript, однако и не станет генерировать огромные многомегабайтные скрипты на каждый чих. Reflection делает невозможным какой-либо статический анализ, поэтому было принято решение от него отказаться.

Прежде чем я продолжу, я хочу для начала показать, на что способен TeaVM. Во-первых, он способен в реальном времени симулировать физику. Во-вторых, он ещё способен по этой физике рисовать красивые картинки в Canvas. Можно увидеть, что JavaScript-файлы сравнительно небольшие. Кстати, обсчёт физики я сам не реализовывал, я всего лишь взял имеющуюся библиотеку JBox2D.
Читать дальше →

Вторая волна спикеров на конференцию мобильных разработчиков #MBTLDev

Время на прочтение2 мин
Количество просмотров2.8K
Через две недели, 28 октября, в Москве пройдет первая конференция мобильных разработчиков #MBLTDev. Эксперты из мировых IT компаний таких, как PayPal, ВКонтакте, Artsy, Parallels, ТКС банка, Typhoon, Soundcloud, Intel, ViaForensics, Одноклассников, Aviasales, Realm, расскажут про особенности использования и синхронизации в iCloud, кроссплатформенную разработку, программирование на Kotlin и Swift, трилатерацию с помощью iBeacon и многое другое.



В прошлом посте мы рассказали вам о первых трех спикерах конференции и их докладах. Сегодня мы представим вам еще четверых экспертов и расскажем подробнее о их докладах
Читать дальше →

Статистика Github

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

О публикации кода на Github или другом открытом хостинге часто говорят, как о такой живительной эвтаназии, после которой патчи, фиксы, сообщения о проблемах и прочие коммиты от сторонних разработчиков польются рекой. У меня пока противоположный опыт. В парочку моих относительно заметных проектов вообще никто и ничего реально не привнес, не говоря уж об остальных проектах. Более того, я несколько раз делал очень серьезные изменения/улучшения в чужие проекты, но их авторы морозились и не приняли изменения. Исходя из этого я развил теорию: мол, вся эта открытость и коллаборация — это красивые слова, реально все пилят что-то свое и зарабатывать деньги или пиар кому-то другому совершенно не горят желанием. Чтобы проверить теорию, я посчитал кое-какую статистику по всем репозиториям на Github, у которых больше 700 звездочек, таких чуть больше 4 тысяч.

Ни одной картинки, но много больших таблиц

Полезные материалы для мобильного разработчика #64 (28 июня-3 августа)

Время на прочтение3 мин
Количество просмотров12K
Чем запомнилась прошедшая неделя: Яндекс объяснил, как проверять безопасность мобильных приложений, глава Минкомсвязи предложит Apple раскрыть свои исходные коды, сама Apple открыла iAd в России и собственную CDN по всему миру, Intel обновил XDK, Wooga объяснила, как попасть в мобильные топы. Все это и многое другое в еженедельном дайджесте материалов о мобильной разработке.

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

Пишем на Kotlin под Android

Время на прочтение7 мин
Количество просмотров99K
Года два назад я обнаружил, что в Android Market нет удобных мне приложений для учета времени, затраченного на разные проекты. Как настоящий лентяй, я решил не искать требуемое, а написать его сам. Это оказалось несколько сложнее, чем казалось вначале, и я все забросил в режиме вялотекущего хобби воплощение моего желания прожило больше года, медленно продвигаясь от идеи к альфа-версии.

И тут вдруг добрые люди предложили мне рассказать, как писать под Android на Kotlin'e. Мне показалось, что это добрый знак, и я быстро переписал приложение на Kotlin, закончил его и выложил в Google Play.

Важное уточнение: эта статья — только про то, как писать под Android на Kotlin'e. Интересно будет только тем, кто хочет попробовать Kotlin, и тем, кто хочет понять, зачем его пробовать. Приложение, которое я написал — очень-очень простое (и само по себе никак не относится к JetBrains). В его коде гарантированно можно что-то улучшить, оно выложено на Github только для примера, а не в качестве образца восхитительного кода. Оно работает, и если вам хочется его попробовать, то поставить можно отсюда. Но еще раз: это — демо, его цель — быть не совершенным приложением, а введением в Kotlin под Андроид.

Опять что-то новое. И зачем мне это знать?



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

Hackathon@JetBrains 2014

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


Прошло уже больше года с тех пор, как в нашей компании прошел первый хакатон, давший жизнь новым проектам. За это время “идеафон” (тот самый брутально-музыкальный инструмент, состоящий из газовых труб и молоточков, управляемых с помощью Arduino) посетил несколько выставок и продолжал вдохновлять наших разработчиков на новые идеи.

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



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

Как это было

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