我是一位经验丰富的前端开发人员(Backbone,Coffeescript)和设计师,在后端工作方面几乎没有任何技能.我想构建一个sideproject,而不必担心设置服务器或维护数据库.项目必须尽可能精简且耗时少,但能够实现某种用户身份验证和高级标签方案将非常重要.
我正在考虑使用后端作为服务平台,如http://parse.com或http://stackmob.com,但仍然想知道是否有更好的方法来实现我想到的项目.鉴于我对情况的描述:您会推荐哪个平台/框架/堆栈?
我们运行了一个Cordova应用程序并使用Grunt编写了一个构建脚本,这使得构建应用程序变得轻而易举.我们不需要Chrome提供的任何API,除了老年Android设备的一些性能问题,这些问题迫使我们阻止这些设备上的一些小功能,对我们的应用程序的当前状态非常满意.
到目前为止,我们无法找到任何理由将Cordova App转换为移动Chrome应用程序.还是有什么我们遗失的?在JS速度,CSS支持等方面有什么不同吗?
我们需要使用外部合作伙伴的API.API处于良好状态,我们可以访问可用于自动测试的沙箱环境.
我们已经使用单元测试测试了外部API的每一次调用,但是当涉及外部伙伴方面的复杂操作时,我们不确定集成测试的最佳实践.
示例:我们服务的每个用户也在我们的外部合作伙伴处获得了一个用户对象.当在这个用户对象上执行外部API调用X时,我们期望对象Y出现在该用户的集合Z中(我们必须使用不同的调用来查询).
测试此类案例的最佳做法是什么?
尽可能地模拟外部API并依靠单元测试来完成他们的工作?优点:测试运行速度快,独立于互联网连接.缺点:错误在于我们的嘲笑可能导致误报.
集成外部API沙箱并针对它运行每个集成测试.优点:接近现实生活中的API交互.缺点:测试只能通过开放的互联网连接运行,并且需要更多时间.
使用模拟和沙箱数据的混合,设置布尔值以在需要时在内部(=模拟)和外部(=沙箱)环境之间切换.优点:可靠的测试.缺点:设置可能会很痛苦.
其他最佳做法?
谢谢!
相关:如何编写与外部API交互的集成测试?但是,答案"你没有.你必须真正相信实际的API实际上是有效的." 我们认为还不够.
[编辑]我们担心集成测试只针对我们假设外部API应该如何工作(即使它们基于单元测试) - 而不是针对实际的API - 会给我们带来误报.我们需要的是一个测试,它验证我们的假设(模拟)实际上是正确的 - 不仅在单元测试的上下文中,而且在具有多个步骤的复杂操作的上下文中.
验证可能是一个很好的例子:如果我们搞错了集成代码并发送格式错误的数据或数据,这些数据或数据在我们发送的上下文中没有任何意义,因为我们错过了一个步骤?我们的模拟API,它不会验证(或仅在非常有限的范围内)仍然会返回有效数据,而不是传递我们从真实API收到的错误.
tumblr支持从提供oembed json/xml文件(youtube,vimeo,dailymotion)的许多视频网站复制和粘贴链接,但似乎忽略其他人(screenr,ted.com),尽管这些网站也提供有效的oembed文件.
由于tumblr docs/google group/stackoverlow中没有关于此主题的信息:决定因素是什么?是否有提供商的白名单,如果有,谁可以与这个白名单联系?
非常感谢!
ps:作为一个embed.ly提供者(http://embed.ly/embed/features/providers)似乎还不够.