将 Sproutcore 应用程序连接到 MySQL 数据库

Connect Sproutcore App to MySQL Database

我正在尝试构建我的第一个 Sproutcore 应用程序,但我很难将它连接到 MySQL- 数据库或除 fixture 之外的任何数据源。我似乎找不到任何教程,除了这个 2009 年标记为已弃用的教程: http://wiki.sproutcore.com/w/page/12413058/Todos%2007-Hooking%20Up%20to%20the%20Backend 。 人们通常不会将 SC-Apps 连接到数据库吗?如果他们这样做,他们如何知道如何做?或者上面提到的教程仍然有效吗?介绍中的许多 gem-commands 似乎已经与官方 Sproutcore 入门指南不同。

SproutCore 应用程序作为客户端 "in-browser" 应用程序,无法直接连接到 MySQL 或任何其他非浏览器数据库。应用程序本身仅在用户的浏览器中运行(它只是 HTML、CSS 和 JavaScript 一旦构建和部署)并且通常通过 XHR 请求访问任何外部数据到 API或 APIs。因此,您需要围绕 MySQL 数据库创建一个服务包装器,以便您的客户端应用程序能够加载和更新数据。

有两点值得一提。首先是因为 SproutCore 应用程序包含您所有的用户界面和大量业务逻辑,您的 API 可以非常简单并且应该只有 return 原始数据(例如 JSON ).第二个是,我应该提到客户端-服务器设计虽然实现起来比较乏味,但在实践中是绝对必要的,因为你永远不能相信客户端代码,它掌握在可能是恶意用户的手中。因此,您的 API 也应该作为最终的看门人来验证来自客户端的所有请求。

我发现这个教程对我帮助很大。它非常简短,演示了如何实现一个非常简单的登录应用程序、如何发送 post-请求(由登录按钮操作触发)到后端服务器以及如何在 Sproutcore 中异步处理响应-应用程序:

http://hawkins.io/2011/04/sproutcore_login_tutorial/