我正在做一个涉及网站的项目,然后完成移动应用程序(很可能将使用 Phonegap 或 Sencha 等跨平台工具构建)。
整个应用程序是大量数据驱动的,所有这些都将存储在我们网络服务器上的 MySQL 数据库中。我知道我将设置一个 REST API 作为移动应用程序的服务层,但我不确定 - 我是否也应该将此 API 用于主网站?
在我开始这个项目之前我需要知道这一点,因为如果我真的打算吃我自己的狗粮,那么 API 将是第一要务。
万一这很重要 - API 永远不会暴露给第三方开发人员。
当然,为什么不呢?这意味着您将只有一个入口点来测试和监控,它遵循DRY 原则,如果您也使用它,它将鼓励更好的 API 设计。
是的,您应该使用该网站的 API。它简化了您的代码库并鼓励代码重用,因为您只处理一个 API 而不是两个(REST + MySQL)。此外,它使开发人员(包括您!)的生活更轻松,因为一次只需要记住一组 API 调用。
此外,将来您可能会使用 HTML 构建您的移动应用程序(可能使用最近开源并重命名为Cordova的 PhoneGap )。如果您的网站使用 REST API,您可以更轻松地将 Web 代码移植到 HTML5 移动版。
Nitpick:这不是吃你自己的狗粮的问题。Dogfooding通常是指从用户而不是开发人员的角度使用预发布代码,以便更容易发现错误。