Разработка гибридных приложений

Помощь 30.05.2019
Помощь

Achieve global scale and the local presence you need with access to one of the largest cloud networks. Reduce network latency with extremely fast hybrid connectivity through Azure ExpressRoute at bandwidths up to 100 Gbps. Quickly connect thousands of branch sites by automating configuration and connectivity with Azure Virtual WAN. Protect and secure your virtual network using services like Azure Firewall and Azure DDoS Protection. Deliver the best user experience with Azure Front Door Service.

How hybrid networking solutions work

”We have factories all over the world…but we couldn’t use the Amazon Web Services network to transfer data between regions. With Azure, we can. We can transfer data to all our locations without leaving the Azure network, which delivers lower latency, lower costs, and higher security.”

Matthew Douglas​, Director of Cloud and Solutions Architecture, Smithfield​ Foods, Inc.

Hybrid networking reference architectures

  • Connect an on-premises network to Azure using a VPN gateway


    This reference architecture shows how to extend an on-premises network to Azure, using a site-to-site virtual private network (VPN). Traffic flows between the on-premises network and an Azure Virtual Network (VNet) through an IPSec VPN tunnel.

  • Connect an on-premises network to Azure using ExpressRoute


    This reference architecture shows how to connect an on-premises network to virtual networks on Azure, using Azure ExpressRoute. ExpressRoute connections use a private, dedicated connection through a third-party connectivity provider. The private connection extends your on-premises network into Azure.

  • Connect an on-premises network to Azure using ExpressRoute with VPN failover


    This reference architecture shows how to connect an on-premises network to an Azure virtual network (VNet) using ExpressRoute, with a site-to-site virtual private network (VPN) as a failover connection. Traffic flows between the on-premises network and the Azure VNet through an ExpressRoute connection. If there is a loss of connectivity in the ExpressRoute circuit, traffic is routed through an IPSec VPN tunnel.

  • Implement a hub-spoke network topology in Azure


    This reference architecture shows how to implement a hub-spoke topology in Azure. The hub is a virtual network (VNet) in Azure that acts as a central point of connectivity to your on-premises network. The spokes are VNets that peer with the hub, and can be used to isolate workloads. Traffic flows between the on-premises datacenter and the hub through an ExpressRoute or VPN gateway connection.

  • Implement a hub-spoke network topology with shared services in Azure


    This reference architecture builds on the hub-spoke reference architecture to include shared services in the hub that can be consumed by all spokes. As a first step toward migrating a datacenter to the cloud, and building a virtual datacenter, the first services you need to share are identity and security. This reference architecture shows you how to extend your Active Directory services from your on-premises datacenter to Azure, and how to add a network virtual appliance (NVA) that can act as a firewall, in a hub-spoke topology.

Разработка гибридных приложений

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

Ноутбук, планшетный компьютер, электронная книга, смартфон – вот лишь неполный список мобильных устройств, которые используют люди каждый день для работы, учебы, общения и отдыха. Однако, данные устрой­ства, как правило, управляются своей отдельной операционной системой (ОС) (iOS, Android, Windows Phone, BlackBerry и т.д.). Это создает опреде­ленные неудобства для обмена информацией между ними через встроенные приложения.

Для создания встроенного мобильного приложения для какой-либо ОС необходимо изучить язык программирования, а так же SDK – software devel­opment kit – специализированный пакет разработки, который учитывает осо­бенности определенной мобильной операционной системы. К примеру, для создания встроенного мобильного приложения для операционной системы нужно знать язык программирования Java и Android SDK пакет. Данное условие накладывает определенные ограничения на разработчиков, которым приходится выбирать определенное направление для работы.

Решением данной проблемы, с одной стороны, может считаться созда­ние web-приложений, данный вариант знаком web-разработчикам, которые в своей работе используют HTML, PHP и JavaScript. Другими словами данный вид приложений является web-сервисом в сети Интернет. Для его примене­ния пользователю необходимо открыть на своем мобильном устройстве web- браузер набрать в адресной строке адрес сайта и начать пользоваться серви­сом. Вышеописанный алгоритм, зачастую, очень неудобен.

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

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

Наиболее популярным инструментальным средством для разработки гибридных мобильных приложений является программная платформа PhoneGap. Это бесплатный open-source фреймворк для создания мобильных при­ложений, позволяет создавать приложения для мобильных устройств , исполь­зуя JavaScript, HTML5 и CSS3, без необходимости знания «родных» языков программирования под все мобильные ОС. Движок PhoneGap расширяет API браузера и добавляет следующие возможности: доступ к акселометру, доступ к фотокамере, компасу, списку контактов, запись и прослушивание аудио файлов, предоставляет доступ к файловой системе, позволяет работать с разными HTML5 хранилищами localStorage, Web SQL и позволяет безбо­лезненно обращаться к любому кросс-доменному адресу.

PhoneGap предоставляет набор JavaScript-интерфейсов для доступа ко многим функциям устройств, недоступным из мобильных Web-браузеров для типичных Web-приложений. Это достигается путем использования Web- приложения внутри встроенной программы-оболочки. PhoneGap объединяет код Web-приложения с визуализатором браузера устройства для создания “родного” приложения, которое можно развернуть в хранилище приложений и установить на устройстве.

Помимо этого, базовый функционал PhoneGap можно расширить путем использования дополнительных плагинов из специального репозитория. На данный момент существует набор плагинов для четырех операционных си­стем: iOS, Anfroid, BlackBerry и Palm.

Кроме самой платформы для мобильных приложений, PhoneGap предоставляет доступ к своему «облаку», в котором можно собрать проект, и загрузить на мобильное устройство уже исполняемый файл. Для доступа к «облаку» необходимо зарегистрироваться на официальном сайте PhoneGap Build и после чего станет доступен онлайн-«сборщик» программ. Достоин­ством данного сервиса является его общедоступность и большая библиотека разработок других пользователей с открытым кодом. С другой стороны, дан­ное достоинство является и недостатком. Дело в том, что в бесплатной вер­сии сервиса доступна сборка лишь приложений с открытым кодом, т.е. после сборки код вашего приложения публикуется в библиотеке приложений и становится доступным другим разработчикам как Open Source проект. Сбор­ка приложений с закрытым кодом доступна только в платной версии сервиса.

PhoneGap это фреймворк, позволяющий «пе­реработать» web-сайт и сделать его условно встроенным приложением. Бла­годаря использованию встроенных JavaScript-интерфейсов, осуществляется доступ к многим функциям устройств, недоступным из мобильных Web- браузеров. При использовании функционала PhoneGap можно значительно расширить функционал web-сервиса, но он все так же будет оставаться ре­сурсом в сети Интернет. Для того чтобы web-сервис стал мобильным прило­жением необходимо еще создать мобильный интерфейс, который будет яв­ляться частью встроенного приложения. Существует большое количество фреймворков для создания мобильного интерфейса. Одним из таких фреймворков является Dojo.

Dojo

Элементы интерфейса Dojo – это пакеты, сформированные из компо­нентов: JavaScript-кода, разметки HTML и CSS. На самом деле, они не явля­ются «родными» View-элементами для Android-приложений, это все те же web-элементы, но специально адаптированы и стилизованы для мобильных устройств. Таким образом, у пользователя формируется полное ощущение, что он работает со встроенным мобильным приложением.

Части пакета Dojo могут быть использованы для добавления различных интерактивных возможностей сайту:

  • меню, закладок, всплывающих подсказок;
  • селекторов даты, времени, часов;
  • сортируемых таблиц, динамических диаграмм, векторной 2D гра­фики;
  • элементов интерфейса «дерево», с возможностями drag-and-drop (nested sets, вложенные множества);
  • Rich Text Editor;
  • анимированных эффектов, и построения своих собственных.

Следовательно, PhoneGap адаптирует сайт для мобильного устройства и с помощью элементов Dojo-интерфейса делает его похожим на встроенное приложение, поэтому основным элементом встроенной части Android- приложения будет являться Webview, т. е. встроенный web-браузер в простое мобильное приложение. Для создания гибридных приложений, встроенной его части, разработчики мобильной ОС Android рекомендуют использовать среду разработки Eclipse.

Так же как и для обычного встроенного приложения, для гибридного используется стандартный Android Applicatoin проект, в котором в качестве дополнения библиотека PhoneGap.jar и набор Dojo-скриптов, включаемых в проект по необходимости в виде js-файлов.

Отличием от стандартного проекта является использование метода loadurl() в основном файле App.java, который в принципе и делает встроен­ное приложение частью гибридного, т.е. при запуске приложения идет за­грузка web-сервиса, а не встроенного Activity.

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

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

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

В этой статье мы разберем топ-7 таких фреймворков.

IONIC - одна из самых многообещающих фреймворков для мобильных приложений на основе HTML 5. Построен с использованием SASS, что обеспечивает большое количество компонентов UI, позволяющие создавать интерактивные приложения. Для запуска приложений используется фреймворк JavaScript MVVM и AngularJS. Двустороннее закрепление данных, взаимодействие с серверными службами и API делает AngularJS самым популярным среди разработчиков приложений. Нет сомнений, что он станет еще более популярным, после выхода новой версии AngularJS 2.0, ориентированный на мобильные устройства.

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

Для того чтобы поближе познакомиться с IONIC, вы можете почитать статьи о начале работы с мобильными приложениями и о разработке игр на основе ОС Firefox.

Mobile Angular UI - фреймворк на основе HTML 5, который использует bootstrap 3 и AngularJS для создания интерактивных мобильных приложений.

Основные особенности Mobile AngularUI включают в себя:

  • Bootstrap 3
  • AngularJS
  • Bootstrap 3 мобильные компоненты, такие как ветвление, оверлейные программы и боковые панели, которых не было в обычном bootstrap.
  • AngularJS модули, такие как angular-route, angular-touch и angular-animate.

Ответные медиа запросы отделены от программы начальной загрузки и вам остается только выбрать то, что необходимо. Мобильный Angular UI независим от jQuery, поэтому все, что вам нужно для создания мобильного приложения, это некоторые AngularJS директивы.

Для того чтобы посмотреть Mobile Angular UI в действии, обратите внимание на демо страницу. Также мы рекомендуем вам ознакомиться с инструкцией о том, с чего начинать работу с Mobile Angular UI.

Intel XDK - это мульти платформная разработка Intel. Работать с ней достаточно легко, вам нужно лишь скачать бесплатные приложения, которые совместимы с Linux, Windows и Mac. Она содержит множество шаблонов для начала работы и поддерживает UI фреймворки, такие как Twitter bootstrap, jQuery Mobile и Topcoat.

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

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

Во введении в работу с Intel XDK вы найдете большое количество обучающего материала по работе с платформой.

Appcelerator Titanium - это открытый ресурс фреймворков мобильных приложений, который обеспечивает условия для создания родных приложений для нескольких мобильных платформ.

Titanium - это отличная разработка, в которой вы найдете все, что нужно для создания гибридных мобильных приложений. Для работы с Titanium скачайте Titanium studio. Titanium SDK содержит несколько API платформ и Cloud сервис, работающий как хранилище. Он идет с независимой платформой API, которая упрощает доступ к мобильному устройству.

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

Titanium studio содержит некоторые примеры кода, а также мы надеемся, что скоро появятся обучающие видео на SitePoint.

Sencha Touch - это HTML 5 фреймворк для создания приложений для таких платформ как iOS, Android и Blackberry и не только. Он существует уже несколько лет, но относительно недавно стал популярным среди разработчиков гибридных мобильных приложений.

Sencha Touch более продвинутый, чем его оппоненты в вопросе создания родных приложений для различных платформ.

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

Для того чтобы полностью оценить достоинства Sencha Touch, взгляните на примерные коды на официальном сайте.

Telerik’s Kendo UI - HTML 5 фреймворк для создания мульти-платформных мобильных приложений. Kendo UI сильно зависит от jQuery и содержит некоторое количество виджетов, основанных на jQuery.

Работать с ним не сложно. Разработчики знакомые с jQuery оценят легкость работы с Kendo UI. У Kendo UI есть открытый ресурс инструментов и JavaScript фреймворков.

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

Просмотрите официальную документацию для работы с Kendo UI. Там вы найдете видео уроки, которые помогут вам изучить этот фреймворк.

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

Для работы с PhoneGap вы можете выбрать между фраймфорками JavaScript или UI. Хороши комбинации jQuery Mobile и KnockOut.js или AngularJS. Как только вы закончите работу с кодом, PhoneGap завершает всю оставшуюся работу на платформе, с которой вы работаете. Приложения, созданные с помощью PhoneGap используют веб представление для передачи контента. PhoneGap содержит минимальный набор веб API для доступа к возможностям мобильного устройства и позволяет писать запрашиваемые плагины.

Инструкцию по работе с PhoneGap вы найдете .

Бонус

App.js - библиотека JavaScript для создания мобильных приложений. Этот, не похожий на других фреймворк, не использует AngularJS. Он предоставляет несколько базовых тем и виджетов. Вы можете написать приложение, используя zepto или jQuery.

Вывод

В этой статье мы рассмотрели одни из лучших фреймворков мобильных приложений HTML 5. Мобильный HTML 5 хорошо развивается и с каждым днем предлагает все новые опции. А каким фреймворкам отдаете предпочтение вы? Поделитесь в комментариях.

Дарья Казовская Сентябрь 29, 2015

Согласно последнему опросу Red Hat , одного из мировых провайдеров программных решений с открытым исходным кодом, сегодня 50% компаний нуждаются в специалистах по мобильной разработке или менеджерах мобильных проектов. Интересно, что в этой доле компаний нативные разработчики слабо востребованы. Лидирующие позиции занимают front-end специалисты - 32% опрошенных голосуют за front-end.

Данные исследований Gartner также подтверждают повышение интереса со стороны бизнеса к мобильной разработке. По их прогнозам, к концу 2017 года спрос на разработку мобильных приложений будет расти в 5 раз быстрее, чем штат IT компаний, способных удовлетворить этот спрос.

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

Многим компаниям приложения необходимы быстрее, чем они могут быть разработаны. По словам главного аналитика Gartner Эдриана Леова, быстрая разработка и постоянное поддержание мобильных приложений затруднены из-за растущего спроса, ускоренного развития цифровых технологий и дефицита кадров.

В целом, заказчиков мобильной разработки можно условно разделить на 2 группы:

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

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

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

Отсюда следует вывод, что гибридная разработка становится не менее востребованной, чем нативная.

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

PhoneGap - это открытый фреймворк, служащий для ускорения процесса разработки кросс-платформенных приложений. Именно PhoneGap позволяет делать приложения на HTML5 + JavaScript, после чего компилировать их в установочные файлы под любую операционную систему: iOS, Android, Windows Phone, BlackBerry.

Общий смысл гибридной разработки заключается в том, что мы работаем с WebView мобильного телефона с помощью HTML5/Javascript/СSS, а затем просто «пакуем» подобного рода разработку в нативную «обертку».

Благодаря использованию PhoneGap, мы:

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

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

По большему счёту, к основным достоинствам гибридного подхода относятся:

  • Кросс-платформенность. Сделав одно приложение, можно экспортировать его под любую операционную систему – iOS, Android, Windows Phone, BlackBerry.
  • Доступная стоимость разработки – в разы меньше, чем при нативном подходе.
  • Использование одного языка – JavaScript.
  • Доступ к основным данным мобильного устройства : GPS, камера, телефонная книга и т.д.
  • Работа в оффлайн-режиме.
  • Возможность распространять приложение через официальные магазины приложений.

Гибридная разработка пользуется популярностью у крупных мировых компаний. Множество широко известных приложений являются кросс-платформенными. Среди них: Wikipedia, Health tap, BBC Sport App и Evernote. Пользователи скачали каждое из этих приложений более миллиона раз, что говорит о высоком качестве разработанных решений.

Однако у гибридной разработки есть свои слабые места:

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



Рекомендуем почитать

Наверх