Hacker News new | past | comments | ask | show | jobs | submit login
Set up a website with Nim (2019) (ttj.dk)
86 points by melissalobos on Jan 30, 2022 | hide | past | favorite | 15 comments



[Author here] This post was quite a surprise to see here! Guess who got busy checking out his old repository ;) . This is a blog post from 2019 during my Nim journey, which has now resulted in our entire SaaS[0] running Nim. Nim[1] has evolved a lot since the post - current stable 1.6.4, blog post was for 0.19.2.

[0] https://cxplanner.com [1] https://nim-lang.org


Thanks for writing this! Is there anything major people should look out for with the newer language version or any advice you would offer to something looking into writing a webpage in Nim today?

I am working on a small side project in Nim and saw your post and thought it was very well done.


I'm glad you liked it! We have been using Nim from 0.18.x to now (1.6.x) with a minimal work with breaking changes - so no warning signals from here.

My advice would be to use the current stable version since 2.0.0 is just around the corner :) ! We are quite happy with the performance and system load using jester[1] with httpbeast for routing, but there are a couple of alternatives in the package repository[2].

[0] https://nim-lang.org/install_unix.html [1] https://github.com/dom96/jester/ [2] https://nimble.directory/


Really awesome to see Jester/HttpBeast being used in the wild! CxPlanner looks really cool, nice job :)


dom96, have you been able to handoff Jester/HttpBeast to someone else to run?

IIRC, you started a new job a couple of years ago and as such, you we’re able to work on NIM as much anymore.

And if you (or others) are still working on it, any HTTP2 plans? https://github.com/dom96/httpbeast/issues/1

Love what you’ve built btw.


if anybody is interested in running it I'm more than happy to get them involved. I haven't had anybody approach me though.

For what it's worth, HttpBeast has seen some love from me lately (with some big optimisations). HTTP2 would require effectively a new project IMO so if someone wants to make it happen I'd love to advise where I can.


Came here to say I love how focused your product feels.

If you're using Nim to target JS, a demo link of the Gantt would be super nice.

ps: A minor image 404 on the feature page there.


I just started using Nim this weekend, so this is some nice serindipity :) Do you have more recommendations for someone who has programmed for years but new to Nim to get up to speed? Specifically I'm looking for using it to do hosting and websockets, but anything would be helpful.


I don’t know about other web-guides. Nim’s official website is made with Nim and available at Github[0], but it has become at bit more complicated after they switched to Karax[1]. Jester’s tests gives a good view on the routing procedures[2].

The official tutorials[3] are pretty good, when you get the grab on how to ”decode” them. For web development with websockets and microservices I would suggest you to have a look at the Redis package[4], and @treeform’s Websocket[5] and JsonParsing-packet[6].

[0] https://github.com/nim-lang/nimforum/ [1] https://github.com/karaxnim/karax [2] https://github.com/dom96/jester/blob/master/tests/alltest.ni... [3] https://nim-lang.org/docs/tut1.html [4] https://github.com/nim-lang/redis [5] https://github.com/treeform/ws [6] https://github.com/treeform/jsony


Thanks awesome to hear. Ive always thought NIM is the perfect language for web development. Wish more used it.


Builtin templates in Nim are awesome but since then, there is the possibility to render pages server-side with karax: https://github.com/karaxnim/karax Check my project that converts a static web page to ready to use karax DSL code:

https://github.com/nim-lang-cn/html2karax


Personally, I find this kind of tutorial very helpful. Minimal prose, straightforward code, and lots of comments.


Interesting. For the sake of completeness, it's worth mentioning that this tutorial is from 2019.


I wrote a web framework (on Jester), and a cross-platform UI layer too, in Nim. I'm thinking of releasing the core as Open Source when I get a chance. That would be later in the year though.

Nim is an amazing language, definitely underrated.


If you want to try an alternative to Jester, Prologue is very nice to use: https://github.com/planety/prologue




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: