当前位置:嗨网首页>书籍在线阅读

03-理解应用数据

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.1.1 理解应用数据

在规划如何组织组件之前,除了原型,我们还需要其他一些东西。我们需要知道API会给应用提供什么信息。基于原型我们可能已经猜到了一些能获取到的数据。在开始创建UI之前,了解应用的数据形式将是我们进行规划的重要组成部分。

Web API

人们可能在工作或学习中经常听到API这个术语。如果已经很熟悉这个概念,随意跳过这个部分。如果还不熟悉,那么这个部分可能有所帮助。API是什么?API或者应用编程接口是一组构建软件的例程和协议。这听起来可能很含糊,而且这是一个相当笼统的定义。API是一个宽泛的术语,适用于从公司平台到开源库的所有东西。

在Web开发和工程中,API几乎已经成为基于Web的远程公共API的同义词。这意味着API通常是一种向外部暴露程序或平台交互方式的清晰的办法,通常通过互联网,供人们使用和消费。这样的例子非常多,但两个最广为人知的是Facebook和Stripe的API,它们提供了一组通过Web与其程序和数据进行交互的方法。

Letters公司(我们虚构的公司)的后端团队已经创建了这样的API供人使用。基于Web的API有许多不同的形式和种类,在本书中使用的这个API是一个REST风格的JSON API。这意味着服务器会返回JSON格式的数据而且可用的数据是围绕着像users、posts、comments等这样的资源进行组织的。REST风格的JSON API是远程API的常见形式,因此如果你还没有用过的话,这应该不会是你唯一一次使用它。

代码清单2-1展示了评论框通过API接收到的数据的一个例子以及它是如何与原型匹配的。

代码清单2-1 JSON API示例

{
  "id": 123,    ⇽--- 这个没有在原型中出现,但这并不代表不需要这项数据
  "content": "What we hope ever to do with ease, we must first learn to do
     with diligence. — Samuel Johnson",
  "user": {
     "name": "Mark Thomas",
    "id": 1
  },
  "comments": [{    ⇽--- 接收到一组评论对象
   "id": 0,         ⇽--- 评论也有ID
    "user": "David",
    "content": "too. mainstream."
  }, {
    "id": 1,
    "user": "Peter",
    "content": "Who was Samuel Johnson?"
  }, {
    "id": 2,
    "user": "Mitchell",
    "content": "@Peter get off Letters and do your homework!"
  }, {
    "id": 3,
    "user": "Peter",
    "content": "@mitchell ok dad :P"
  }]
}

这个API返回了一个包含单个帖子的JSON响应。它有一些重要属性,包括 idcontentusercommentsid 是一个数字, contentuser 是字符串,而 comments 是一个对象数组。每条译论都有自己的ID、发表评论的用户以及评论的内容。