0

История развития мобильных приложений

В современном мире сотовая связь настолько проникла в нашу жизнь, что большинство людей уже неуютно чувствуют себя без телефона. Еще вчера самыми популярными функциями "мобильника" были звонки и отправка SMS. Но сегодня приоритеты начинают смещаться несколько в иную сторону. Современный телефон – это уже не просто средство связи человека с человеком, это многофункциональное устройство, которое помогает не только общаться, но и учиться, зарабатывать, познавать мир, развлекаться. Безусловно, это стало возможным благодаря развитию мобильного интернета и непосредственно мобильных приложений.

Что подразумевается под мобильными приложениями? Четкого определения этого понятия нет, но это не значит, что его нет вообще. Итак, мобильным приложением можно назвать компьютерную программу, созданную специально для использования в мобильном телефоне, смартфоне или коммуникаторе, которая предназначена для выполнения той или иной задачи.

История мобильных приложений насчитывает уже более десяти лет. По большому счету отправной точкой для создания мобильных приложений стало появление на мобильном телефоне экрана. Естественно, первое программное обеспечение для телефонов представляло собой встроенные приложения, которые предназначались для выполнения конкретных функций телефона и устанавливались в устройство самими производителями.

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

С появлением возможности обмена короткими текстовыми сообщениями (SMS) в телефон добавилась еще одно приложение, позволяющее писать, редактировать, отправлять небольшие электронные тексты.

Время появления первого мобильного приложения, установленного на телефон поверх уже имеющегося программного обеспечения, можно отнести к концу 90-х годов прошлого века, когда сотовая связь стала постепенно входить в жизнь миллионов людей во всем мире. Стоит отметить, что к тому времени, производители телефонов уже четко представляли, что софт для "мобильника" – это перспективное направление, как с точки зрения разработки технологий, так и с точки зрения их отдельного коммерческого использования. Тогда в программную оболочку сотовых телефонов, помимо самых необходимых приложений, производители стали устанавливать дополнительное ПО. Как правило, это были различные мультимедийные приложения – небольшие аркадные игры, редакторы рингтонов, калькуляторы, календари и т.д.

Не отставали и сторонние разработчики, которые предлагали владельцам сотовых телефонов приложения, аналогичные установленным изначально, а также массу другого полезного и иногда бесполезного софта.

С появлением в 1997 году на рынке сотовой связи технологии WAP, позволяющей выходить в интернет с помощью мобильного телефона, количество программных приложений, как и их разработчиков, стало расти. Дело в том, что теперь поставить на телефон какую-либо программу стало гораздо удобнее и проще, так как ранее установка приложения могла быть осуществима лишь с помощью DATA-кабеля, соединяющего стационарный компьютер или ноутбук с мобильным телефоном. Стоит отметить, что в то время не каждая модель сотового телефона поставлялась в комплекте с DATA-кабелем, что ограничивало использование мобильных приложений.

Возможность выхода в интернет непосредственно через телефон позволила устанавливать на аппарат различное ПО, а также игры даже тем людям, которые не имели домашнего компьютера. Кроме того, WAP мог функционировать даже на бюджетных телефонах, за счет чего число пользователей мобильных приложений также увеличивалось. Единственным минусом WAP-доступа стала высокая стоимость передачи данных – скачав только несколько программ для телефона, пользователь мог потратить весь свой счет.

К началу нового тысячелетия началось бурное развитие рынка мобильного контента в целом и мобильных приложений в частности. Как грибы после дождя появляются специализированные сайты по продаже программных продуктов и мультимедийного контента для мобильных телефонов. А появление новых технологий передачи данных с помощью сотовой связи (GPRS, EDGE) позволяет удешевить мобильный интернет-трафик. Пользователи стали в немыслимых количествах скачивать из сети картинки, музыкальные рингтоны, игры, полезные программы и т. д.

К тому времени рынок мобильных устройств сотовой связи стали постепенно завоевывать смартфоны и коммуникаторы. Обладая более широкими возможностями и производительностью, они отличались от обычных мобильных телефонов наличием достаточно развитой операционной системы (Windows Mobile, Simbian, RIM, Android, Mac OS), которая является открытой для разработки программного обеспечения сторонними разработчиками, в отличие от программной среды обычных мобильных телефонов, которая закрыта для сторонних разработчиков. При этом стоит отметить, что установка дополнительных приложений позволяет значительно улучшить функциональность смартфонов и коммуникаторов по сравнению с обычными мобильными телефонами. Но, заметим, что каждая конкретная операционная система требует установки соответствующих именно ей приложений, то есть созданных специально для той или иной ОС программ. Например, программу-органайзер созданную для Windows Mobile нельзя установить на ОС Simbian, применяемую в смартфонах Nokia, или Mac OS (Mobile Touch version) для телефона iPhone от компании Apple.

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

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

Но с другой стороны, смартфоны в глазах данной категории пользователей выглядят более привлекательными за счет других возможностей, таких как, например, продвинутые мультимедийные функции (более качественная камера, расширенные возможности воспроизведения видеофайлов, улучшенные музыкальные способности), Wi-Fi, GPS и другие.

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

Специализированные приложения функциональнее, они более рационально использует ресурсы процессора, чем J2ME-программы, основанные на множестве Java-платформ, предназначенных для работы в устройствах с ограниченными ресурсами (ограниченная вычислительная мощность, ограниченный объем памяти, малый размер дисплея, питание от портативной батареи, а также низкоскоростные и недостаточно надежные коммуникационные возможности). Поэтому смартфоны пользуются популярностью среди разработчиков программного обеспечения и энтузиастов.

Независимо от того, для какого устройства используется та или иная программа, мобильные приложения можно подразделить на платные и бесплатные.

Бесплатные приложения, как правило, представляют собой достаточно простое ПО с ограниченным набором возможностей. Бесплатный софт зачастую предназначен для решения конкретной задачи (например, просмотр электронной почты). По мнению экспертов организации GetJar, бесплатные приложения в большинстве случаев используются владельцами телефонов непродолжительное время. Одна из причин такого поведения пользователей обусловлена тем, что работать сразу с несколькими открытыми бесплатными приложениями неудобно. Во-первых, это влияет на производительность, а значит и на продолжительность работы аккумулятора устройства. Во-вторых, пользователя просто может раздражать постоянный переход между программами (особенно на аппаратах с сенсорным экраном) и связанная с этим потеря времени.

Что же касается платных мобильных приложений, то они, наоборот, предлагают пользователю расширенные функциональные возможности для каждого отдельного программного продукта. Например, альтернативный пользовательский интерфейс SPB Mobile Shell для коммуникаторов на базе Windows Mobile предлагает пользователю несколько вариантов управления устройством и его программным обеспечением с помощью одного приложения. Кроме того, разработчики платного мобильного софта, как правило, предлагают возможность обновления ПО.

Также мобильные приложения можно подразделить на развлекательные (мультимедийные), коммуникационные, навигационные, справочные и прикладные. К развлекательному мобильному ПО можно отнести проигрыватели аудио- и видеофайлов, просмоторщики изображений и электронных книг, игры. Коммуникационные приложения отвечают за общение пользователя по телефону и SMS, его контакты в электронной почте, ICQ, социальных сетях. К навигационным программам относятся приложения, работающие с системой GPS, электронными картами и географическими координатами. К справочному ПО можно отнести различные словари и энциклопедии, базы данных с возможностью поиска. К прикладным приложениям можно отнести записные книжки, органайзеры, калькулятор, программы для работы с графикой и текстом.

Читайте также:  Восстановление файлов на андроид без root прав

Развитие мобильного интернета, безусловно, породило и кибер-угрозы для владельцев телефонов. Однако, как считают эксперты, во многом проблема вредоносного ПО, специально разработанного для мобильных устройств, во многом преувеличена. Дело в том, что невообразимое количество вирусов для обычных ПК не идет ни в какое сравнение со "считанными" десятками вредоносных программ для мобильных телефонов.

Например, львиная доля мобильных вирусов писалась для одной из самых распространенных на сегодняшний день программной платформы Symbian OS для смартфонов и коммуникаторов Nokia. Однако с появлением в 2006 году следующей версии данной платформы риск заражения стал стремиться к нулю. Одним словом, любая операционная система для "мобильников" старается, как можно эффективнее, обезопасить своего пользователя от возможного "заражения".

Однако это вовсе не означает, что вирусов для данных устройств совсем не существует. Так, в 2008 году появился один из немногих мобильных вирусов для Symbian OS 9.1 S60 3rd Edition – программа Sexy View, отличительной особенностью которой было то, что она подписана действительным сертификатом безопасности Symbian. Данный вирус производил SMS-рассылку со ссылкой на себя, а целью вируса был сбор конфиденциальной информации о зараженном устройстве (IMEI и т.д.). К тому же, уже известное по предыдущим версиям программных платформ кроссплатформенное приложение FlexiSpy, крадущее личную информацию абонента, существует и для данной версии ОС.

Чтобы предотвратить "заражение" мобильными вирусами, необходимо узнать как можно больше информации о том приложении, которое пользователь собирается скачать. Для этого можно воспользоваться интернетом, как правило, на различных специализированных форумах имеется информация о вредоносном ПО. Кроме того, можно попробовать связаться с представителями той площадки, откуда планируется скачать программу. В конце концов, можно обратиться к создателям антивирусного ПО.

Сегодня, помимо независимых инетрнет-площадок для распространения мобильных приложений, собственные подобные ресурсы создают ведущие производители сотовых телефонов, смартфонов и коммуникаторов. Некоторые из них уже имеют или планируют в ближайшем будущем открыть собственную площадку по продаже мобильных приложений. Такие специализированные порталы по распространению мобильного ПО уже имеют производитель телефонов iPhone – компания Apple (App Store), компания Nokia (OVi), производитель смартфонов Blackberry – компания RIM (App World и Application Center), компания Google (Android Market), компания Sony-Ericson (PlayNow arena) и ряд других. Помимо самих приложений, эти онлайн-ресурсы продают также разнообразный мобильный контент (музыку, видео, картинки, электронные книги и т.д.).

Кроме того, производители мобильных телефонов, смартфонов и коммуникаторов и создатели операционных систем, а также операторы сотовой связи выпускают программные инструменты для создания мобильных приложений. Они предлагаются на основе как открытого, так и закрытого ПО и зачастую предназначены для написания приложений для конкретной операционной системы, что часто означает – для конкретной модели мобильного устройства (например, iPhone, гуглфоны или смартфоны Nokia).

Рынок мобильных приложений сегодня постоянно растет – приходят новые разработчики, создаются новые операционные системы. Причем многие эксперты связываю данный рост с популярностью Apple iPhone, мобильные приложения для которого, например, в США занимают большую долю рынка подобного ПО.

Как отмечает руководитель департамента по развитию бизнеса компании Nokia в Европе, на Ближнем Востоке и Африке Жан-Лука Чиолетти (Gian-Luca Cioletti), по состоянию на конец 2008 года в мире было продано более 3 биллионов мобильных телефонов (в том числе смартфонов и коммуникаторов). Уже к 2010 году ожидается, что это количество возрастет до 4 биллионов. Около 4% пользователей мобильных телефонов активно скачивают мобильные приложения.

На сегодняшний день объем рынка мобильных приложений составляет несколько миллиардов долларов. Однако по прогнозам исследования Juniper Research, прямые и косвенные доходы от продаж мобильных приложений достигнут 25 миллиардов долларов к 2014 году, а ежегодная прибыль данного сегмента к этому времени будет составлять около 14 млрд. долларов.

По мнению экспертов Juniper Research, такой рост будет связан, главным образом, с появлением новых магазинов, в которых будут предлагаться приложения, как для высококачественных телефонов, так и для рынка устройств широкого потребления.

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

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

По прогнозам Juniper Research, игры останутся главными приложениями по части полных загрузок, и именно от них компании будут получать основной доход. Мультимедийные и развлекательные приложения начнут привлекать наибольшую долю доходов, начиная уже с 2009 года.

В начале были сторы

С чего началась история мобильных приложений? После эпохи коммуникаторов и ранних смартфонов компания Apple представила первый iPhone. Это был прорыв не только в технологиях, но и в способах создания приложений. Представив App Store, разработчики из Купертино как будто сказали нам: «Это то место, в котором вы можете создавать свои приложения без издержек. Придумывайте и зарабатывайте с помощью нашей экосистемы». Так начались золотые времена для приложений, когда можно было все, ведь не было еще ничего. С расширением функционала мобильных устройств разработчики смогли делать то, что раньше было невозможно.

Важно отметить, что на данном этапе инициатива создания новых продуктов шла не от бизнеса, а от программистов. Клиент еще не знал, чем можно удивить пользователя, и эту роль на себя взяли разработчики. Шел активный поиск новых интерфейсов, способов взаимодействия, а SDK, предоставляемый вендорами, еще не содержал тех решений, которые мы сегодня принимаем как данность. Разработчики сами создавали средства разработки, которые позже стали стандартными.

Приложения выходят на рынок

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

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

И только когда вендоры привнесли свои решения по безопасности и интеграции, мобильные приложения в полной мере открыли для себя новый рынок. Начался новый этап их развития, когда платформы перешли от того, что просто поражало воображение, к тому, с чем можно было реально работать.

Разрабатывать становится проще.

Отдельное внимание стоит уделить тому, почему разработка мобильных приложений стоит особняком от других направлений: например, веб-разработки или бэкэнд-разработки. Первоначально одной из главных проблем была ограниченность ресурсов мобильных устройств. Нужно было наперед продумывать многие технические моменты: как рендерить анимации, осуществлять загрузку данных, не мешая работе пользователя. Экраны, как и их разрешающая способность, были меньше. Приходилось постоянно изобретать какие-то решения, чтобы приложение не только работало, но и выглядело красиво.

Сейчас работать над такими примитивными задачами стало проще. Экосистема мобильных приложений предусматривает возможность самостоятельного создания продукта с нуля. Можно самому опубликовать приложение, разместить его на серверах и получать прибыль. Со своей стороны, вендоры «подливали масла», предлагая больше простых инструментов: средства для создания интерфейсов без помощи кода, новые и более простые языки программирования. Появилось множество опенсорсных решений, помогающих собрать приложение как конструктор из различных компонентов. В результате сильно понизился порог вхождения в разработку, что повлекло за собой появление здоровой конкуренции и развитие индустрии в целом. Рынок наполнился сотнями частных разработчиков и небольших студий, предлагающих бизнесу свои услуги. И, как это часто происходит на этапе масштабирования, мы получили снижение качества продукта.

Читайте также:  Как в 1с заполнить счета учета номенклатуры

. и появляются проблемы роста

Что же нужно, чтобы делать собственные приложения? Стало необязательным быть профессионалом разработки программного обеспечения и иметь несколько лет опыта за плечами. Теперь достаточно пройти небольшой курс, изучить язык программирования, узнать базовые вещи о том, как строятся мобильные приложения, и вот уже спустя месяц ты можешь создать что-то свое, при этом получая за это деньги. В итоге, специалисты стали меньше внимания уделять собственно разработке, сконцентрировавшись на поддержании продукта и маркетинге.

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

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

Что будет дальше?

Какое будущее ждет индустрию разработки мобильных приложений? Хочется верить, что успешное, но, по-моему, это достижимо лишь при соблюдении одного условия: мобильная разработка должна повзрослеть. Успеха можно добиться, объединив опыт работы с большими продуктами и технологии разработки мобильных приложений. Это позволит избежать убытков, которые можно предусмотреть заранее на этапе разработки. Перспектива финансовых потерь заставляет относиться внимательнее к этапам разработки и серьезно подходить к выбору подрядчиков и решений, которые будут использоваться при реализации.

Когда-то людей удивлял плеер в телефоне, а теперь и дополненная реальность в смартфоне кажется нам нормой. Технический директор FINCH, Дмитрий Хайретдинов расскажет историю зарождения и развития mobile, какими были первые приложения, и как появились современные инструменты разработки.

12 месяцев назад

WAP и первое подключение к интернету

WAP (Wireless Application Protocol) появился в 1998 году, и именно он объединил интернет и мобильную связь. Теперь можно было встроить в телефон браузер, установить соединение с серверами и получить данные на устройство.

Одним из первых телефоном с WAP-браузером был Nokia 7100, который выпустили в 1999 году. Тогда же начали появляться компании, разрабатывающие продукты специально для мобильных устройств.

WAP дал людям не только игры, но и возможность читать новости с мобильного, пользоваться электронной почтой, загружать карты и даже бронировать билеты. Для этого создавались WAP-сайты со специальной разметкой для мобильных экранов. Это были простые страницы из текста и ссылок, почти без картинок.

В то время компании еще не оценили телефоны как способ коммуникации с клиентами, поэтому таких решений было катастрофически мало.

Например, Ericsson сделали путеводитель Michelin: через WAP была доступна база из 60 000 отелей и ресторанов Европы. Еще несколько примеров использования WAP для бизнеса приведены в White Paper Nokia 1999 года:

  • Клиенты Deutsche Bank и Visa International могли получать информацию о последних транзакциях, просматривать баланс и оплачивать счета;
  • Пассажиры авиакомпании Finnair могли бронировать билеты и получать информацию о рейсах.

Первая открытая ОС для разработчиков

В 2001 Symbian стала открытой операционной системой, и в это же время появилась Nokia 7650, на которую можно было устанавливать приложения от сторонних разработчиков. Это должно было стать прорывом на рынке, но бума не случилось из-за сложностей разработки и ограниченных возможностей смартфонов.

У разработчиков был бедный выбор средств разработки для Symbian. Основной язык С++ был сложным в изучении и компиляции. Приходилось изворачиваться, чтобы написать приложение, которое было бы совместимо с большинством устройств на Symbian. Также многих отпугивала необходимость покупки сертификатов безопасности для подписи приложений.

Без сертификата приложение не запускалось вообще или сильно страдало в функционале

В это же время развивался рынок Java-приложений. Разработка приложения на Java занимала меньше времени и подходила для Windows Mobilе, Android, bada, Palm OS и BlackBerry OS. В Symbian также поддерживалось подмножество Java — J2ME, но функциональность таких приложений была сильно ограничена, поэтому разработкой на Java под Symbian практически никто не занимался.

В Nokia никак не стремились помогать разработчикам развивать рынок. Все было настолько плохо, что в 2005 году вышла Symbian 9.1, которая была не совместима с приложениями, выпущенными для предыдущих версий. Каждое приложение требовало доработки.

У разработчиков не было нормальной среды для создания проектов, большинство использовали Eclipse, предназначенной изначально для разработки на Java. Nokia выпустили инструмент для разработки на C++ — Carbide на основе Eclipse, но большая часть его возможностей была платной. Лицензия стоила от 300 до 8000 евро, это сильно влияло на конечную стоимость приложения.

При этом развитием самой Symbian никто особо не занимался, больше внимания уделяли новым дизайнам смартфонов Nokia. На рынок выходили новые модели, а саму ОС обновляли примерно раз в год.

Попытки что-то исправить в Nokia начали предпринимать только в 2009 году. Они пытались решить проблемы с недружелюбным API, дать больше возможностей для создания приложений и упростить разработку с помощью фреймворка Qt, затем открыли исходный код Symbian и объявили о создании Symbian Foundation, что должно было помочь популяризировать ОС.

Но это все не помогло собрать вокруг Symbian сообщество разработчиков и партнеров-производителей смартфонов. В итоге ОС не смогла конкурировать с iOS и Android.

Выход iPhone и запуск App Store

В 2007 году Стив Джобс представил миру первый iPhone. Тогда много говорили о возможностях нового смартфона, но никто не говорил, как этих возможностей удалось достичь.

Архитектура iOS была похожа на MacOS, но система была полностью закрытой. Джобс не хотел, чтобы сторонние разработчики могли разрабатывать приложения для iOS, и не собирался открывать SDK. Вместо этого он хотел, чтобы разработчики создавали веб-приложения, и дал возможность создавать браузерные закладки на домашнем экране. Мы знаем это из биографии Джобса, которую написал Уолтер Айзексон.

Полноценный движок Safari уже присутствует внутри iPhone. То есть вы можете создавать изумительные Web 2.0 и Ajax приложения, которые выглядят и ведут себя так же, как родные программы iPhone. И они способны прекрасно взаимодействовать с его сервисами: звонить, отправлять электронные письма, разыскивать местоположение в Google Maps. И знаете что? Для этого не нужен SDK!, – Стив Джобс.

Но пытливые умы взломали файловую систему, начали писать инсталляторы для нативных приложений и заодно — сами приложения. Так появился джейлбрейк.

Позже совет директоров Apple все же убедил Джобса легализовать сторонние приложения. В итоге в марте 2008 года iPhone SDK стал доступен всем желающим, а в июле презентовали App Store. Это означало, что Apple берет на себя дистрибуцию продуктов разработки пользователям.

Стив Джобс презентует AppStore и систему монетизации для разработчиков

App Store стал толчком к развитию индустрии разработки приложений, но проблемой был Objective-C. Язык программирования для iOS кардинально отличался от популярных тогда скриптовых JavaScript и Flash Action Script. Мало кто хотел тратить время на изучение нового синтаксиса, ведь устройства на iOS занимали еще очень маленькую долю рынка, а основная его часть принадлежала смартфонам на Symbian.

На тот момент двигателем прогресса были игры, а разработка приложений — лишь развлечением для специалистов в смежных областях. На продаже игр уже можно было зарабатывать, а спроса на разработку сервисов и приложений для бизнеса еще не было. Компании не были заинтересованы в разработке приложений для клиентов, потому что:

  • Бизнес не доверял мобильным технологиям и никто не знал, как их использовать на благо компаний;
  • Существовали ограничения смартфонов в отображении, передачи и приеме данных;
  • Приложения не подходили для серьезных задач из-за проблем с безопасностью данных.

Проблемы кроссплатформенности: когда всем надо все и сразу

К тому времени мобильный интернет стал доступнее, а в SDK для разных платформ появились решения по безопасности и интеграции. Это был новый этап развития в разработке приложений: от развлечения для народа разработчики перешли к решению задач бизнеса. Но впереди уже маячила другая проблема.

Читайте также:  Вай фай нет подключения к интернету защищено

Быстрое параллельное развитие iOS и Android создало двухполярную систему, и разработчикам нужно было поддерживать несколько платформ одновременно. Из кроссплатформенных инструментов были только Flash и обычный мобильный браузер. И то в 2010 году Apple отказались от поддержки технологии Adobe Flash в iOS.

Разработка одного даже самого простого решения под разные платформы уперлась в человеческие, временные и материальные ресурсы. Хотя браузерные технологии были развиты достаточно хорошо, мобильную веб-разработку тормозила низкая производительность смартфонов.

Как все решилось

На помощь пришли библиотеки компонентов и фреймворки для создания приложений на Android и iOS на базе браузерных технологий без использования языков программирования: Xamarin, Cordova, Phonegap.

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

Эти инструменты решили проблемы маленьких приложений с небольшим функционалом и дали возможность бизнесу быстро и за относительно небольшие деньги протестировать свое присутствие на мобильных платформах. Дальше нужно было смотреть в сторону нативной разработки, потому что остро стояли проблемы производительности, потребления ресурсов, отзывчивости кроссплатформенных приложений и «чужеродного» дизайна.

Развитие кроссплатформенных решений: React Native

В 2015 году разработчики Facebook на конференции React.js Conf представили свой инструмент для кроссплатформенных решений — фреймворк React Native. В нем компоненты приложения, написанные на JS, транслируются в нативные Android и iOS. Этот инструмент принципиально отличается от других систем для создания кроссплатформенных приложений:

  • Отсутствием WebView и HTML-технологий;
  • Отрисовкой интерфейса. В RN её выполняет ОС устройства, а не браузер;
  • Отсутствием дополнительной «обертки» кода — вместо нее JS взаимодействует с ОС через специальный мост. Так в приложении используются нативные компоненты пользовательского интерфейса.

Благодаря этим отличиям приложения, сделанные на React Native, максимально похожи на нативную разработку, и у них меньше проблем с производительностью.

Хотя стало проще и лучше, проблемы все равно остались:

  • Знаний одного JS все равно не хватит, потому что работу с возможностями мобильной платформы нужно реализовывать через модули на нативных языках;
  • Facebook постоянно что-то переписывает в архитектуре RN, поэтому вечно что-то меняется. Новые релизы часто сопровождаются обратной несовместимостью в коде;
  • Скорость работы приложений выше, но все еще не на уровне нативных приложений;
  • Нативная разработка становится проще.

Производители стараются минимизировать сложности в разработке и пытаются упростить языки разработки. В результате появились более простые Swift и Kotlin.

Swift представили на конференции WWDC в 2014 году. В нем осталось много от Objective-C, но он работает по аналогии со скриптовыми языками. Код определяется типами переменных, а не указателями. Это делает его изучение легче для тех, кто уже владеет каким-либо скриптовым языком.

Kotlin с 2010 года разрабатывала компания JetBrains. Целью было сделать более лаконичный и простой язык, чем Java, в котором уже накопился багаж неудачных решений. С 2017 язык официально рекомендуется для Android-приложений.

Теперь для разработки нативных приложений есть два языка с простым и гибким синтаксисом, при этом они похожи между собой.

Получилось упрощение не только от Objective-C к Swift и от Java к Kotlin, но и от Swift к Kotlin и наоборот. Это гораздо больший шаг к кроссплатформенности, чем разработка приложений на web-view.

Что происходит прямо сейчас

Мобайл — основной канал коммуникации

Если раньше мобайл рассматривали как одну из точек контакта с аудиторией, то теперь во многих сферах он стал даже важнее десктопов.

Компании даже могут отодвинуть сайт на второе место или не делать его совсем, отдав приоритет приложению. Например, у Tinder до прошлого года не было веб-сервиса, а украинский Monobank уместил целый банк в одно приложение — на сайте можно только получить ссылку на скачивание и почитать различные условия по банковским продуктам.

Заказать карту можно только через приложение

Противостояние Native vs Web-view

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

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

Долгосрочность проекта. Нужно сразу обдумать, возникнет ли необходимость расширять приложение или добавлять в него новые функции.

В нативных приложениях это сделать легче и быстрее, потому что код изначально учитывает все особенности платформы. В случае с Web-view, чтобы добавить функционал, придется тратить время на создание «костылей» и оптимизацию их работы.

Если проект направлен на долгосрочное развитие, нативное приложение — более подходящий вариант. При этом правило работает и в обратную сторону — нативная разработка не подходит для решения маленьких задач. Например, простой раздел с правилами легче сделать на Web-view, потому что не получится просто так сделать текст с нумерованными пунктами, в языках даже нет такого компонента — приходится придумывать «костыли».

Сценарий взаимодействия пользователя и приложения. Если пользователю нужно постоянно пользоваться приложением, важны отзывчивость и нативный интерфейс.

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

Чтобы интерфейс получился интуитивно понятным для пользователя, разработчику нужно просто следовать гайдлайнам Apple и Google. Разработка похожего на нативный интерфейс с помощью Web-view занимает кучу времени, а отличия все равно будут сильно заметны.

Нужен ли доступ к сервисам устройства. В нативном приложении проще реализовать доступ к камере, микрофону или геолокации. Средствами Web-view это тоже возможно, но тогда придется искать возможность оптимизировать нагрузку на процессор. Кстати, это не всегда возможно, в Web-view нет готовых оптимизированных компонентов и приходится каждый раз что-то изобретать. Сначала для того, чтобы что-то работало, а потом — чтобы это что-то не «съедало» батарею смартфона.

Бюджет. Считается, что кроссплатформенная разработка дешевле. Вместо двух приложений нужно разработать всего одно. Это работает с простыми приложениями, но если речь идет о сложных продуктах с множеством функций, то нативная разработка может оказаться выгоднее.

Время. Бывает, что в приоритете скорость, а не качество и функционал. Если нет времени ждать и нужно хоть что-то, используют кроссплатформенные решения.

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

Наличие API для бэкенда. Если API есть, это уже шаг в сторону нативки. Необходимость делать API увеличивает цену и срок нативной разработки, для Web-view его разрабатывать не нужно. Но тут снова нужно отталкиваться от задач и планов на этот проект. Чтобы развивать приложение в дальнейшем, лучше выделить деньги и время на API.

Необходимость обновлений. Чтобы внести изменения в нативное приложение, его нужно обновить через публикацию в маркете. Получается, что быстро вносить изменения не выйдет. Но зачастую это можно решить обычным планированием или миксом технологий: основную часть сделать нативной, а разделы, где нужно часто что-то обновлять — на Web-view.

История развития разработки приложений показывает, что браузерные технологии изначально начали использовать, чтобы обойти сложности нативной разработки. В реальности нет никакой кроссбраузерности, и использование web-view — это чаще костыль, чем полноценное решение задачи. При этом в каких-то случаях web-view более пригоден для использования. Есть разделы, которые действительно следует писать на web-view: лицензионные соглашения, договора и прочее.

Разработчикам стоит исходить из задач, потребностей и возможностей бизнеса, и использовать те или иные технологии, когда это оправдано. Не привязываться к «трушности» методов, а миксовать все с учетом ограничений так, чтобы приложение помогало бизнесу взаимодействовать с пользователем, а не ограничивало коммуникацию.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *