Вроде бы, сегодня на рынке приложений есть уже все, что только пожелает потребитель. Казалось бы, пользователю остается только одна забота — выбирать подходящее ПО из всего этого многообразия, причем довольно часто — бесплатно. Однако жизнь показывает, что запросы людей обгоняют этот поток разработок. Да и огромное число продуктов создает проблемы: порой бывает, что проще сделать что-то заново, чем тратить время на поиски «такого же, но с перламутровыми пуговицами». Правда, найти программиста, который будет готов за умеренную цену сделать нужное именно вам, тоже не так-то просто. Но есть выход — сделать приложение самому. Именно такой вариант решения проблемы предлагает Microsoft с помощью нового сервиса PowerApps, о начале бета-тестирования которого корпорация объявила в последний день осени. По ее мнению, данный инструмент позволит создавать приложения пользователям, не имеющим опыта программирования, но при этом будет полезен и профессиональным разработчикам. Основная идея PowerApps — использование визуальных средств конструирования для создания облачных приложений с использованием различных источников данных.
Говоря о побудительных мотивах создания такого инструмента, Microsoft называет несколько проблем, с которыми сталкиваются пользователи мобильных устройств в поисках нужного им приложения. Прежде всего, это банальная нехватка профессиональных разработчиков, спрос на приложения растет быстрее, чем «пропускная способность» программистов. Второй момент — резкое увеличение спектра источников данных, при этом создание универсальных приложений, работающих со всеми возможными источниками с помощью встроенных программных настроек, — непростая задача. И еще один важный аспект: загрузка приложений из онлайновых магазинов не всегда приемлема, в том числе по соображениям безопасности. Решением этих проблем может стать механизм быстрого самостоятельного создания приложений с использованием индивидуального экземпляра программы, полностью контролируемого самим пользователем.
Сервис PowerApps позволяет создавать приложения, работающие с уже существующими источниками данных. Это могут быть облачные сервисы (Office 365, Dynamics CRM, Salesforce, Dropbox, Google Drive, OneDrive), разного рода онпремис-системы (SharePoint, SQL Server, базы данных Oracle, приложения SAP) или локальные файлы, в том числе таблицы Excel. С помощью визуального инструмента Connections разработчик устанавливает связи своей программы с внешними источниками, а затем реализует логику обработки получаемых данных и формирует пользовательский интерфейс, выбирая подходящий шаблон из предопределенного набора тем. В результате будет создано приложений в стиле «а-ля Microsoft Office».
Логика приложения формируется средством Logical Flow, позволяющим не только выполнять некоторую обработку данных, но и реагировать на появление в источнике определенного контента и выполнять какие-то действия в автоматическом режиме. Например, можно создать приложение, которое будет распространять уведомления по электронной почте в случае появления в Twitter публикаций с определенными словами. При этом опытные разработчики могут использовать и низкоуровневое программирование для создания того или иного функционала «с нуля». После выполнения сборки получается Web-приложение, доступное через Интернет по уникальному URL. Автор может передать этот адрес всем, кому посчитает нужным, сделав приложение доступным для заданного круга лиц или для всех желающих.
В представленном сейчас варианте PowerApps создает именно Web-приложения, которые хранятся и исполняются на облачном сервисе. Достоинством этого варианта является их платформенная независимость, но понятно, что в автономном режиме, без подключения к Сети, с таким ПО работать нельзя. Microsoft обещает, что вопрос о реализации автономных приложений, исполняемых непосредственно на клиентских устройствах, будет решен после анализа откликов пользователей. Для каких мобильных платформ будет реализована такая возможность, пока не объявлено.
В настоящее время PowerApps доступен в виде ограниченной публичной бета-версии: каждый желающий можно направить заявку на подключение, но решение о предоставлении доступа будет принимать Microsoft. Индивидуальные пользователи смогут в будущем работать с сервисом бесплатно, у них будет возможность создавать неограниченно число приложений, но интегрированных не более, чем с двумя облачными провайдерами данных. Тарифный план Standard будет платным, он позволит работать с любым число источников данных, а вариант Enterprise сможет задействовать данные из онпремис-приложений.