Рубрика «Разработка под android»

Как мы замахнулись на мобильный fast paced шутер: технологии и подходы - 1

Год назад у нас в компании был один проект — мобильный шутер War Robots с относительно медленными, но красочными и напряженными боями. Игра продолжает развиваться, у нее десятки миллионов установок и игроков по всему миру, постоянно выходят апдейты. В какой-то момент мы захотели сделать динамичный шутер на Unity со скоростями, сравнимыми с Overwatch, CS:GO или Quake. Но реализовать задуманное для мобильных платформ (в первую очередь iOS и Android) на основе War Robots при текущих архитектуре и подходах было практически нереально.

Мы понимали, как это сделать в теории — есть много статей, презентаций на YouTube, детально рассказывающих о том, как написать шутер, как работать с сетью, какие возникают проблемы и как их решать. Здесь нет Rocket Science, все эти подходы придумали еще 30 лет назад и за это время они особо не поменялись. НО: у нас не было практики.

Забегая вперед, скажу — нам удалось реализовать задуманное. Мы создали для мобильных платформ динамичный быстрый шутер, который сейчас находится в бета-тестировании и активно дорабатывается. И мне очень хотелось бы всем этим поделиться. Это первая, обзорная статья с перечислением и кратким описанием практически всего того, что мы используем (прошу не путать с другим нашим проектом в разработке, технологии и подходы в котором похожие, но отличаются в деталях).Читать полностью »

Изучать программирование просто читая статьи и книжки не очень интересно и продуктивно. Нужна практика, причем желательно интересная и полезная. Идея появилась спонтанно, аналогов не нашел. Так я решил сделать мобильной приложение c тестами по программированию. О том где я возьму контент для него я тогда не думал, если бы думал, то наверное его бы не было.

Как я тесты по программированию делал, мой маленький TIOBE и немножко долларов - 1
Читать полностью »

Сегодня мы продолжаем обсуждать прошедший Google I/O, производительные API, вместе с Кармаком вспоминаем Джобса, рисуем формы и копаемся в пользователях. Присоединяйтесь!

Дайджест интересных материалов для мобильного разработчика #253 (14 мая — 20 мая) - 1Читать полностью »

Сегодня поговорим о том, что пользователям нравится в Xamarin, нашем инструменте для кросс-платформенной разработки мобильных приложений. Кроме того, затронем и недостатки. Кстати, под катом вы найдете много кода и показательные примеры, а не только текст с перечислением. Присоединяйтесь!

7 достоинств и 2 недостатка Xamarin - 1Читать полностью »

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

Дайджест интересных материалов для мобильного разработчика #252 (1 мая — 13 мая) - 1Читать полностью »

Одной из проблем, с которыми сталкивается разработчик немного подразросшегося приложения — навигация между экранами. Когда сценарии становятся нелинейными, уже тяжело обойтись стандартными startActivity и changeFragment. Эту проблему каждый решал по-своему: делал какое-то свое решение для навигации, использовал чужое решение (к примеру, Cicerone) или же оставлял все как есть и городил кучу флагов и if else. Это очень огорчало инженеров Google, и вот уже на Google I/O 2018 появилось решение Navigation, которое идёт в комплекте с остальными Архитектурными компонентами!

В данной статье мы разберемся, что вообще требуется от фреймворка для навигации, познакомимся с тем, как устроено решение от Google и какими абстракциями оно оперирует.

Навигация с архитектурными компонентами от Google. Часть 1. Знакомство - 1

Читать полностью »

Как понять, что конференция сделана идеально? Конечно же, поучаствовать в ее организации!

От дополненной реальности до Kotlin: как прошёл Mobius 2018 Piter - 1

Конференция Mobius проходит в Питере не первый год, и у нас есть традиция — каждый раз писать на Хабр краткий отчет о произошедшем. Обычно такие отчеты пишут участники и спикеры, но на этот раз его напишу я — как ведущий интервью.

Под катом будет краткая хроника событий с комментариями и фотографиями. Осторожно, трафик: фоточки в относительно хорошем качестве.
Читать полностью »

Большинство владельцев смартфонов, планшетов и других гаджетов ежедневно потребляют огромное количество цифровой информации, включая медиа: изображения, музыку и, конечно же, видео. На последнем остановимся поподробнее. Очень важно не заставлять пользователей ждать контент, особенно когда приложением ежедневно пользуются миллионы людей. В приложении iFunny, над которым мы работаем, очень много видеоконтента, и мы подумали, что скачивать видео целиком — долго, неинтересно и не масштабируемо. А что, если в ближайшем будущем потребуется загрузить видео длительностью не в 30-60 секунд, а в 5-10 минут? Заставлять пользователя ждать полминуты, пока видео скачается? А если соединение плохое? Так и интерес к приложению потерять недолго. Поэтому мы решили сделать faststart-видео. Подробности под катом.

«Стартуем! Я сказала: стартуем!», или как мы реализовывали работу с faststart-видео под Android - 1

Читать полностью »

Очередной митап для android-разработчиков в офисе SuperJob.

image

Спикеры и темы:

Анатолий Шуколюков, старший разработчик SuperJob, с докладом «Создание анимаций с помощью Constraint Layout и ConstraintSet»

«Расскажу о том, как используя иструмент создания сложных UI интерфейсов ConstraintLayout, используя минимум кода, создавать красивые анимации и переходы»
Читать полностью »

Есть ли жизнь без архитектуры? - 1

Основная часть кода большинства современных приложений наверняка была написана ещё во времена Android 4.0. Приложения пережили время ContentProvider, RoboSpice, различных библиотек и архитектурных подходов. Поэтому очень важно иметь архитектуру, которая будет оставаться гибкой не только к функциональным изменениям, но и готова к новым веяниям, технологиям и инструментам.

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

Читать полностью »