编者按:Alex Iskold 是 Techstars 的管理总监。他提出了一个观点,初创企业在进行 MVp 开发之前应该先考虑好 ApI 的设计。因为实际上 ApI 代表公司的业务本质,而且那些最好的 web 公司都有着非常简单优雅的 ApI。思考 ApI 实际上就是思考公司的未来。
我最近跟 Techstars 的一位创始人闲聊,突然就问了她这么一个问题:你们的 ApI 是什么?
这个问题听起来似乎有点奇怪,其实不然。
每一家初创企业和公司都会有提供给世界的接口。有的接口超级简单,比如 Google你能做的只有搜索;有的复杂一点,比如在 Amazon 上面买东西你可以浏览、搜索、添加到购物篮、请求退款等。
即便你不是工程师或者产品经理,想想你们公司给世界提供的 ApI 是什么也是很有意义的。把你的公司当作 ApI 来考虑有助于阐明你们是做什么的以及为什么要做。
ApI 心态迫使你思维要清晰和极简。
什么是 ApI?
ApI 即应用程序接口(Application programming Interface)。你可以把 ApI 看作是一个接口或者契约,软件组件、web 服务或者企业通过它来与世界进行交互。
或者换句话说,ApI 是软件组件、web 服务或者公司通信、发送请求以及接收响应的一种协议。
举个例子,假设 web 页面上有个简单的复选框。那么这个复选框的接口可以让你选中或者取消选中这个复选框。
/check导致复选框选中
/uncheck导致复选框取消选中
又比如我们要从 Digital Ocean 的 web 服务云加载 10 台服务器,那么它的 ApI 可能是这个样子的:
/launchServers?numServers=10 开始在云端运行 10 台服务器
在后面这个例子里面,launchServers 这条命令让命令用户制定要加载服务器的数量。出于灵活性和可重用性的考虑,大多数服务都允许进行这类定制或者参数化。显然加载 10 服务器和 20 台服务器要分别使用不同的命令是毫无意义的,因为命令主体是基本一致的。
什么是业务 ApI?
在考虑你的业务 ApI 时,应该思考一下哪些是你的业务的关键概念,与之相关的命令又是什么。想想你的业务用户可以做什么事情?下面是一些业务 ApI 的简单例子,你应该不会陌生:
google.com/search?term=techstars
amazon.com/browse?category=books
amazon.com/buy?bookId=bcustomerId=c
uber.com/orderCar?location=loccustomerId=c
twitter.com/postTweet?text=tuserId=u
facebook.com/friend?userId=ufriendId=f
现代企业都是在云端运营的,我们跟他们的接口是通过 HTTp 协议。对于大多数最终用户来说这个听起来似乎有违直觉,因为我们看到的都是漂亮的屏幕、友好的 app,但是其实双方主要的对接,那些实际的命令,是通过 HTTp 发送出去的。
这一点很重要,因为 HTTp 让我们知道这些企业的基本 ApI 是什么。这些是原始、直接的接口,最终定义了我们能够用这些服务所做的一切。
如何设计你的业务 ApI?
现在我们把焦点放到你的业务上。你开始创业的时候要做一堆的事情要搞清楚创始人是不是适合要追逐的这个市场,要跟客户交谈,要思考你的独特洞察和优势,市场进入策略等等许多事情。
而开发你们的业务 ApI 应该是其中一项早期活动之一。
用 HTTp 协议把它筹划出来。要在你开发出 MVp(最小可行产品)之前就先设计好你的 ApI。
设计 ApI 可以帮助你理清自己的业务。你将就自己的 MVp 要做什么不要做什么做出决定。你会优先考虑某些命令而把其他的放一放。通过写一张纸的东西你会认识到自己要做的事情是太多还是不够。
让你的 ApI 尽量简单优雅。要做减法而不是做加法。
你的基础 ApI 会成为与客户以及与团队进行沟通的神奇工具。它会成为你开发 MVp 的一块垫脚石。
一旦设计好你的 ApI 并且对它感到满意之后就要实现它。一个一个来,通过 HTTp 测试你的原始 ApI。没错,你不需要花哨的 UX 和好看的 app 才能开始测试,实现 ApI 就能感受一下自己的业务了。
ApI 要跟上业务的发展
你的业务会演变发展,ApI 也一样。要不断更新它,让它变得更好。要给它添砖加瓦,但是不要大手大脚。最好的公司的 ApI 都是简单的。
比如 Google,接口出奇的简单,但是内部却复杂得难以想象。类似地,乔布斯总是让苹果把界面做得尽量简单,刚好能用就行。苹果产品把难以置信的复杂性和工程灵巧性都隐藏在简单的界面之下了。
你希望自己的业务尽量简单,同时希望接口背后的服务尽可能有价值
随着公司的壮大,不同的业务部分自己的 ApI 也会演进。会有公共接口,也会有内部接口。保持接口的简洁明快是非常有帮助的。要一直保持这一点。
你自己的公司永远应该是你自己的 ApI 的第一个也是最大的一个客户
随着你的公司的发展,访问它的方式也应该演变。
你会有桌面和移动网站、短信、聊天机器人、iOS 和 Android app,以及几十种可以在线访问你的业务的方式。所有这些都可以认为是你的 ApI 的客户端,你的业务的客户。
我们现在生活在一个云服务和自动化的世界。每一个主流 web 公司,无论是 Google、Amazon 还是 Facebook,都有自己所提供服务的 ApI。
在未来,每个公司不仅仅可以通过 GUI 来访问,而且还可以通过编程方式来访问。随着 AI 和自动化进入我们的世界,越来越多的事务和访问将会通过 web 服务和 ApI 进行。
作为初创企业如何为这个令人兴奋的未来做好准备?只需要开始思考并写下你的 ApI。
你的业务个客户提供的命令是什么?你的 ApI 是什么?
济宁IT新闻