The next versions of Monkey HTTP Server and Duda I/O are very challenging, because both are very related and big changes are coming in terms of optimizations and general features.
As said many times, Monkey is the base HTTP stack for Duda I/O, for hence any improvement made on Monkey is inherit by Duda I/O, as well any extra feature is exposed too. Let’s see what is expected for the following major versions:
The code base continue being optimized, we care a lot of performance on all environments, not just high-end production servers, also in Embedded based systems where we got a lot of traction.
The big news besides performance, is the new event loop (polling) mechanism implemented, so starting from v1.6 we support Linux and also OSX. Yes, I know…what about our speech about Monkey is just for Linux ?, here is the answer: As a HTTP server Monkey it self does not have too much things to offer on an operating system that is not widely deployed on Internet Servers, neither on Embedded systems, but we need to look beyond and think in use cases, the main reason of Monkey being supported on OSX is Duda I/O.
Duda I/O is a fast web services framework, in short words: it let you build scalable C web services with a very simple API. Nowadays OSX is a base platform for developers, so our move is to provide a stable and fully featured web services stack to the Apple world. Wouldn’t be great to write your scalable web services in C on your favorite OSX system and deployment later easily on Linux servers or devices ?, yes it is. This is very exciting for us and continue involving a lot of work, but fun .
When I mention a web services stack I refer to a professional product, fully documented and that have been used by production systems on the last two years. So major versions do not happen too frequently, we focus on long term support and stability.
The next version DST-2 (Duda Stable 2) will be released with great changes that covers a bit of everything:
- Co-routines support (dthreads)
- New routing model, do you like URLs like /users/:id/about/:phone/ ?, there you go.
- Re-designed Console and optional Dashboard UI
- Docker Support
- More Documentation
- Duda QA: Quality Assurance.
I mentioned Duda QA, so let me explain. Starting from DST-2 there is a new project that is part of Duda ecosystem, it deliver a complete Test system for Duda. For every Object API exists an unit test, as many changes are underway we need to make sure to avoid regressions. That means that as of now there are around 200 tests under 1300 lines of code…and growing. So every time we do some changes, you as an end-user can trust that we are not breaking the API or anything similar. There is nothing more frustrating than a broken API/stack, so keep calm as we are really taking care of that. More details about the project and status here:
In general many things are coming, there are other features and improvements that I did not mention but I am sure I will once I take some time to write the Release Notes, by now the works continue.