Главная » Блоги Экспертов И ИТ-Компаний » Enginio: Qt Backend как услуга

Enginio: Qt Backend как услуга

Возможно, вы уже слышали об Enginio во время Qt Developer Days 2012 или натыкались на наш сайт http://engin.io. Сегодня мы хотим официально открыть доступ к техническому превью с Enginio и рады предложить вам опробовать данный сервис. Мы уже получили ценные замечания и  отзывы от разработчиков, опробовавших наш сервис ранее, и включили их пожелания в наш продукт.

Почему Enginio?

Когда мы обратили свое внимание на предложения существующих облачных решений, мы увидели, что есть некоторые возможности для улучшений и усовершенствований, которые могут быть очень полезны для разработчиков. Некоторые из существующих облачных решений было тяжело начать использовать, либо решения требовали уже имеющихся знаний конкретных инфраструктур или платформ, а в большинстве случаев – не предоставляли Qt/C++ API для клиентов. Используя наш опыт создания серверных решений для различных видов приложений, мы решили создать сервис, который позволит соединять ваши приложения с облачным хранилищем, используя интуитивные Qt API. Используя Engino, разработчики могут сконцентрироваться на самом приложении, на его UI-ной части, предоставив Enginio взять на себя задачи по управлению серверной функциональностью, масштабируемостью, безопасностью и производительностью.

Нашей целью было – используя девиз Qt – сделать «жизнь разработчиков легче» («developer’s lives easier»), предоставить им простой и неперегруженный способ работы с backend-ом. Таким образом, мы начали создавать решение, которое было бы просто использовать, предоставляло дополнительные возможности для разработки Qt приложений, и в то же время показало легкость Qt разработки для других платформ. Мы хотим показать, что дополнительные возможности и преимущества использования Qt  в качестве серверного решения доступны для всех платформ. Использование Enginio будет доступно как для open-source пользователей Qt, так и для корпоративных пользователей Qt. Для корпоративных пользователей Qt, использующих в разработке коммерческую лицензию Qt, позднее будут доступны дополнительные возможности и функционал.

Данный предварительный технологический превью Enginio предоставляет следующее:

  • Веб-панель (web dashboard) – веб-интерфейс для конфигурирования и управления вашим backend-ом;
  • Безсхемное (schema-less) хранилище данных – место для хранения данных вашего приложения;
  • Модель безопасности – механизм контроля – какой пользователь к каким данным может иметь доступ;
  • Поддержка файлов – для хранения больших или малых файлов в облаке;
  • Полнотекстовый поиск – поиск по содержимому сохраненных данных;
  • Qt/QML библиотека для клиента – удобный способ для создания приложений.

   

С чего начать?

1. Зарегистрируйтесь на Enginio:

2. Настройте Ваш новый backend:


3. Разработайте ваше приложение:

Самая свежая версия библиотеки для Qt доступна прямо на панели Engionio.

Разделяемую (shared) библиотеку и плагин QML расширения - собрать и установить как обычно:  ‘qmake && make && make install’

Пример для Qt/C++

  1. В QtCreator – выбрать File > New File or Project… и создать новое приложение «Qt Gui Application».
  2. В .pro файле нового проекта добавить:
1
2
3
QT += network
win32:CONFIG(debug, debug|release): LIBS += -lenginioclientd
else: LIBS += -lenginioclient

 

        III. В файле MainWindow.cpp – добавить следующее:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Include Enginio headers
#include <Enginio/Enginio>
 
// Instantiate Enginio Client
// Copy your backend ID and secret from Enginio dashboard
const QString backendId("YOUR_OWN_BACKEND_ID");
const QString backendSecret("YOUR_OWN_BACKEND_SECRET");
EnginioClient *client = new EnginioClient(backendId, backendSecret);
 
// Create new object to backend
EnginioJsonObject banana("objects.fruits");
banana.insert("name", QStringLiteral("Banana"));
banana.insert("price", 1.59);
EnginioObjectOperation *createOp = new EnginioObjectOperation(client);
createOp->create(banana);
createOp->execute(); // Initiates asynchronous operation
 
// Fetch objects from backend to list model
EnginioObjectModel *objectModel = new EnginioObjectModel();
EnginioQueryOperation *queryOp = new EnginioQueryOperation(client);
queryOp->setObjectType("objects.fruits");
queryOp->setModel(objectModel);
queryOp->execute();

 

 

Пример для QML:

  1. В QtCreator – выбрать File > New File or Project… и создать новое приложение «Qt Quick 2 Application (Built-in Elements)»
  2. В файле main.qml добавить:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import io.engin 1.0 as Enginio
 
// Instantiate Enginio Client
// Copy your backend ID and secret from Enginio dashboard
Enginio.Client {
    id: client
    backendId: "YOUR_OWN_BACKEND_ID"
    backendSecret: "YOUR_OWN_BACKEND_SECRET"
}
 
Enginio.ObjectModel {
    id: objectModel
}
 
Enginio.QueryOperation {
    id: queryOp
    client: client
    model: objectModel // Query results are added to model
    objectTypes: ["objects.fruits"// Get all fruit objects
}
 
Component.onCompleted: {
    // Create new object to backend
    var banana = {
        objectType: "objects.fruits",
        name: "Banana",
        price: 1.59
    };
    var createOp = client.createObjectOperation();
    createOp.create(banana);
    createOp.execute();
    createOp.finished.connect(function() {
        // Fetch objects from backend to list model
        queryOp.execute();
    });
}

Собрать (Build) – и ваше приложение, подключенное к backend-у на Enginio, готово!

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

 

Попробуйте сервис прямо сейчас на http://engin.io! Поделитесь с нами вашим мнением о данном сервисе!

Вы можете связаться с командой разработчиков Enginio, используя почту mailus@engin.io


Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.
5 лет назад
Комментарии
Другие публикации
RU, Санкт-Петербург
Информационные технологии

ООО «Диджия РУС» является российским подразделением Digia Plc, одной из ведущих IT-компаний в Финляндии. Наши офисы расположены в Финляндии, Швеции, России, Норвегии, США и Китае и насчитывают около 1000 профессионалов. Акции компании котируются на фондовой бирже NASDAQ OMX Helsinki (DIG1V). Компания Digia, основанная в 1997 году, обладает уникальным опытом развития корпоративных информационных систем, решений для мобильных устройств и веб-приложений.  

Специализацией Диджия РУС являются:

- Системы отчетности и бизнес-анализа (на платформах QlikView и Microsoft BI)

- Системы видеоаналитики

- ERP-системы (на платформе Microsoft Dynamics AX)

- Портальные решения (на платформе Microsoft SharePoint Server)

 

Контактное лицо: Пайсина Мария Александровна, Директор по коммуникациям и альянсам, тел.: (812) 6550340

Адрес: 197342 Россия, Санкт-Петербург, Белоостровская, 8, Тел.: 8126550340




Забыл пароль?
Авторизоваться через
Зарегистрируйся сейчас!
Присоединяйся к нашему обществу для того чтобы познакомиться с новыми людьми, создать собственный блог, публиковать анонсы событий и объявления, а также участвовать в обсуждении публикаций CNews. Мы создали единое пространство для общения специалистов рынка информационных технологий и всех, кто интересуется современными технологиями. Регистрация =>