网站后端和移动服务层应该使用相同的API吗?

时间:2012-04-15 00:33:35

标签: api rest

我正在开发一个涉及网站的项目,在此之后,移动应用程序(很可能将使用Phonegap或Sencha等跨平台工具构建)。

整个应用程序是大量数据驱动的,所有这些都将存储在我们的网络服务器上的MySQL数据库中。我知道我将设置REST API作为移动应用程序的服务层,但我不确定 - 我是否应该在主网站上使用此API?

在我开始这个项目之前我需要知道这个,因为如果我打算吃自己的狗食,那么API将是第一优先。

如果重要 - API永远不会向第三方开发者公开。

2 个答案:

答案 0 :(得分:6)

当然,为什么不呢?这意味着您只有一个入口点进行测试和监控,它遵循DRY principle,如果您也使用它,它将鼓励更好的API设计。

答案 1 :(得分:4)

是的,您应该使用该网站的API。它简化了代码库并鼓励代码重用,因为您只处理一个API而不是两个(REST + MySQL)。此外,它使开发人员(包括您!)的生活更轻松,因为一次只能记住一组API调用。

此外,将来您可以使用HTML构建移动应用程序(可能使用PhoneGap,最近开源并重命名为Cordova)。如果您的网站使用REST API,则可以更轻松地将Web代码移植到HTML5 for mobile。

Nitpick:这不是吃自己的狗食的问题。 Dogfooding typically refers从用户而不是开发人员的角度使用预发布代码,以便更容易发现错误。