Впереди длинные выходные. Ещё не придумали чем заняться? Разработайте или обновите UWP приложение и участвуйте в Race to Build 2016.
Race to Build 2016 — это шанс получить билет на Build 2016!
Читать полностью »
Впереди длинные выходные. Ещё не придумали чем заняться? Разработайте или обновите UWP приложение и участвуйте в Race to Build 2016.
Race to Build 2016 — это шанс получить билет на Build 2016!
Читать полностью »
Я собираюсь рассказать об одной из тем, касающихся Apache Cordova, которая практически не освещена в рунете — как тестировать свой плагин для Apache Cordova.
В рамках этой статьи мы будем тестировать только JavaScript код, поскольку такие тесты довольно легко внедрить и зачастую их будет достаточно. Конечно, как правило, плагины содержат и нативный код для каждой из поддерживаемых платформ, который тоже неплохо было бы покрыть unit-тестами, но мы пока оставим этот вопрос за кадром, поскольку этот аспект тестирования плагинов практически не распространен и отсутствует какой-либо инструментарий для такого тестирования. В любом случае, код JavaScript, как правило, вызывает нативную логику, и поэтому наши тесты будут косвенно тестировать и реализацию под каждую платформу.
Читать полностью »
Статьи для новичков и старожилов в игровой разработке, новости геймдева и даты выхода давно ожидаемых игр. Мы просто оставим это здесь.

Читать полностью »
На этой неделе случилось важное для нас событие — вышла первая версия языка программирования Kotlin! Так как почти вся разработка Kotlin велась в Питерском офисе компании JetBrains, многиее уже знают, что такое Kotlin и пробовали его на практике, поэтому этот пост больше для комментариев: задавайте любые вопросы и команда Kotlin ответит. Мы онлайн!

И снова привет! Наш первый пост в блоге вызвал оживлённую дискуссию. Мы ожидали, что грянет буря, но масштаб её оказался грандиозным. Наша команда получила множество вопросов, которые интересны, действительно заслуживают внимания и требуют разъяснения, поскольку тема аудиорекламы затрагивает три стороны: пользователя, разработчика и рекламодателя. Когда заинтересованы все, игра должна быть честной и любые недомолвки — препятствие в работе. Итак, отвечаем.

Плакат 1927 года об эффективности размещения рекламы в трамваеЧитать полностью »

В первой части статьи мы разработали приложение для работы с github, состоящее из двух экранов, разделенное по слоям с применением паттерна MVP. Мы использовали RxJava для упрощения взаимодействия с сервером и две модели данных для разных слоев. Во второй части мы внедрим Dagger 2, напишем unit тесты, посмотрим на MockWebServer, JaCoCo и Robolectric.
Читать полностью »
Столкнувшись с задачей подключить SQLLite к своему мобильному приложению iOS через FMDB, я не нашел ни одного актуального гайда на русском языке. И тем более для Swift. В этой статье я постараюсь этого исправить.
В этом гайде будут использоваться файлы с objective-c, поэтому не надо ждать порта FMDB на Swift.
Скачать FMDB можно тут.
В FMDB три main class:
FMDatabase — представляет данных SQLite. Используется для выполнения SQL-операторов.
FMResultSet — представляет результаты выполнения запроса по FMDatabase.
FMDatabaseQueue — если вы хотите, чтобы выполнялись запросы и обновления на несколько потоков, можно использовать этот класс. Пример в 8 пункте.
Прежде чем вы сможете взаимодействовать с базой данных, она должен быть открыта. Открытие завершиться с ошибкой, если нет достаточных ресурсов или разрешения на открытие и/или создания базы данных.
if (![db open]) {
[db release];
return;
}
Шаги:
Читать полностью »
Привет! В этой статье я расскажу, как решил сделать редизайн приложения Bank of America, попутно изучая отличающуюся от российской банковскую систему США и объясняя логику изменений и улучшений.


Глобальная претензия к текущему приложению — оно выглядит несовременным, хочется его освежить и сделать «чище». Имеются проблемы с навигацией: например, вместо таб-бара используется боковое меню, что затрудняет переход между разделами. На главном экране не хватает целевых действий по продукту, а в случае с внесением средств с чека — нужно менять очерёдность экранов.
Читать полностью »
Недавно я выступал на конференции Droidcon в Париже с докладом (оригинал на французском), в котором рассматривал проблемы, возникшие у нас в Square при работе с фрагментами и возможности полного отказа от фрагментов.
В 2011-м мы решили использовать фрагменты по следующим причинам:
Activity, но при этом вы остаётесь в рамках одной Activity).
С 2011-го года много воды утекло, и мы нашли варианты получше.
Читать полностью »