移动开发人员的云服务:谷歌与亚马逊vs. azure与parse

移动应用的基于云的后端结合了具有不同程度的复杂性的关键服务

移动平台的胜利在企业世界进行了许多变化。电子邮件现在更加简洁,因为没有人可以用微小的键盘键入长度。网页更简单,因为没有人的眼睛可以阅读微小屏幕上的所有细节。云是必不可少的。没有遥远机架的遥远机器的健康服务,手机和平板电脑不能存在。

云总是一个好主意,但现在它是不可或缺的。在桌面机器文件系统中戳的能力是一个很棒的自由 - 以及责任。桌面世界仍然根据早期个人电脑的前沿创造的生活规则下运营。他们是你的文件;现在显示出一些刺激并照顾它们。

[用“留在云端云计算深潜水“特别报告。今天下载它!|从亚马逊到Windows Azure,了解Elite 8 Public Clouds如何在InfoWorld的评论中进行比较。|为了快速,聪明地接受您将在谈论的新闻中,退房InfoWorld TechBrief.- 今天订阅。]

移动操作系统使坚固性的个人主义成为所有但是不可能的。移动用户无法操作文件或处理自己的数据,除非他们采取极端措施和root手机。也许它偶然演变,因为早期手机相对愚蠢。也许它是通过设计,因为史蒂夫乔布斯知道智能手机用户并不真正想要给桌面用户的传统功率。也许智能手机创作者在“几个好人”中窜了杰克·尼科尔森,因为他们知道我们无法处理它。

在任何情况下,现在都无法为移动世界建立几乎任何重要的应用程序,而无需稳定地连接到云中可靠的后端。电子邮件和笔记更好地存储在某个地方,因为有人会在厕所,湖泊,水坑,一锅汤,或者知道什么。即使是浪费时间的小游戏也需要保持用户的历史。桌面游戏可以将最大分数存储在本地磁盘上,但这与手机不起作用。所有这些数据都需要在手机之外的某个地方住。

好消息是云公司已准备好帮忙。在早期,您可以始终设置自己的服务器,挂钩自己的例程,并启动自己的数据库以照顾移动客户端。现在谷歌,亚马逊,微软和初创公司喜欢解析(由Facebook获得去年4月)正在加紧提高更多的交钥匙系统。他们已经在其基本机器顶部建立了另一层数据服务,并将它们销售给想要购买后端的开发人员,逐步而不是批发。软件包为您的应用程序需要良好的工作,并为您提供扩展的能力。

以下是通过这四个云的游览,提供API,他们称之为“移动服务”或“移动后端作为服务”(MBAAS)。虽然移动服务可能听起来完全是新的,但实际上这些云正在混合一些具有颤动的新工具,然后用关键字“Mobile”将结果盖章。这不是我们的丑陋效果,而是一种壮大的重新包装。台式机和其他机器需要许多相同的服务。毕竟,移动和桌面之间唯一的差异通常是屏幕,键盘和指向设备的大小。到数据中心2020欧洲杯预赛,设备完全相同。这些API中的许多人都认识到这一事实并不奇怪。

Microsoft Windows Azure移动服务Windows Azure是Microsoft围绕其原始计算电源和数据存储云包裹的品牌名称。在越来越多的工具集合的一个角落坐下来,移动服务,汇集了汇集了Microsoft的云数据库的信息的json数据包。

这个名字说明了当MBA坐在桌子周围并谈论品牌名称时会发生什么。并非本云中的所有内容都与称为Windows的操作系统有很大关系。所有流量进出都作为开放标准和大部分基础设施都是开源的。租金上虚拟机上的操作系统的选择菜单开始Windows服务器,但它还包括Ubuntu和Oracle Linux。Identity Manager支持使用Microsoft帐户的登录,以及Facebook,Twitter和Google的帐户。Azure团队显然希望能够对客户想要的任何东西开放,但品牌经理可能认为折腾“Windows”这个词将充当杠杆或品牌延伸。

当我挖掘深度时,微软门控社区和开放网之间的这种分裂变得更加明显。许多文件都鼓励程序员使用视觉工作室创造一切。我点击了下载按钮并确定了超过3GB的文件到达。

在等待时,我用我的Linux盒子戳了一下,发现我不需要Windows或Visual Studio享受Windows Azure移动服务的奇迹。在浏览器窗口中几下咔嗒声,我配置并测试了坐在微软云中的胖数据库表吸收我发送的数据的数据。我的下载仪表在Visual Studio上只有几百兆字节的数据,但我的移动应用程序有一个跑回来。我取消了下载。

秘密是Windows Azure移动服务是一个node.js上的美丽前端。顶部的徽标来自Microsoft Central Branding,但只需要几分钟即可意识到下面的几乎所有内容都是Microsoft SQL数据库的Node.js作为网守。

一旦开始通过添加逻辑自定义移动服务,这将变得显而易见。如果单击“插入”,则使用JavaScript中的浏览器中的浏览器中的一个字段。您可以以任何方式操纵数据,然后将其传递到将其写入数据库的代码。您可以过滤数据,检查错误,并在几行JavaScript中添加定制字段,如时间戳。当您按保存时,Windows Azure移动服务将其转换为Node.js代码。

这是构建简单Web服务的干净方法。您编辑JavaScript函数,Web后端将它们包装为节点。在我开始犯错误之前,我度过了愉快的时光 - 没有大量的调试支持。代码要么工作,要么失败。当我离开了一个卷曲的括号时,一切都停止了运作,直到我想出来。Web界面对于基本工具和快速前端,但您无法在数据上构建长,复杂的过滤器。

Windows Azure仪表板图形使用和跟踪所有服务的数据流。

值得注意的是,您不需要处理许多细节。当我将额外的字段添加到我发送到服务器的JSON数据包中时,将致神奇地存储新列。后端为工作中的大部分工作,并使流程非常类似地使用像CouchDB等一个非结构化文档商店。很多代码可以走很长的路要走。

Azure通过为您提供从Windows到iOS到Windows Phone 8所需的六个平台所需的所有代码来简化该过程XAMARIN.。在每个人中,只需要几行来添加合适的库和更多的东西来存储数据。您的任何一个都不需要Visual Studio。

我不确定这将如何与想要部署“品牌扩展”这样概念的品牌经理,但我喜欢使用简单的HTML5应用程序使用移动云。微软对每个人开放这一点,这意味着对于需要跨越传统网络,传统台式机和移动应用程序的新世界需要易于使用的项目。

不是每个部分都是如此简单或可访问。推送服务主要用于Windows应用程序。使用Visual Studio构建它们更简单。这些可以与Apple和Google的云消息传递系统相关联。Azure服务器上的编程是在JavaScript中完成的,您只需插入库以向右声道ID发送消息。但是,客户的编程是棘手,更涉及。

Azure移动服务有更多零件,Microsoft连续添加到堆栈中。调度和缩放等功能列为“预览”,但它们似乎工作。计划的作业是JavaScript函数,而缩放更改服务层的容量级别。

整个包都显示了JavaScript可以完成的内容。如果您对语言感到满意,您将喜欢使用少数功能和某种输入的相当复杂的系统来旋转相当复杂的系统。它非常容易添加简单的业务逻辑来汇集数据库和退出数据库。如果你不喜欢JavaScript - 好吧,那么学习你需要的东西并不难。

我怀疑更多的雄心勃勃的项目将迅速达到该系统的极限。如果您认为您需要重新返回低级呼叫或添加复杂的逻辑,您可能会开始遇到将一些JavaScript放入浏览器的文本字段的限制。但是你可以用微软提供的内容做得很多。

谷歌移动后端启动器Google提供了作为计量服务的第一个应用程序平台:App Engine。现在谷歌想要成为移动后端,并这样做,它捆绑在一起其一些现有的云基础架构。谷歌已经拥有一个带有REST API的存储引擎,用于Google登录的身份验证系统和消息传递系统。把它变成一个凝聚力的移动产品并不难。

移动应用程序的基础知识可以用这些部分中的任何一个构建。谷歌的API集合是巨大的,它始终是任何应用程序或桌面工具的良好开端。只需一点工作就可以轻松地将信息存储在Google Cloud中。

移动后端更多地关注消息传递,身份验证和持续查询,最后是处理来自高奇世界的无休止信息流的工具。虽然App Engine将在PHP,Python和Go中接受代码,但移动后端的所有示例都是Java。

挖掘这些工具令人惊讶的是繁重的。在下载eClipse的插件后,我无法将库和代码变为魔法对齐。问题的一大部分是谷歌播放服务,封闭的源通道,越来越多的我们认为是谷歌的。总会有关于适量的开放量的争论,但我花了几个小时试图让图书馆安装。部分问题是,模拟器现在有两种口味:谷歌和Android。保持差异直接,因为没有Google Play服务,代码不能单独运行Android。

Google的移动后端API Explorer允许您测试和调试API调用。

新功能令人着迷,有点可怕。谷歌想要与一些较新的,看似连续的服务等较新的竞争等待。如果您编写了一个新的连续查询,您可以要求App Engine搜索过去,未来或两者。未来的搜索不使用时间机器;他们只是坐在服务器上等待存储的新数据。如果新信息与查询匹配,则会向客户端推出。文档说明了目前可以等待的10,000个客户限制。您不会立即将一个像Twitter一样大的项目旋转,至少在Google处理此限制之前。

该文件附带了一个警告,即攻击休闲编码器:“前瞻性搜索是谷歌应用引擎的实验,创新和快速改变的新功能。不幸的是,在出血边缘意味着我们可能会向后兼容更改预期搜索。当这个功能不再实验时,我们会通知社区。“

这是什么意思?应用引擎本身仍然列为一些屏幕中的“预览”。事情真的很改变吗?毫无疑问,谷歌将尽力确保平台尽可能稳定,但云的一些元素显然是在进行中的工作。

使用任何额外的移动后端功能是一个很好的教训,为什么Java开发仍然是只有充足时间和金钱的昂贵的过程。该工具很复杂,代码很长,详细说明。例如,从Google Cloud Storage删除Blob的代码包括一个循环,将尝试删除五次,以防API被淹没或不可用。它充满了块,可以处理许多类型的例外。丰富性对大型团队建立具有高可用性的可靠软件有用,但这不是一个简单的过程。

当然,你不需要深深地挖掘这个富裕人士。有几十个API - 地图,日历,联系人,驱动器,环聊等 - 而且大多数人都对移动世界有一些真正的价值。即使它们不在所谓的移动服务的官方列表中,所有这些不同的元素也应被视为移动产品的一部分。

12 4.
第1页,共2页
IT薪水调查:结果是