找回密码
 立即注册
收起左侧

Enginio: Qt后端作为一个服务推出了技术预览版(转载)

1
回复
6360
查看
[复制链接]
累计签到:1570 天
连续签到:1 天
来源: 2013-5-24 09:34:00 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本文链接:http://blog.qt.digia.com/cn/2013 ... nches-tech-preview/


您可能已经在2012年的Qt开发者大会上听说了Enginio,或者可能偶然发现了我们的网站,http://engin.io。现在我们已经准备好正式开启我们的Enginio技术预览版的大门,欢迎您来测试。我们已经有一些早期尝鲜者,他们提供的宝贵反馈意见,我们已经用于产品开发。

为什么用Enginio?

纵观现有的云解决方案,我们发现仍有改进的空间。它们有时很难上手,并且需要某些基础设施或平台的专业知识,大多数情况下,它们没有Qt/C++应用程序接口。使用这些经验,在我们尝试过为各种各样的程序构建后端之后,我们决定创建一个解决方案,它使用基于Qt的直观接口把应用程序和后端云存储连接起来。使用Enginio,开发人员能够专注于创建他们的应用使之视觉愉悦和运行良好,让Enginio来管理后端功能、扩展、安全和性能。
我们的目标是基于Qt的一句箴言--“使开发者的生活更简单”,所以我们要做的是为开发者提供一个不复杂的、无压力的后端开发体验。所以我们开始创建一个易用并且为Qt应用开发增值的解决方案,与此同时,把不费力的开发特质传递到其它平台。我们希望能够确保这个Qt后端能够为所有人提供增值。 Enginio也将会在商业运作之下,同时提供给Qt的开源和企业用户。对使用商业许可进行开发的Qt企业用户,稍候会为他们提供一些附加的增值特性和功能。
Enginio技术预览版支持:
  • 网页版控制面板(配置和管理您的后端的用户界面)
  • Schema-less数据存储(存储应用程序数据的地方)
  • 安全模型(控制哪些用户访问什么数据的机制)
  • 文件支持(在云端保存小的或者大的文件)
  • 全文搜索(通过内容搜索存储的数据)
  • Qt/QML客户端库(创建应用程序的简便方式)

怎样开始?

注册一个Enginio账户



设置您的新后端




开发您的应用
Qt库的最新发布版可以从Enginio控制面板找到。


共享库和QML扩展插件,像其它Qt项目一样,使用‘qmake && make && make install’构建和安装。

Qt实例
I. 在Qt Creator中选择:文件(File) > 新建文件或工程……(New File or Project…)创建新的“Qt Gui Application”。
II. 在新工程的pro文件中添加:
  1. QT += network
  2. win32:CONFIG(debug, debug|release): LIBS += -lenginioclientd
  3. else: LIBS += -lenginioclient
  4. III. 在MainWindow.cpp中:

  5. // Include Enginio headers
  6. #include

  7. // Instantiate Enginio Client
  8. // Copy your backend ID and secret from Enginio dashboard
  9. const QString backendId("YOUR_OWN_BACKEND_ID");
  10. const QString backendSecret("YOUR_OWN_BACKEND_SECRET");
  11. EnginioClient *client = new EnginioClient(backendId, backendSecret);

  12. // Create new object to backend
  13. EnginioJsonObject banana("objects.fruits");
  14. banana.insert("name", QStringLiteral("Banana"));
  15. banana.insert("price", 1.59);
  16. EnginioObjectOperation *createOp = new EnginioObjectOperation(client);
  17. createOp->create(banana);
  18. createOp->execute(); // Initiates asynchronous operation

  19. // Fetch objects from backend to list model
  20. EnginioObjectModel *objectModel = new EnginioObjectModel();
  21. EnginioQueryOperation *queryOp = new EnginioQueryOperation(client);
  22. queryOp->setObjectType("objects.fruits");
  23. queryOp->setModel(objectModel);
  24. queryOp->execute();
复制代码
QML实例
I. 在Qt Creator中选择:文件(File) > 新建文件或工程……(New File or Project…)创建新的“Qt Quick 2 Application (Built-in Elements)”
II. 在main.qml中:
  1. import io.engin 1.0 as Enginio

  2. // Instantiate Enginio Client
  3. // Copy your backend ID and secret from Enginio dashboard
  4. Enginio.Client {
  5.     id: client
  6.     backendId: "YOUR_OWN_BACKEND_ID"
  7.     backendSecret: "YOUR_OWN_BACKEND_SECRET"
  8. }

  9. Enginio.ObjectModel {
  10.     id: objectModel
  11. }

  12. Enginio.QueryOperation {
  13.     id: queryOp
  14.     client: client
  15.     model: objectModel // Query results are added to model
  16.     objectTypes: ["objects.fruits"] // Get all fruit objects
  17. }

  18. Component.onCompleted: {
  19.     // Create new object to backend
  20.     var banana = {
  21.         objectType: "objects.fruits",
  22.         name: "Banana",
  23.         price: 1.59
  24.     };
  25.     var createOp = client.createObjectOperation();
  26.     createOp.create(banana);
  27.     createOp.execute();
  28.     createOp.finished.connect(function() {
  29.         // Fetch objects from backend to list model
  30.         queryOp.execute();
  31.     });
  32. }
复制代码
构建和您的互联程序就完成了。
我们想邀请更多的朋友来测试和提供反馈。然而请牢记这项服务仍在开发中并且您可能遇到一些漏洞、变更和崩溃。请到http://engin.io看一下吧。把您的想法告诉我们。
您可以通过mailus@engin.io联系到Enginio的开发团队。



回复

使用道具 举报

尚未签到

2013-5-24 10:19:15 显示全部楼层
这个可以有,某种程度上连后台都省了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了