AsyncAPI is innovation and you should assess it
ThoughtWorks and InfoQ clearly point out this is the best moment to have a closer look at AsyncAPI specification. Specification brings standardization into event-driven architectures and makes space for building great tools to solve problems like testing, documentation, code generation, and many others. Read more:
- ThoughtWorks Technology Radar - Tools
- Software Architecture and Design InfoQ Trends Report—April 2020
Generator and Parser 1.0 releases
We are going in the right direction with the first major releases for the Generator and the Parser. The last release candidate we produced for the Generator is pretty much stable, and all tasks were completed. We also tried it in our GitHub Action and AsyncAPI Studio, and it works like a charm.
Then why are you not promoting the last release candidate to 1.0.0?
Good question, I’m glad you asked :)
Generator depends a lot on the Parser. Parser did not reach a major release yet. As you may have guessed, I'm now focused on the Parser 1.0.0 release, and the issues we want to complete before the release are listed in this milestone. The good news is that most of the issues are either in progress, and some have pull requests already opened.
What’s the plan then?
Release the Parser with 1.0.0 and then Generator 1.0.0 as we already know that Parser 1.0.0 introduces some breaking changes.
It is taking way too long.
New Website Right Behind The Corner
The time has come to do some refreshment of the AsyncAPI website. We also change the engine used to generate the website, from Hugo to Next.js. Have a look at the preview of the work and feel free to share your feedback to Fran in this pull request. Greatest things you can see there:
- Better exposure of community-related channels on the landing page
- More prominent promotion of AsyncAPI maintained tools, like the Generator
- A more unobstructed view of the Blog section
- Right-hand side page navigation with scroll spy on documentation view.
There are many other significant changes. You'll see them immediately on the main landing page.
The Highlight of Interesting Discussions
There are some interesting discussions/topics where it would be great to hear your opinion.
How would you expect those are handled by the Parser and also by the Generator? Should such references be ignored or resolved, and if resolved, then how? Should generated docs indicate circular reference or ignore this info as irrelevant? These are all the questions we face now, and it would be awesome to get your input here.
React Wrapper Redoc style
AsyncAPI Initiative provides two ways of generating docs from AsyncAPI specification:
- HTML template for the AsyncAPI generator. The classical server-side generation you perform in your CI pipelines or in an application with Node.js server.
- React component that you can use for dynamic docs rendering client-side. This one is great, but only if you want to use React in your application.
We are thinking about how we could consolidate both into one project that is maintained just once. In the meantime, the community created this wrapper for our React component inspired by ReDoc approach to OpenAPI. It would be great to know what you think about this and what are your expectations toward AsyncAPI Initiative. Join the discussion.
React for Template Engine for the Generator
We are getting a bit tired of Nunjucks and how hard it is to debug and read the templates. Fran came up with an idea to use React as a template engine for our docs and code generator. He got inspired by the emerging popularity of solutions like Gatsby or Next.js (supporting pre-rendering of React components). Before you say out loud "you are crazy" join the discussion here.
AsyncAPI Special Interest Group (SIG) open meeting
The last meeting took place on Tuesday, 23rd of June, 4PM UTC. Meeting notes are available here.
The next meeting is scheduled for next Tuesday, 7th of July, 8AM UTC.
The agenda for the meeting is built here. There is nothing on the agenda, so you can easily sneak your topic in.
Some articles you might want to read to learn something new: