API经济,简单点讲,就是将API这种资源像商品一样进行售卖的模式。其中有三种角色:
当平台足够大,交易足够多的时候,API经济就活了。可以说,API 经济就是社会分工和 IT 资源、能力共享孕育出来的果实。
其实,API经济早已参与到方方面面。
一方面,各个大厂基于本身的业务做延伸,将自身能力从业务里抽象出来,单独打包成商品来售卖。



另一方面,也纷纷作为平台提供者,使用云市场来吸引更多的第三方买家卖家,做生态,打通整个产业链,成为API经济最重要的一环。




可见,通过这样从上游到下游的协同合作和社会分工,彼此互相从成就,提升双方的利润空间。
那这其中,平台的能力就显得格外重要了,除了最基础的API全生命周期管理(API设计、创建、发布、治理、运行、监控、统计、分析、消亡),还要提供相应的计费售卖能力,开发者门户等等便于API生产消费的工具。
在API管理领域,2021年Gartner魔力象限同2020年相比没有太大变化。
领导者产品没有变化,依旧是Google的Apigee, MuleSoft,IBM,微软,Axway,Software AG和Kong。
Postman加入了有远见者行列,Nginx被从特定领域者挤出。


评选依据也比较清晰,分为五个功能性领域:
API测试

下面就挑几款优秀的API管理平台一起看看。

Apigee作为Google推出的老牌产品,功能已经非常强大,覆盖了API管理的方方面面。由于它功能实在太过强大, 后续会出一个专题介绍它。
[image:76BEDB96-12EB-425F-B7E4-1903A9049515-89927-0001098D4D8FB81F/MTY4ODg1MDU1MTc2Mjk1OQ_897283_dkFoEQVHo53cE8Zh_1658120906.png]
Mulesoft是Salesforce旗下的产品。最大的特点是提供了一个企业软件集成平台,Anypoint。用户可以在Anypoint上集成所有的应用,实现本地与云、云与云服务的集成。
API的设计和管理使用一个基于Eclipse开发的Studio,支持在线生成项目,主要用于设计、部署、管理API和Mule 应用。


作为企业级产品,它的核心特色在于120多种连接器(包括SAP Connector, Salesforce, Google Apps. Amazon EC2. Oracle PeopleSoft, Box, Workday、JIRA, ServiceNow等),用来在Mule和其他系统间(MongoDB,Salesforce等系统)接收和发送信息,如文件、数据库或者Web services。

3scale是红帽出品,跟APIGee类似,也提供了非常丰富的API管理功能。

也正是因为背靠红帽,因此它主打云原生开发。支持OpenShift集成、混合云、红帽Fuse快速开发应用。

Tyk 主打云原生理念,以开源、多云、GraphQL和K8S作为宣传的亮点。

使用开源网关作为运行时。

多种数据协议转换能力,同时结合K8S Operator同K8S生态紧密结合。

支持多云、混合云部署。


Postman是用的最多的开发测试工具,然而现在的Postman已经不只是一个开发测试工具了。
除了最基础的curl一下, 它的工作空间和API仓库能够帮助构建团队资源库,并在此基础上进行CICD。

他能很好帮助用户实现API first里面,即基于接口的编程,实现前后端分离和上下游解耦。

Postman也提供了API市场,方便将组织和个人创建好的API开放出来,虽然目前还没有很强的售卖逻辑,但我觉得Postman很适合也很容易做到。因为开发测试API -> 开放API 是一个水到渠成的过程。当你已经测试好了你的API,多一步将它开放出去变现,何尝不是一件好事。相比于其他平台,你就省去了再录入一遍API的烦恼。

Moesif是我在调研时,无意通过广告发现的一款产品,发现它在API分析方面做的很好,值得与大家分享。

它的核心理念是,将各个网关运行时上的API进行统一的管理和分析,让运行时只作为运行时去承载流量,API管理专业做管理和分析,这点超级优秀,值得借鉴和参考。

同时,它提供了基于API各种角度的商业分析和洞察,辅助API提供者了解API使用情况,促进变现。

另外,付费版也可以基于API数据自定义仪表板(有点类似罗盘),去自己挖掘商业机遇,这就将 API 的价值发挥到了最大。
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
我有用于控制用户任务的Rails5API项目,我有以下错误,但并非总是针对相同的Controller和路由。ActionController::RoutingError:uninitializedconstantApi::V1::ApiController我向您描述了一些我的项目,以更详细地解释错误。应用结构路线scopemodule:'api'donamespace:v1do#=>Loginroutesscopemodule:'login'domatch'login',to:'sessions#login',as:'login',via::postend#=>Teamroutessc
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
我正在使用Mandrill的RubyAPIGem并使用以下简单的测试模板:testastic按照Heroku指南中的示例,我有以下Ruby代码:require'mandrill'm=Mandrill::API.newrendered=m.templates.render'test-template',[{:header=>'someheadertext',:main_section=>'Themaincontentblock',:footer=>'asdf'}]mail(:to=>"JaysonLane",:subject=>"TestEmail")do|format|format.h
我正在尝试使用Ruby2.0.0和Rails4.0.0提供的API从imgur中提取图像。我已尝试按照Ruby2.0.0文档中列出的各种方式构建http请求,但均无济于事。代码如下:require'net/http'require'net/https'defimgurheaders={"Authorization"=>"Client-ID"+my_client_id}path="/3/gallery/image/#{img_id}.json"uri=URI("https://api.imgur.com"+path)request,data=Net::HTTP::Get.new(path
Rails相对较新。我正在尝试调用一个API,它应该向我返回一个唯一的URL。我的应用程序中捆绑了HTTParty。我已经创建了一个UniqueNumberController,并且我已经阅读了几个HTTParty指南,直到我想要什么,但也许我只是有点迷路,真的不知道该怎么做。基本上,我需要做的就是调用API,获取它返回的URL,然后将该URL插入到用户的数据库中。谁能给我指出正确的方向或与我分享一些代码? 最佳答案 假设API为JSON格式并返回如下数据:{"url":"http://example.com/unique-url"
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我的公司有一个巨大的数据库,该数据库接收来自多个来源的(许多)事件,用于监控和报告目的。到目前为止,数据中的每个新仪表板或图形都是一个新的Rails应用程序,在巨大的数据库中有额外的表,并且可以完全访问数据库内容。最近,有一个想法让外部(不是我们公司,而是姊妹公司)客户访问我们的数据,并且决定我们应该公开一个只读的RESTfulAPI来查询我们的数据。我的观点是-我们是否也应该为我们的自己
我想用这两种语言中的任何一种(最好是ruby)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生