Kemal is great, lightweight, fast!!! and I’m using it for a growing number of infrastructure / microservices at CircuitLab (exposing JSON APIs, mostly), as well as to serve web requests on my side project at Total Real returns.
If you want to play with Kemal and/or Crystal without installing anything besides Docker, I made https://github.com/compumike/crystal-docker-quickstart . You should be able to add Kemal to shard.yml, edit d_dev to expose port 3000 (there’s a line already there, just uncomment it), and get your first Kemal microservice up in a few minutes :)
Using a fez (or fes, if you prefer) as a logo for a "Fast, Effective, Simple" framework named "Kemal" is kind of unfortunate/ironic. Kemal Ataturk actually abolished the use of the fez [1].
While Atatürk is likely the most well-known person named Kemal to date, it's a pretty common name, and it means something like "mature" or "complete" [1], which is sort of a good goal to reach, or a quality to advertise, for a framework.
Check closely the wikipedia list: The name became truly popular only after 1923, when Atatürk established the Republic of Turkey, and it's mostly popular among Turkish people.
So, even though Atatürk was not the first person to be named Kemal, he practically "owns" the name today.
Kemal is an Arabic word. And its a loan word in Persian. And from the influence of Persian & Arabic its used heavily in Turkic and Indo-Aryan languages (Turkish, Urdu/Hindi).
I started, as many do, with a full-featured batteries-included framework (Amber, which is also awesome and super easy to grok), but later realized that I much prefer being closer to the metal and Kemal is exactly that. You can build a fully-functional API in a single file with a few lines of code, and it works easily and quickly.
That last one that hit HN frontpage was 16 days ago [1], and apart from my submission for 1.6 release which barely hit the frontpage, the next discussion on Crystal was September.
Compared to the HN darling, Rust. Crystal is hardly active.
If you want to play with Kemal and/or Crystal without installing anything besides Docker, I made https://github.com/compumike/crystal-docker-quickstart . You should be able to add Kemal to shard.yml, edit d_dev to expose port 3000 (there’s a line already there, just uncomment it), and get your first Kemal microservice up in a few minutes :)