В 2015-м, спустя восемь лет после появления первого айфона, может легко показаться, что мы уже знаем все важное о мобильных устройствах и разработке для них: мол, остается подробнее изучать детали и вводить в курс дела новичков, а масштабных открытий ждать больше не приходится. Но прошедшая в Петербурге конференция Mobius показала, что инноваций и неочевидных вещей много, и даже люди, на первый год разрабатывающие мобильные приложения, могут узнать много нового и интересного. Что именно на конференции поведали?
После официального открытия Mobius публика, собравшаяся в петербургском бизнес-центре «ПетроКонгресс», услышала keynote от сразу двух Дмитриев: легендарного Завалишина (Digital Zone) и специализирующегося на безопасности Евдокимова (Digital Security).
Первый заговорил о том, как мобильная революция изменила мир — и такое могло бы свестись к набору банальностей вроде «люди получили мгновенный доступ к информации везде», но только не в его случае. Еще с тех незапамятных времен, когда на домене dz.ru вместо сайта компании Digital Zone была онлайн-колонка dz online, Завалишин умеет сообщать о технологиях что-то новое вместо повторения штампов.
Например, мало кому приходит в голову, что успех определенной индустрии на мобильных устройствах может означать громадную проблему для этой индустрии — а Завалишин наглядно объяснил, что с масс-медиа произошло именно так. С одной стороны, потреблять информацию на ходу со смартфонов и планшетов крайне удобно, это очень напрашивающийся сценарий, и такое потребление расцвело пышным цветом. А с другой — рекламодатели, за счет которых масс-медиа живут, сейчас не готовы много платить за рекламу на маленьких мобильных экранах, и в итоге денег в индустрии при этом стало заметно меньше.
Еще одной неочевидной вещью, на которую обратил внимание Завалишин, стало следующее: в части индустрий мобильная революция помогает повышать прибыльность не напрямую через принесенные деньги, а через экономию на чем-либо. Например, постепенный переход банкинга в мобайл позволил появиться «банкам без отделений» вроде «Тинькоффа», а это резко снижает расходы.
Смелым предположением от него стало то, что в случае с мобильными приложениями нас еще ждет масштабное изменение всей парадигмы. Как отметил Завалишин, «компьютерный» интернет существует в виде континуума (позволяющего в любом браузере в любой момент легко перемещаться по ссылкам), а мобильные устройства в более раздробленном виде (несколько разных систем, внутри которых все происходит в отдельных приложениях, которые должны быть для начала установлены). И, по его мнению, мобильные устройства позже тоже могут прийти к континууму, что сразу даст им много новых возможностей.
Наконец, он рассказал, что уже сделал свой дом «умным», позволив управлять многими его составляющими с мобильного устройства — но не решился включать доступ к этому из любой точки мира, ограничившись домашней сетью, потому что это небезопасно: «здесь моя вера в нас [программистов] заканчивается». Это было логичным переходом ко второй части keynote, в которой Дмитрий Евдокимов заговорил о безопасности.
При том, что о существовании уязвимостей и масштабе возможного вреда от них слышали все, опыт Евдокимова в аудите мобильных приложений позволил ему указать на неочевидные моменты в этом. Например, одна и та же уязвимость может то пропадать, то снова возникать с апдейтами приложения в зависимости от нюансов конкретной сборки — а это означает, что недостаточно проверить приложение один раз и успокоиться, это должно производиться на постоянной основе.
Причем не обязательно даже быть банком, чтобы уязвимость в приложении оказалась чревата денежными проблемами. Если речь об игре с встроенными платежами, может ли что-то пойти не так? Оказывается, еще как может: Дмитрий рассказал о случае, в котором оказалось возможным на стороне игрока заменить в трафике значения оплаты на отрицательные и получать деньги.
По его словам, зачастую уязвимости возникают там, где взаимодействия со сторонними людьми изначально не предполагается, а потом о внешнем вмешательстве попросту не думают. Если на складе можно дистанционно управлять погрузчиками, то обычно все так заняты вопросом «как сделать это эффективным инструментом для работников склада», что вообще не задаются вопросом «что будет, если посторонний человек перехватит управление погрузчиками».
Наконец, Евдокимов попугал тем, что в скором будущем с развитием умных автомобилей, позволяющих взаимодействовать с ними со смартфона, проблема станет лишь станет острее: над взломом таких автомобилей уже активно работают, и злоумышленнику для тренировок не нужно даже располагать целым автомобилем, достаточно элемента head unit.
После keynote, когда все разошлись по разным секциям, неочевидные вещи не закончились. Например, доклад Антона Кекса (Codeborne) был посвящен разработке для гугловской телеприставки Chromecast — а это тема, которую незаслуженно обходят вниманием. Во-первых, в мире продано уже более 10 миллионов таких устройств (то есть это популярная платформа), во-вторых, Chromecast использует для запуска приложений сторонние устройства (смартфон, планшет или компьютер выступают в роли своеобразного «пульта»), то есть это открывает большой новый фронт для мобильной разработки, и он до сих пор остается для многих незамеченным. Отчасти из-за того, что устройство появилось менее двух лет назад: хотя мобильная революция в целом произошла давно, здесь все только начинается. Так что и доклад был не пережевыванием старого, а состоял из свежей информации, затрагивающей даже совсем недавние софтовые апдейты.
В ходе выступления Кекс объяснил, что из-за необычного подхода «требуется стороннее устройство» приложения для Chromecast состоят из двух частей (sender и receiver) — и продемонстрировал это на примере написанного им самим приложения, выводящего на экран телевизора фотографии с его домашнего сервера. В его презентации есть ссылки на сам проект, так что любой обладатель Chromecast может использовать его для своих целей.
Тему связи мобильных устройств с телевидением продолжал доклад Александра Коршака (Mera LLC) «50 оттенков разработки мобильных приложений для SmartTV». Пройдясь по трем конкурирующим платформам Smart TV (Philips, LG и Samsung), он остановился на третьем как раз из-за взаимодействия со смартфоном через Samsung MultiScreen SDK, позволяющем, например, выводить дополнительную информацию. По словам Коршака, в уже существующее приложение может быть достаточно добавить несколько строк кода, чтобы дать ему дополнительные возможности — а в таких условиях на эти возможности явно стоит обратить внимание. Этот SDK стал доступен разработчикам лишь в 2014-м — так что доклад с презентацией были актуальнее некуда.
На что мобильным разработчикам стоит обращать большее внимание — встроенные решения вроде этого или сторонние приставки вроде Chromecast? Вопрос дискуссионный. С одной стороны, Chromecast можно использовать с большинством современных телевизоров, он не ограничен одним производителем. С другой, функции Smart TV доступны потребителю сразу же при покупке телевизора, а Chromecast при его скромной цене в $30 нужно докупать отдельно.
После этого в главном зале Михаил Самарин (Futurice) рассказывал о том, чем отличается разработка приложений для крупных мировых брендов — и его доклад с презентацией были необычными просто благодаря тому, что у Futurice в этом уникальный опыт; среди ее клиентов Microsoft, Nokia, T-Mobile, Vodafone и другие гиганты. Далеко не все они разрешают публично рассказывать об особенностях процесса, но и того, что Михаил мог поведать, с лихвой хватило для интересного рассказа.
Часть доклада касалась технических моментов: если необходимо сделать приложение одновременно для iOS, Android и Windows Phone, лучше использовать native, Xamarin или гибридное приложение с Cordova? Ответ неочевиден и неоднозначен: например, многое зависит от того, какой паттерн использования приложения предполагается. Если его запускают раз в пару дней быстро проверить что-то, то можно экономить, но если его используют часто и подолгу, то любая неудачная мелочь начнет раздражать, и крайне желательны нативные решения, в которых специфика каждой платформы будет учтена наилучшим образом.
Часть доклада рассказывала об организационных особенностях такой разработки. Когда два гигантских бренда решают создать мобильное приложение в партнерстве, разработчику приходится учитывать строгие гайдлайны обоих одновременно — что особенно сложно, когда один из них офлайновый и о мобильном еще как следует не задумывался. А когда участники процесса оказываются разбросаны по всему земному шару, учитывать приходится еще и часовые пояса, подстраивая работу под удобное для всех время.
Наконец, часть была с просто забавными ситуациями — и тут Михаил сорвал аплодисменты, рассказав свежую историю о том, как Futurice по заказу Microsoft сделали «MS-DOS для Windows Phone». Эта первоапрельская шутка, нашумевшая прямо перед конференцией, представляет собой не просто отрисовку классического интерфейса, а реально выполняющее команды приложение — с «пасхальным яйцом» от Futurice, продемонстрированным посетителям Mobius.
После обеда в главном зале все продолжилось докладом Юрия Буянова («Одноклассники») «Комфортная разработка мобильных проектов». Здесь ставка была уже не на оригинальность материала, а на опыт докладчика: если в маленьких стартапах могут руководствоваться принципом «лишь бы код работал», то в проекте масштаба «Одноклассников» становится важно все сопутствующее разработке (от хранения кода до эффективности взаимодействия внутри команды). И Юрий рассказывал обо всем этом — сравнивая, например, TestFlight, HockeyApp и TestFairy как человек, хорошо разбирающийся в них всех.
Chromecast и Smart TV — не единственный случай за последние годы, когда давно привычные нам смартфоны и планшеты тва внезапно обрели новые возможности. Еще одним стали iBeacon — устанавливаемые в определенных местах «маячки», взаимодействующие с мобильным устройством (и позволяющие, например, офлайновому магазину сообщить покупателю, что он подходит к особенно интересному товару). Денис Кретов (Нотиссимус) принес с собой несколько «маячков» и поделился опытом — от того, как технически с помощью iBeacon организовывать покупку «в один клик», до того, что в Китае их можно покупать задешево, но лучше не надо, а хорошие стоят по $30 за штуку.
Затем сразу двое докладчиков от «Тинькофф Банка», Кирилл Бессонов и Артем Киселев, рассказали об аналитике для мобильных приложений. Им помогал опыт, позволяющий сравнивать Google Analytics, Яндекс.Метрику и Flurry по целому ряду параметров. В качестве спойлера можно сказать, что Google Analytics в сводной таблице показала себя наилучшим образом — но чтобы понять, что подходит лучше конкретно вашему проекту, все равно лучше ознакомиться со всей презентацией.Хотя в целом доклад был серьезным, поводы улыбнуться у аудитории находились: например, использование слова smoothie в тестовом примере явно отсылало к недавним заявлениям Олега Тинькова о «стартаперах со смузи».
Наконец, последним в главном зале стал доклад о самом обсуждаемом сегменте мобильных устройств в 2015-м — «умных часах». Алексей Рыбаков (DataArt) не ограничился одной разновидностью, а поговорил о разработке для всего: и устройств от Samsung под управлением Tizen, и моделей с Android Wear, и, разумеется, Apple Watch. Здесь информация не просто «оказалась актуальна» — здесь очевидно, что еще год назад такой доклад был бы невозможен.
На этом Mobius 2015 завершился — и после того, сколько новой информации он принес с собой, интересно ждать следующего: вероятно, в 2016-м о мобильных устройствах нам тоже расскажут то, что сейчас даже не пришло бы в голову включить в программу.
Все презентации докладчиков можно скачать на сайте конференции.
Автор: phillennium