Опубликован: 19.03.2014 | Доступ: свободный | Студентов: 329 / 26 | Длительность: 11:36:00
Специальности: Программист
Лекция 2:

Средства разработки серверных сценариев гибридных мобильных приложений под Windows Phone

< Лекция 1 || Лекция 2: 12 || Лекция 3 >

Среда разработки WEbMatrix

WebMatrix - это свободно распространяемый и простой в использовании комплект средств веб-разработки, предоставляющий самый простой путь построения веб-приложений небольшой и средней сложности, принадлежит к классу систем управления контентом (Content Management System - CMS). Удобное средство разработки серверной части гибридных мобильных приложений, которое с успехом используют как новички, так и профессионалы. Все функции этой среды разработки направлены на то, чтобы сделать работу над веб-сайтом легкой и удобной. Она представляет собой конструктор, с помощью которого можно создавать и сопровождать свой мобильный сайт (обновлять и добавлять материалы, заводить новые рубрики) [6]. Создатели CMS исходят из принципа, что большинство сайтов очень похожи по структуре и рубрикам, но отличаются наполнением и дизайном. Поэтому в WebMatrix включает набор стандартных блоков, которые можно включить в сайт: новости, статьи, информация о фирме, контактные данные, прайс-лист и т. д., которыми можно управлять в разделе администрирования сайта. Разработка мобильных веб-приложений выполняется в WebMatrix визуально на базе технологии WebPages и позволяет начинающему программисту получить необходимые навыки, фокусируясь исключительно на самой веб-разработке без необходимости изучения тех продвинутых функциональных возможностей, которые предоставляются в Visual Studio.

WebMatrix не является конкурентом Visual Studio; это в большей мере дополняющий продукт, хотя некоторые его функции пересекаются с возможностями Visual Studio. В этот комплект входит IIS Developer Express (веб-сервер разработки, запускаемый системой по необходимости), ASP.NET (веб-инфраструктура) и SQL Server Compact (встроенная база данных). В комплект также входит простой редактор с подсветкой синтаксиса поддерживаемых языков программирования и средств разметки, ускоряющий разработку веб-сайтов и упрощающий запуск веб-сайтов из популярных приложений с открытым кодом. Навыки и разрабатываемый с помощью WebMatrix код можно применять и в Visual Studio, и в SQL Server. Создаваемые с помощью WebMatrix веб-страницы могут быть динамическими, т.е. они могут изменять свое содержимое и стиль в зависимости от введенных пользователем данных или от других сведений, например содержащихся в базе данных. Для программирования динамических веб-страниц в WebMatrix используется ASP.NET и языки программирования C# или Visual Basic.

Мобильные возможности WEbMatrix

WebMatrix упрощает начало работы по созданию мобильных веб-приложений даже для опытных разработчиков. Ниже приведены описания ключевых особенностей WebMatrix для мобильных веб-приложений [7].

  • WebMatrix предлагает разнообразные шаблоны, которые хорошо работают на мобильных устройствах и на рабочем столе. Они построены с использованием передового опыта для JQuery Mobile, HTML5 и CSS3. Необходимо лишь выбрать понравившееся вам приложение из множества доступных во встроенной галерее, и WebMatrix загрузит и установит его на ваш веб-сайт. Для индивидуализации готового веб-приложения служит встроенный редактор кода. Среда JQuery Mobile, встроенная в WebMatrix и доступная редактору кода, является сенсорной средой создания веб-сайтов и приложений для популярных смартфонов, планшетов и настольных устройств. При этом вашу работу можно тут же увидеть в эмуляторах мобильных устройств на WP8, iOS, Android и т.п. С помощью готовых шаблонов, вы можете создать для мобильных устройств веб-сайты в считанные минуты.
  • WebMatrix включает в себя компактную систему управления базами данных SQL Server Compact, которая полностью интегрируется с другими компонентами мобильного веб-сайта. При публикации сайта достаточно лишь скопировать файл базы данных с локального компьютера на веб-сервер, и база данных будет работать без какой-либо дальнейшей настройки. Если в мобильном веб-приложении ожидается большое количество запросов, то вы с легкостью сможете перенести свою базу данных на высокопроизводительную версию SQL Server.
  • В состав среды веб-разработки WebMatrix входит функциональный редактор кода, редактор баз данных, система администрирования веб-сервера, система оптимизации для поисковых машин, система публикации по FTP и многие другие функции.

Следует отметить, что в WebMatrix предусмотрены различные виды доступа к серверному приложению. Администратор имеет доступ к любым разделам и может менять структуру сайта, и любой рубрики. Редактор может менять любой текст на сайте, но не может изменять структуру рубрик, добавлять их или удалять. Пользователь имеет доступ только к определённой рубрике (или конкретным материалам из неё), и может работать только с ней. Таким образом, WebMatrix является многопользовательской системой, позволяющей давать соответствующий доступ к механизму сайта различным группам.

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

Средства сохранения данных на сервере

При наличии в гибридном мобильном приложении данных значительного объема, они могут храниться на сервере, как и в случае обычных веб - приложений. Для этого используются различные модификации базы данных Microsoft SQL Server: Compact - простая СУБД в виде одной библиотеки; Express - бесплатная полнофункциональная СУБД; Standard, Business Intelligence, Enterprise (и другие) - расширенные редакции с дополнительными возможностями.

Ключевые возможности SQL Server Compact

Существенные для мобильных серверных сценариев возможности SQL Server Compact [8]:

  • Бесплатное использование и распространение.
  • Поддержка интернета, ПК и мобильных устройств.
  • Компактность.
  • Не требует администрирования.
  • Интеграция с Microsoft Visual Studio.
  • Поддержка различных языков программирования.
  • Уменьшение виртуальной памяти
  • Повышение надежности, безопасности и легкости развертывания
  • Повышение производительности в сценариях с параллельными соединениями и многочисленными запросами к базе данных.
  • Обновление алгоритма шифрования (поддерживает алгоритмы шифрования SHA 2, которые обеспечивают более высокий уровень защиты для зашифрованных файлов базы данных)

SQL Server Compact Toolbox [9] является дополнением к Visual Studio 2010 Pro или самостоятельным приложением для более старшей версии, которое добавляет возможности написания сценариев, импорта, экспорта, миграции, переименования, запуска сценариев, управления репликацией и т.д. к вашим соединениям с данными SQL Server Compact с помощью VS Server Explorer.

Microsoft SQL Server Express - это бесплатная полнофункциональная СУБД, основанная на Microsoft SQL Server. Возможности последних версий (8 и выше) [10]:

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

Каждый выпуск SQL Server Express идеально подходит для независимых поставщиков программного обеспечения, пользователей серверов, непрофессиональных разработчиков, разработчиков мобильных веб-приложений. Если необходимы дополнительные функции базы данных, выпуск SQL Server Express можно легко обновить до расширенных версий SQL Server.

Новые возможности последних версий (12 и выше) Microsoft SQL Server Standard:

  • Организации могут перемещать логическую копию баз данных SQL-сервера напрямую в SQL Azure для экономичной и резервированной защиты информации.
  • Простое управление правами доступа к данным с помощью User-Defined Server Roles.
  • Удобное тестирование приложений и уменьшение числа ошибок с помощью нового компонента Distributed Replay.
  • Легкая интеграция данных. Данные могут использоваться из разнородных источников.
  • Поддержка многомерных моделей в целях построения и масштабирования бизнес-логики. Прогностическая аналитика.
  • Упрощена разработка, развертывание и контроль баз данных в облаке.
  • Новая технология статистического семантического поиска поддерживает инновационные опции поиска ключевых фраз для всеобъемлющего обнаружения информации в неструктурированных файлах.
  • Поддержка реляционных и нереляционных данных, включая такие источники данных Big Data, как Hadoop.

Выпуск SQL Server 12 Business Intelligence представляет собой комплексную платформу, которая дает организациям возможность строить и развертывать надежные, масштабируемые и управляемые решения бизнес-аналитики. В него включены функции просмотра и представления данных в браузере, мощные возможности комбинирования данных и расширенное управление интеграцией.

Выпуск SQL Server 2012 Enterprise Edition является предложением высшего класса, обеспечивающим полный набор возможностей ЦОД с исключительно высокой производительностью, неограниченными возможностями виртуализации и исчерпывающими средствами бизнес-аналитики, что позволяет добиться высокого уровня обслуживания важнейших рабочих нагрузок и предоставить конечным пользователям доступ к анализу данных

Инфраструктура ASP.NET

Web Forms, MVC, WebMatrix и SQL Server Compact могут великолепно сосуществовать в пределах одного и того же мобильного серверного приложения. Связи между всеми этими частями инфраструктуры ASP.NET с учетом участвующих в их работе компонентов Microsoft:


Рис. 2.1.

Согласно выступления на TechEd - конференции Брайана Харри [11], который сделал анонс выпуска Visual Studio 2013 [12], большинство новых функций Visual Studio 2013 адресовано мобильным, подключаемым приложениям. Например, в IDE появились возможности сбора сведений об энергопотреблении и использовании памяти, что очень полезно при создании ПО для мобильных устройств. Кроме того, Visual Studio 2013 предлагает инструментарий для мобильных приложений, использующих облачные сервисы. А именно, Microsoft передает интерфейс Visual Studio в среду Azure Mobile Services, которая синхронизирует данные и настройки для программы, работающей на различных устройствах Windows. Microsoft сохранит эти настройки в облаке, так что они будут загружаться на любое мобильное устройство или компьютер, подключаемые к Интернету.

Облака Windows Azure для гибридных мобильных приложений

Windows Azure - это название платформы "облачных сервисов" от Microsoft, с помощью которой можно размещать в "облачных" датацентрах Microsoft разнообразные приложения. Windows Azure реализует модель Platform as a service (PaaS), когда платформа предоставляется клиенту как сервис. Кроме того, платформа Windows Azure предоставляет возможность разработки и выполнения приложений, а также хранения данных на серверах, расположенных в распределенных датацентрах.

Функционирование ASP-серверного сценария в облаке будет отличным решением для гибридного мобильного приложения по многим причинам [13]. Вот некоторые из них:

  • Windows Azure - это оптимальное решение для периодических рабочих нагрузок, которые возникают лишь время от времени при обращении клиентского мобильного виджета к серверному сценарию.
  • Облачный сервис доступа к данным SQL Azure предлагает привычные разработчику инструменты управления базами данных SQL Server.
  • Созданный средствами Visual Studio или WebMatrix проект типа WebForms, MVC, Web Pages, развернуть в облаке достаточно просто.

Microsoft объявила в 2013 году о выпуске версии 2 Windows Azure SDK для NET и обновления платформы Windows Azure . В этой версии представлен новый интерфейс для создания, управления и обновления сайтов, размещенных на Azure, а также поддержка HTML5/JS мобильного клиента и возможность совместного использования ресурсов Cordova и Windows Phone. Кроме того, Microsoft также включила в WebMatrix 3 новые функции, которые позволяют получить удаленный доступ к мобильным серверным приложениям, размещенным в облаке и доступным FTP. Теперь можно вносить небольшие изменения в сайты, размещенные в облаке, используя удобные инструменты для редактирования кода в WebMatrix. Все файлы приложения изменяются удаленно, но если вам нужно, вы можете скачать весь сайт на локальный компьютер.

Для разработчиков Windows Phone, iOS, Android и мобильных HTML5-приложений Microsoft предлагает использовать мобильный сервис Windows Azure Mobile Services. Мобильные разработчики, применяющие Windows Azure Mobile Services получают единую инфраструктуру для всех своих мобильных приложений, содержащую [14]:

  • реляционное хранилище табличных данных и файлов;
  • готовую возможность аутентификации пользователей через популярные провайдеры аутентификации: Facebook, Twitter, Microsoft Account, Google и Active Directory;
  • готовую инфраструктуру и настроенный функционал для отправки пуш-уведомлений на все платформы с помощью одного API с поддержкой стандартных для платформ механизмов: Windows Notification Service, Microsoft Push Notification Service, Apple Push Notification Service, Google Cloud Messaging;
  • готовую настроенную платформу для создания и запуска серверного кода на базе JavaScript и Node.js (а вскоре и на базе .NET). Платформа позволяет писать скрипты для обработки событий таблиц реляционного хранилища (вставку данных, удаление, чтения и обновления данных);
  • функционал серверного кода на базе JavaScript и Node.js.

Разработчики мобильных приложений на базе HTML5/JS, например Cordova, так же имеют встроенную поддержку Mobile Services. Кроме того, работа со всеми элементами облачного Mobile Services возможна через открытый и документированный API, что делает охват платформ Windows Azure Mobile Services максимальным.

< Лекция 1 || Лекция 2: 12 || Лекция 3 >
Дмитрий Белов
Дмитрий Белов

Каким образом можно создать точку останова? Например, если в Лекции 8 в примере, который демонстрирует возможность <canvas> для работы с готовыми изображениями (последний в лекции) в цикле
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
sx = 300 * i; sy = 350 * j;
contextNow.drawImage(img, sx, sy);}
поставить точку останова, то при запуске отладки проекта точка становится пустой окружностью с сообщением: В настоящий момент попадание в точку останова не произойдет. Нет загруженных символов для этого документа. Как все-таки создать точку останова и пройти по шагам весь код?