Settings

Theme

Kemal: Fast, Effective, Simple Web Framework for Crystal

kemalcr.com

158 points by sdogruyol · 27 comments

Reader

8 threads
compumike

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 :)

m000

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].

[1] https://en.wikipedia.org/wiki/Hat_Revolution

  • nine_k

    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.

    [1]: https://en.wikipedia.org/wiki/Kemal_(name)

    • jnothing

      latest tweet from the official twitter account has a quote from Atatürk.

    • m000

      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.

  • dorkrawk

    Huh. I guess I always thought the hat logo was a nod to Sinatra ( https://sinatrarb.com/ ), given Crystals relationship with Ruby.

  • atahanacar

    This was my first thought the moment I saw the website. I thought maybe the dev's name is Kemal, but that wasn't the case either.

  • aaa_aaa

    Nah fez is cool. Also there are fictional characters with fez (eg, ustura kemal). Besides Kemal Atatürk used to wear one, suited him nicely

  • habibur

    Maybe that was his point.

  • the-printer

    It’s offensive.

nlh

HUGE fan of Kemal (and Crystal as a whole).

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.

bovermyer

OK, OK! I keep seeing news for Crystal lately. I can take a hint, Universe - I'll write a new project in it.

  • ksec

    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.

    [1] https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...

    • bovermyer

      Consider, for a moment, the possibility that I don't just get news from Hacker News. =P

  • petre

    Took me about 5 minutes to write a TCP echo server. I think only Ruby Async::IO is close to that easy.

  • bheadmaster

    It's probably just consequence of some person trying really hard to promote the language these days, rather than a divine intervention.

    • user8501

      Some would argue that “some person” and “the universe” are the same.

tmikaeld

I've used it for a small API project, really easy to understand and setup!

There's also a healthy amount of ported gems (Shards) over at:

https://crystalshards.org/shards

gpderetta

For a few seconds I thought this was a reference to C64 KERNAL OS. Turns out it was just bad keming.

noaheverett

Currently building a back-end API with Kemal, highly recommend. Also has easy to use websocket events built-in.

cakirh

Nice framework!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection