Do you provide Swagger YAML and JSON files with your APIs?

Every developer has their own swagger based on their background, education, coding style, programming language used, etc. In this blog post I am talking about a different kind/type of Swagger.

When developers are interested in using an API provided by a operating system, platform, service, cloud, or device vendor, I’ll bet that one of the first things they will search for is to see if there is an API binding for their favorite programming language. Or, maybe your developer program members are the type of developers who just need the REST/JSON calling information? Where possible, I like to use client and server language bindings, components or frameworks for my development projects. Wouldn’t it be great if all APIs included great documentation and also YAML and/or JSON files for the APIs?

Swagger to the Rescue

With the Swagger YAML and/or JSON files I could use Swagger’s CodeGen tool to create bindings for more than 20 server side languages and more than 40 client side languages. That would be awesome. With Swagger supporting a range of tools, both the API developer creator can build their APIs using their programming language of choice and the API developer consumer can use their favorite programming language.

My one simple statement is “If your API supports REST and JSON then you can Reach out to Every Developer“. The text statement on the Swagger site say it succinctly – “Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), enabling development across the entire API lifecycle, from design and documentation, to test and deployment.” While most developer program APIs support some common languages including Java, C++, C, C#, JavaScript, PHP, Ruby and Python, there are many other programming languages that also support REST and JSON web services. Why would you intentionally make it harder for developers that use other programming languages?

REST/JSON based APIs work with just about every programming language

My REST/JSON and APIs blog post on the Evans Data DevRelate community site includes links to REST/JSON supporting information for additional programming languages. It’s time for more developer program APIs to make it easier for developers,  using all programming languages, to build applications.

The statement on the Swagger CodeGen tool site says it so well – “Build APIs quicker and improve consumption of your Swagger-defined APIs in every popular language with Swagger Codegen. Swagger Codegen can simplify your build process by generating server stubs and client SDKs from your Swagger specification, so your team can focus on your API’s implementation and adoption.”

Do your Developer Program APIs include Swagger support?

Do you provide you developer program APIs with Swagger YAML and/or JSON files? Send me an email if you do and I’ll be very happy to pass along the word to developers.

 

David I

David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://devnet.evansdata.org/
Skype: davidi99
Twitter: @davidi99

 

If your API supports REST and JSON then you can Reach out to Every Developer

If your developer APIs support web services based on REST and JSON then you can reach out to just about every developer on the planet Earth (21 million of them and counting). The acronym REST stands for REpresentational State Transfer. JSON is JavaScript Object Notation. REST and JSON are the defacto standard for HTTP/HTTPS based web services APIs. RESTful Web Services are provided in just about all of the Internet based developer program APIs. REST was originally defined in Roy Thomas Fielding’s UC Irvine Doctoral Dissertation titled “Architectural Styles and the Design of Network-based Software Architectures“. Fielding is now a Senior Principal Scientist at Adobe Systems in Orange County California.

 

REST and JSON

 

Do you use REST and JSON in your APIs?

When I do an assessment of a developer relations program one of the first things I look at are the SDKs, APIs and programming languages that are supported. Most developer programs with REST and JSON web service APIs list support for popular programming languages including Java, C#, C, C++, Python, JavaScript, Ruby and PHP. The VISA Developer Center, for example, has a “Getting Started Guide” that lets you choose to view sample source code for Java, Python, Node.Js, Ruby, C# and PHP right in place inside the guide. Developers can copy and paste the code snippets into their programs.

Besides the languages I just listed, there are many other programming languages that also support REST and JSON web services. Why would you intentionally block out developer program members that use other programming languages and frameworks? Here are some programming languages (not an exhaustive list) that have libraries that support REST and JSON based web services. I have added links to documentation, blog posts, tutorials and articles showing how to create client applications that call REST APIs.

If I have not listed your favorite programming language and the support for REST and JSON based API calls, please send me an email with the language and a URL to an article or documentation page with an example.

Reach out to Developers without having to Document your APIs for every language

If you don’t want to have to support every programming language and have examples, you can still document your Web Services REST endpoints and JSON parameters and return values and then point developers to programming language REST and JSON how to sites. I want to hear from developer program professionals that are supporting additional programming languages for your APIs.

David I Facebook Avatar
David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://www.devrelate.com/blog/
Skype: davidi99
Twitter: @davidi99

 

Which programming language(s) should your developer platform support?

Depending on the products and services your company provides that are supported by your developer relations program, you will find a large number (or a short list) of programming language you should consider. Of course, you can’t always support every programming language that developers might want to use. Each language choose to support will come with costs including: API interfaces and documentation, source code examples, articles and videos to create, developer tools to test with, developer support, training and more. At the same time, supporting more languages can also extend the developer reach for your company resulting in increased revenue and reputation.

So, how do you decide which programming languages to support? You can look inside your own company, review the Evans Data developer surveys, check out programming language popularity sites, see what developer positions are listed on job boards, look at the programming language popularity on Stack Overflow, searching GitHub projects, factor in the leading platforms and technologies, search for what the top computer science and software engineering schools are teaching and read what tech industry luminaries, bloggers and press write about. If that isn’t enough sources for guidance, you can also use dart and Ouija boards, magic 8-ball and D&D dice (just kidding).

Programming Language(s) Popularity

Here are a few places where you can find information about popular programming languages and programming language rankings.

You Can Support any Programming Language if …

A great benefit of using industry standards for APIs, REST/JSON for example, is that just about every programming language in use today can make REST calls and pass parameters and receive results using JSON. If you are using SOAP, CORBA or some other RPC (probably for legacy systems), you should defintely add support for REST and JSON. Some companies are also exploring the use of Apache Thrift and GraphQL for some of their service APIs. If you interested in microservices for your developer platforms, check out this article “Microservice Showdown – REST vs SOAP vs Apache Thrift (And Why It Matters)“. Also check out this recent article about GitHub adding a GraphQL API “Just Because Github Has a GraphQL API Doesn’t Mean You Should Too“.

Let me know what Programming Language(s) your developer program supports

What programming languages do you support for your developer program and platform? Send me an email!

David I.

davidi@evansdata.com

Twitter: @davidi99