Stay up to date with the latest marketing, sales and service tips and news.
原文链接:Makkonen Sami - Enginio: Qt Backend as a Service Launches Tech Preview
您可能已经在2012年的Qt开发者大会上听说了Enginio,或者可能偶然发现了我们的网站,http://engin.io。现在我们已经准备好正式开启我们的Enginio技术预览版的大门,欢迎您来测试。我们已经有一些早期尝鲜者,他们提供的宝贵反馈意见,我们已经用于产品开发。
纵观现有的云解决方案,我们发现仍有改进的空间。它们有时很难上手,并且需要某些基础设施或平台的专业知识,大多数情况下,它们没有Qt/C++应用程序接口。使用这些经验,在我们尝试过为各种各样的程序构建后端之后,我们决定创建一个解决方案,它使用基于Qt的直观接口把应用程序和后端云存储连接起来。使用Enginio,开发人员能够专注于创建他们的应用使之视觉愉悦和运行良好,让Enginio来管理后端功能、扩展、安全和性能。
我们的目标是基于Qt的一句箴言--“使开发者的生活更简单”,所以我们要做的是为开发者提供一个不复杂的、无压力的后端开发体验。所以我们开始创建一个易用并且为Qt应用开发增值的解决方案,与此同时,把不费力的开发特质传递到其它平台。我们希望能够确保这个Qt后端能够为所有人提供增值。 Enginio也将会在商业运作之下,同时提供给Qt的开源和企业用户。对使用商业许可进行开发的Qt企业用户,稍候会为他们提供一些附加的增值特性和功能。
Enginio技术预览版支持:
Qt库的最新发布版可以从Enginio控制面板找到。
共享库和QML扩展插件,像其它Qt项目一样,使用‘qmake && make && make install’构建和安装。
I. 在Qt Creator中选择:文件(File) > 新建文件或工程……(New File or Project…)创建新的“Qt Gui Application”。
II. 在新工程的pro文件中添加:
QT += network
win32:CONFIG(debug, debug|release): LIBS += -lenginioclientd
else: LIBS += -lenginioclient
III. 在MainWindow.cpp中:
// Include Enginio headers
#include// 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();
I. 在Qt Creator中选择:文件(File) > 新建文件或工程……(New File or Project…)创建新的“Qt Quick 2 Application (Built-in Elements)”
II. 在main.qml中:
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();
});
}
构建和您的互联程序就完成了。
我们想邀请更多的朋友来测试和提供反馈。然而请牢记这项服务仍在开发中并且您可能遇到一些漏洞、变更和崩溃。请到http://engin.io看一下吧。把您的想法告诉我们。
您可以通过mailus@engin.io联系到Enginio的开发团队。
Stay up to date with the latest marketing, sales and service tips and news.
Download the latest release here: www.qt.io/download.
Qt 6 was created to be the productivity platform for the future, with next-gen 2D & 3D UX and limitless scalability.
Find webinars, use cases, tutorials, videos & more at resources.qt.io
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Näytä tämä julkaisu Instagramissa.Henkilön Qt (@theqtcompany) jakama julkaisu
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.