What is RAML and what are its top alternatives?
Top Alternatives to RAML
It takes more than a simple HTML page to thrill your API users. The right tools take weeks of development. Weeks that apiary.io saves. ...
A human-readable data-serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored or transmitted. ...
An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies. ...
It is the only complete API development environment, used by nearly five million developers and more than 100,000 companies worldwide. ...
- Amazon API Gateway
Amazon API Gateway handles all the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, authorization and access control, monitoring, and API version management. ...
- Insomnia REST Client
Insomnia is a powerful REST API Client with cookie management, environment variables, code generation, and authentication for Mac, Window, and Linux. ...
It is a publicly available application programming interface that provides developers with programmatic access to a proprietary software application or web service. ...
RAML alternatives & related posts
- Easy to use28
- Free to use19
- Traffic inspector12
- Mock API7
- 30 Days Trial2
- Access Control2
- Validate API Documentation2
- API explorer1
- Clean syntax1
- Shared API blueprint templates1
- Github integration helps with collaboration1
- Code auto-generation1
related Apiary posts
related YAML posts
- Widely supported4
related JSON posts
For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.
To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.
DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.
Side note: I used npm for package management. 🎉
I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.
It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.
Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (
LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.
.properties, XML and JSON files.
Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.
Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.
Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)
related REST posts
- Easy to use486
- Great tool369
- Makes developing rest api's easy peasy275
- Easy setup, looks good156
- The best api workflow out there143
- History feature53
- It's the best53
- Adds real value to my workflow44
- Great interface that magically predicts your needs42
- The best in class app34
- Can save and share script11
- Fully featured without looking cluttered9
- Option to run scrips7
- Global/Environment Variables7
- Dark theme easy on the eyes6
- Shareable Collections6
- Dead simple and useful. Excellent6
- Great integration with newman5
- Awesome customer support5
- The test script is useful4
- This has simplified my testing significantly3
- Easy as pie3
- Makes testing API's as easy as 1,2,33
- Saves responses3
- Mocking API calls with predefined response2
- I'd recommend it to everyone who works with apis2
- Easy to setup, test and provides test storage1
- Postman Runner CI Integration1
- Now supports GraphQL1
- Continuous integration using newman1
- Pre-request Script and Test attributes are invaluable1
- <a href="http://fixbit.com/">useful tool</a>0
- Stores credentials in HTTP9
- Poor GraphQL support7
- Bloated features and UI7
- Cumbersome to switch authentication tokens7
- Not free after 5 users2
- Can't prompt for per-request variables2
- Support websocket1
- Import curl1
- Import swagger1
related Postman posts
We just launched the Segment Config API (try it out for yourself here) — a set of public REST APIs that enable you to manage your Segment configuration. A public API is only as good as its #documentation. For the API reference doc we are using Postman.
Postman is an “API development environment”. You download the desktop app, and build API requests by URL and payload. Over time you can build up a set of requests and organize them into a “Postman Collection”. You can generalize a collection with “collection variables”. This allows you to parameterize things like
workspace_name so a user can fill their own values in before making an API call. This makes it possible to use Postman for one-off API tasks instead of writing code.
Then you can add Markdown content to the entire collection, a folder of related methods, and/or every API method to explain how the APIs work. You can publish a collection and easily share it with a URL.
This turns Postman from a personal #API utility to full-blown public interactive API documentation. The result is a great looking web page with all the API calls, docs and sample requests and responses in one place. Check out the results here.
Postman’s powers don’t end here. You can automate Postman with “test scripts” and have it periodically run a collection scripts as “monitors”. We now have #QA around all the APIs in public docs to make sure they are always correct
Along the way we tried other techniques for documenting APIs like ReadMe.io or Swagger UI. These required a lot of effort to customize.
Writing and maintaining a Postman collection takes some work, but the resulting documentation site, interactivity and API testing tools are well worth it.
Our whole Node.js backend stack consists of the following tools:
- Lerna as a tool for multi package and multi repository management
- npm as package manager
- NestJS as Node.js framework
- TypeScript as programming language
- ExpressJS as web server
- Swagger UI for visualizing and interacting with the API’s resources
- Postman as a tool for API development
- TypeORM as object relational mapping layer
- JSON Web Token for access token management
The main reason we have chosen Node.js over PHP is related to the following artifacts:
- Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
- AWS Integration36
- Less expensive1
- No websocket broadcast1
related Amazon API Gateway posts
- Easy to work with16
- Great user interface11
- Works with GraphQL6
- Cross platform, available for Mac, Windows, and Linux3
- Preserves request templates2
- Does not have history feature0
- Vim and Emacs key map0
- Do not have team sharing options4
- Do not store credentials in HTTP2
related Insomnia REST Client posts
We've tried a couple REST clients over the years, and Insomnia REST Client has won us over the most. Here's what we like about it compared to other contenders in this category:
- Uncluttered UI. Things are only in your face when you need them, and the app is visually organized in an intuitive manner.
- Native Mac app. We wanted the look and feel to be on par with other apps in our OS rather than a web app / Electron app (cough Postman).
- Easy team sync. Other apps have this too, but Insomnia's model best sets the "set and forget" mentality. Syncs are near instant and I'm always assured that I'm working on the latest version of API endpoints. Apps like Paw use a git-based approach to revision history, but I think this actually over-complicates the sync feature. For ensuring I'm always working on the latest version of something, I'd rather have the sync model be closer to Dropbox's than git's, and Insomnia is closer to Dropbox in that regard.
Some features like automatic public-facing documentation aren't supported, but we currently don't have any public APIs, so this didn't matter to us.
related OpenAPI posts
We use Swagger Inspector in conjunction with our universal REST-API "Charon". Swagger Inspector makes testing edge-cases hassle-free and lets testing look easy. Swagger Inspector was also a great help to explore the Mojang-API, that we are dependent on, because it is the central repository for minecraft-account-data.
We previously used Postman but decided to switch over to Swagger Inspector because it also integrated seamlessly into Swagger UI, which we use for displaying our OpenAPI specification of said REST-API.