不仅有 Web 服务,而且现在有强大的系统提供了一种方法,可以在您的应用程序上实现服务器端的某些逻辑。它们被称为 BaaS 或 Backend as a Service 提供程序,通常为您的前端应用程序提供一些主干。
虽然它们有多种用途,但我将列出我认为最常见的:
-
对于移动应用程序 - 您可以使用标准平台为您的应用程序存储逻辑和数据,而不必为您编写代码的每个设备学习 API。
用于原型设计 - 如果您想创建一个流畅的应用程序,但又不想为数据编写所有后端逻辑 - 更少处理所有操作和系统管理这代表 - 通过 BaaS 提供商,您只需要良好的前端技能即可编写您可以想象的最简单的 CRUD 应用程序。一些 BaaS 甚至允许您绑定一些 Reduce algorithms 以调用您的表演到他们的 API。
Web 应用程序 - 当 PaaS (Platform as a Service) 来到镇上为后端开发人员减轻工作以避免系统管理和操作的麻烦时,它只是后端也会发生同样的情况。有很多clones 展示了这种策略的真正威力。
所有这些都令人惊叹,但我还没有提及其中任何一个。我将列出我最了解并在项目中实际使用过的那些。可能有很多,但据我所知,这一条已经满足了我的大部分新闻,无论是前面提到的任何一条。
Parse 最突出的功能针对移动设备;然而,如今 Parse 包含数量惊人的 API,可让您将其用作 Javascript、Android 甚至 Windows 8 应用程序的全功能后端服务(今年几个月前,Windows 8 SDK 为 introduced)。
解析代码在 Javascript 中的外观如何?
解析通过类和对象工作(不是很漂亮吗?),因此您首先创建一个特定的类(可以通过 Javascript、REST 甚至数据浏览器管理器完成),然后将对象添加到特定的类。
首先,在javascript中添加Parse作为脚本标签:
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.1.15.min.js"></script>
然后,通过给定的 Application ID 和 Javascript Key,初始化 Parse。
Parse.initialize("APPLICATION_ID", "JAVASCRIPT_KEY");
从那里开始,一切都是对象操作
var Person = Parse.Object.extend("Person"); //Person is a class *cof* uppercase *cof*
var personObject = new Person();
personObject.save({name: "John"}, {
success: function(object) {
console.log("The object with the data "+ JSON.stringify(object) + " was saved successfully.");
},
error: function(model, error) {
console.log("There was an error! The following model and error object were provided by the Server");
console.log(model);
console.log(error);
}
});
身份验证和安全性如何?
Parse 有一个基于用户的身份验证系统,它几乎允许您存储可以操作数据的用户群。如果将数据与用户信息进行映射,则可以确保只有给定用户才能操作特定数据。此外,在 Parse 应用程序的设置中,您可以指定不允许任何客户端创建类,以确保执行不必要的调用。
你真的在网络应用程序中使用过吗?
是的,它是我选择的中等保真度工具prototype。
Firebase 的主要功能是能够轻松地为您的应用程序提供实时功能。您不需要MeteorJS 服务器即可将推送通知引入您的软件。如果您了解 Javascript,那么您就已经为您的用户带来了实时魔法。
Firebase 在 Javascript 中的外观如何?
Firebase 以 REST 方式工作,我认为他们在构建 Glory of REST 方面做得非常出色。作为一个很好的示例,请查看 Firebase 中的以下资源结构:
https://SampleChat.firebaseIO-demo.com/users/fred/name/first
你不需要成为火箭科学家就知道你正在检索用户“Fred”的名字,至少有一个 - 通常应该有一个 UUID 而不是一个名字,但是嘿,它是举个例子,让我休息一下-。
为了开始使用 Firebase,就像 Parse 一样,添加他们的 CDN Javascript
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
现在,创建一个允许您使用 Firebase API 的引用对象
var myRootRef = new Firebase('https://myprojectname.firebaseIO-demo.com/');
从那里,您可以创建一堆整洁的应用程序。
var USERS_LOCATION = 'https://SampleChat.firebaseIO-demo.com/users';
var userId = "Fred"; // Username
var usersRef = new Firebase(USERS_LOCATION);
usersRef.child(userId).once('value', function(snapshot) {
var exists = (snapshot.val() !== null);
if (exists) {
console.log("Username "+userId+" is part of our database");
} else {
console.log("We have no register of the username "+userId);
}
});
身份验证和安全性如何?
你很幸运! Firebase released their Security API 大约两周前!我还没有探索它,但我确信它填补了大部分空白,让随机的人可以将您的参考用于他们自己的目的。
你真的在网络应用程序中使用过吗?
Eeehm...好吧,不。我在Chrome Extension 中使用过它!它仍在进行中,但它将成为 Chrome 扩展程序中的实时聊天。那不是很酷吗?美好的。我觉得很酷。无论如何,您可以在他们的examples page 中浏览更多精彩的 Firebase 示例。
这些服务有什么魔力?如果您阅读了您的Dependency Injection 和Mock Object Testing,在某个时候,您可以通过 REST Web 服务提供者完全替换所有这些服务。
由于这些服务是为在任何应用程序中使用而创建的,因此它们已准备好 CORS。如前所述,我已经成功地从多个域中使用了它们,没有任何问题(我什至尝试在 Chrome 扩展程序中使用 Firebase,我相信我很快就会成功)。
Parse 和 Firebase 都有数据浏览器管理器,这意味着您可以通过简单的网络浏览器查看正在处理的数据。作为最后的免责声明,除了James Taplin(Firebase 联合创始人)令人惊叹的面孔让我能够获得 Firebase 的一些 Beta 访问权限之外,我与任何这些服务都没有任何关系。