Readit News logoReadit News
ThomasTJdev · 4 years ago
[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

melissalobos · 4 years ago
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.

ThomasTJdev · 4 years ago
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/

oceankid · 4 years ago
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.

mysterydip · 4 years ago
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.
ThomasTJdev · 4 years ago
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

tiffanyh · 4 years ago
Thanks awesome to hear. Ive always thought NIM is the perfect language for web development. Wish more used it.
planetis · 4 years ago
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

smazga · 4 years ago
Personally, I find this kind of tutorial very helpful. Minimal prose, straightforward code, and lots of comments.
s5806533 · 4 years ago
Interesting. For the sake of completeness, it's worth mentioning that this tutorial is from 2019.
jasfi · 4 years ago
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.

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

Deleted Comment