想用APP创业,那你要明白API的重要性?

每一家初创企业和公司都会有提供给世界的接口。有的接口超级简单,比如Google—你能做的只有搜索;有的复杂一点,比如在Amazon上面买东西—你可以浏览、搜索、添加到购物篮、请求退款等。

即便你不是工程师或者产品经理,想想你们公司给世界提供的API是什么也是很有意义的。把你的公司当作API来考虑有助于阐明你们是做什么的以及为什么要做。

API心态迫使你思维要清晰和极简。

什么是API?

API即应用程序接口(ApplicationProgrammingInterface)。你可以把API看作是一个接口或者契约,软件组件、web服务或者企业通过它来与世界进行交互。或者换句话说,API是软件组件、web服务或者公司通信、发送请求以及接收响应的一种协议。

举个例子:假设web页面上有个简单的复选框。那么这个复选框的接口可以让你选中或者取消选中这个复选框。

/check—导致复选框选中

/uncheck—导致复选框取消选中

又比如我们要从DigitalOcean的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=b&customerId=c

uber.com/orderCar?location=loc&customerId=c

twitter.com/postTweet?text=t&userId=u

facebook.com/friend?userId=u&friendId=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和Androidapp,以及几十种可以在线访问你的业务的方式。所有这些都可以认为是你的API的客户端,你的业务的客户。我们现在生活在一个云服务和自动化的世界。每一个主流web公司,无论是Google、Amazon还是Facebook,都有自己所提供服务的API。

在未来,每个公司不仅仅可以通过GUI来访问,而且还可以通过编程方式来访问。随着AI和自动化进入我们的世界,越来越多的事务和访问将会通过web服务和API进行。作为初创企业如何为这个令人兴奋的未来做好准备?只需要开始思考并写下你的API。

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2016-11-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

25年Linux内核开发经历总结出来的九条经验

原文: 9 lessons from 25 years of Linux kernel development 作者:Greg Kroah-Hartman 翻译...

38711

如何在一天内建立物联网应用程序

物联网(IoT)的建立是为了解决现实世界中麻烦的问题,而将物联网技术整合到更广泛的信息生态系统中的过程几乎是同等麻烦的。这就是为什么物联网不是您可以在商店(或其...

4644
来自专栏蓝天

谈抽象接口的重要性

.pdf 抽象是架构师最基础最重要的能力之一。一名程序员要成长为架构师,首先要理解接口的重要性。但是对一个没有经验的人来说,他心中可能无法体会“接口”这两个字...

731
来自专栏漫漫全栈路

R.I.P. :传统整体式架构 VS 微服务

我咨询了十几个微服务项目。有些人表示,微服务真棒(这是未来!),而有些人很沮丧(谁发明了这个废物?)

1462
来自专栏企鹅号快讯

Python或将取代VBA,成为Excel官方脚本语言

程序员头条(ID:CoderTop) 报道 微软正考虑添加 Python 为官方的 Excel 脚本语言‍ 据外媒报道,微软正考虑添加 Python 为官方的一...

2729
来自专栏企鹅号快讯

图解全宇宙最神秘团体——“程序员”的日常,是辛苦还是闷骚?

大家都知道,IT行业嘛,整天整天就是泡在电脑前,尤其是程序员们——“不是在写代码,就是在去写代码的路上”。很多程序员都以写代码为乐,当爱好和工作结合在一起的时候...

2307
来自专栏杨建荣的学习笔记

文档知识库的演进和小结

本文是今天下午在我的自动化运维群做的分享,群里每天都有一到两个主题的分享,目前来看效果还不错。正文如下: 我看过很多公司的知识库,干脆叫它文档库也可以。总体来...

4614
来自专栏罗超频道

没错,号称中国第一移动产品的微信公众平台也有BUG

新版微信公众平台上线,处处体现了张小龙以及微信团队的考量和平衡。 更开放的接口,使得更多的企业和组织有机会利用微信来做好互动和服务,甚至基于微信...

4355
来自专栏BestSDK

【刷脸登陆】 一种毋须动用大脑皮层的登录方式

一登是啥? 一登是一家人脸登录服务提供商,以开发组件的形式,为 Android、iOS 应用开发者提供人脸登录功能接入服务。用户不需要记住很多密码,因为人脸就是...

23010
来自专栏技术翻译

AI在测试自动化中

如今,几乎所有IT项目都面临着以更快的速度和更准确的方式运营和部署软件和服务的挑战,为项目团队创造了一个无情的高压环境。要求每天都在变化,而且从来没有足够的工程...

3302

扫码关注云+社区

领取腾讯云代金券