На конференции TechCrunch Disrupt 2012 руководитель Facebook Марк Цукерберг назвал крупнейшей стратегической ошибкой использование HTML5 для создания мобильных приложений и сказал, что недавно переработанные приложения работают лучше и быстрее. “Мы на это убили два года, — признал он. — И видимо это наша важнейшая стратегическая ошибка”.
Глава и сооснователь компании Xamarin Нат Фридман сообщил, что на его взгляд мобильная индустрия чересчур спешит переходить на разработки, основанные на HTML5 и веб-стандартах. “Признание Цукерберга только подтверждает то, о чем мы в Xamarin толкуем уже порядочное время — мобильные разработки должны идти по пути родного кода. Facebook прислушалась к своим пользователям и переделала ПО, что оказало сильный эффект на использование ее мобильных приложений. Это большое дело, и, как нам кажется, теперь всё больше разработчиков станут писать в нативном коде”.
Признание руководителя Facebook Марка Цукерберга, что применение HTML5 для разработок мобильного ПО стало крупнейшим промахом его компании, встряхнуло разработчиков и разожгло новую волну дискуссий, надо ли создавать мобильные приложения на базе HTML5 и стандартизованных веб-технологий или стоит использовать родной код мобильных платформ.
По словам аналитика IDC Аль Хилуа, “для нынешнего этапа характерно определенное разочарование в HTML5, поскольку энтузиасты этого подхода вышли за грани его возможностей и столкнулись с рядом неудач. Все, кто рассчитывал, что HTML5 станет панацеей мобильных разработок, по-видимому, пересматривают свои взгляды. Тем не менее мобильные веб-технологии в будущем займут важное место, и некоторые из проектов пытавшихся прыгнуть выше головы помогут дальнейшему развитию технологии”.
Предложенная Xamarin технология MonoTouch позволяет разработчикам создавать полностью нативные приложения в соответствии со спецификой устройства, что требуется сегодняшним мобильным пользователям. Xamarin помогает писать скомпилированный высокопроизводительный код с полным доступом ко всем нативным API, составляющим уникальность каждой аппаратной платформы.
В разработке мобильных приложений бытуют три главных подхода: нативный, на базе веб-технологий и гибридный. По версии Xamarin разработчики могут писать свои мобильные приложения целиком на C#. Xamarin предоставляет полный доступ к родным SDK и элементам управления пользовательского интерфейса каждого устройства, проектируя цельный нативный API устройства в код C#. Благодаря этому вы создаете именно нативные приложения, а не приложения типа “однажды написанное работает везде”, которые на любой платформе выглядят инородными, сказал Фридман. ПО Xamarin для кроссплатформенной разработки мобильных приложений позволяет программистам задействовать собственный профессиональный опыт и инструментарий и создавать полностью нативные приложения для iOS, Android и Windows Phone, используя на разных аппаратных платформах до 90% общего исходного кода.
“Наша миссия — помогать разработчикам быстрее и лучше создавать мобильные приложения”, — сказал Фридман. Xamarin позволяет разделять приложения на две части, слой ГИП и слой бизнес-логики.
Фридман убежден, что “мобильный мир быстро шагает вперед, и при таком темпе инноваций решения на базе стандартов вряд ли могут стать правильным подходом к написанию приложений”. С его точки зрения интересен тот факт, что Microsoft не навязывает для собственной мобильной платформы стратегию стандартов. В стандарте, считает Фридман, обычно заинтересованы мелкие конкуренты, Microsoft же мыслит шире. С одной стороны, Microsoft подталкивает разработчиков к использованию своих средств Visual Studio при создании приложений для платформы Windows Phone. Но одновременно та же Microsoft сделала крупную ставку на внедрение HTML5 и JavaScript в разработке для Windows 8. “Большинство известных приложений для Windows 8 и Windows Phone написаны на C# в нативном подходе. Поэтому, вероятно, большинство разработчиков создает нативные приложения и, по-видимому, будет продолжать это делать”. Intel тоже уделяет сильное внимание HTML5.
Тем не менее разработку нативных приложений не стоит рассматривать как единственно верный путь, и для некоторых компаний, возможно, оптимален гибридный подход. Разработчики ощущают дискомфорт среди разных платформ, стандартов и очередных рекламируемых новинок. Гибридный подход стремится сочетать на одной платформе гибкость приложений на базе HTML5 и плюсы более сложного нативного ПО. Компания Embarcadero Technologies имеет опыт работы с HTML5, нативными и гибридными решениями. Представленный ею в сентябре инструмент HTML5 Builder — полноценная визуальная интегрированная среда разработки (IDE) для создания веб- и мобильных приложений (как автономно действующих на мобильных устройствах, так и полнофункциональных веб-приложений), которая позволяет решать задачи разработки и HTML5-, и гибридных, и нативных приложений.
“HTML5 не является будущим для приложений, — считает аналитик Strategy Analytics Джош Мартин. — Хотя разработчики мечтают, чтобы однажды написанное работало везде, из-за фрагментированной и ограниченной поддержки API внутри HTML5 это невозможно. По нашему прогнозу, будущее за гибридными приложениями. В них защищены существующие бизнес-модели, остается нетронутой дифференциация между экосистемами и внутри них и сохраняются потребительские качества ПО. В итоге такие приложения продолжают доминировать в сфере iOS и Android, все больше распространяются на платформе Windows Phone”.
Как отмечает Хилуа из IDC, переносимость технологий в своей основе связана с компромиссами. Выбор компромиссного решения для мобильных устройств, которым суждена долгая жизнь, представляет собой большую сложность. Для наиболее распространенных приложений, которые имеют обширную пользовательскую базу и должны быть оптимизированы по производительности и удобству в работе, лучше всего подходят нативные технологии. Разработчики это знают. По словам Хилуа, “HTML5 занимает важное место в мобильном мире и вряд ли сойдет со сцены. Плюс же нативных технологий в том, что они предоставляют больше контроля за конкретным местом, где происходят вычисления, и послушнее в плане оптимизации полезных качеств”.
Значит, разработчики будут продолжать спорить, идти ли вперед с нативным ПО, HTML5 или гибридными подходами.
“Я вижу, — сказал Хилуа, — что рынок формирует представление о двух уровнях приложений. Нативные приложения останутся наилучшим выбором в плане максимального комфорта пользователя, эффективного применения возможностей конкретной аппаратуры или расширения пользовательской базы определенной платформы. Мобильные веб-приложения больше подойдут для бизнеса при доступе к информации внутренних систем компании или для довольно сложной контент-ориентированной работы. В ближайшую пару лет HTML5 станет более зрелым для усложненных приложений. Появится много HTML5-инструментов, которые повысят ценность HTML5 и будут использовать веб-экосистему для централизованной поддержки кроссплатформных требований. Компании типа Adobe сделали ставку на эти созревающие возможности HTML5”.