Hacker News new | ask | show | jobs
by gargs 2093 days ago
I am curious, what did you find missing or unachievable using Vapor?
2 comments

Swift has no concept of fault tolerance. If you by mistake make an illegal array access, multiply two numbers that are too big or overflow your stack (which is limited to ridiculous 512KB on secondary threads), your app crashes and that's that. Apart from a horrible user experience (you don't even get a "nice" customised 500 error page, just a "Gateway timeout" or similar), your app is now offline for everyone.

What other backend language doesn't allow you to recover from errors? It is my understanding that even Haskell allows you to catch "error".

I developed a Swift server-side app (not with Vapor, but with Kitura - but the point still stands) for two years and this was one of the biggest issues, and despite ongoing discussions, it just has never been fixed.

Community and ecosystem mostly. Maybe it's changed a lot since version 3 but I don't see much uptake. I had enough issues that a rewrite of my API in Typescript was faster than upgrading to 4 when it came out.

Edit: looking at the docs again theres an official upgrade guide now so thats a step int he right direction, I'll take a closer look when I get a chance.