4 ms·
Given that you're coming from Rails you may be pleasantly surprised by DotNet Core 5 (C#). In addition to the static typing, by choosing an MVC project with an
by kcartlidge 5y ago
Given that you're coming from Rails you may be pleasantly surprised by DotNet Core 5 (C#).
In addition to the static typing, by choosing an MVC project with an Entity Framework (EF) backend you get something similar to active record, with full-stack views where your database can be connected to your frontend if you like, scaffolding, migrations, seeding, relationships with navigational properties defined in your models, routing by discovery/convention, validation by model attributes, strongly-typed views, out-of-the-box client-side validation based on the same attributes, and server hot reload ('dotnet watch').
Through generic types and EF you don't need to write ORM or serialiser/mapping stuff, and at the same time you gain self-contained releases (no framework installations needed on the server) and a very performant stack with great language features.
Core may come from Microsoft, but it's free, open source, cross-platform, fast, and supported (plus Visual Studio has a free community edition). It's seen as an enterprise thing, but is a fantastic option for small projects too.
- blacktriangle 5y agoInteresting...how well do these features work with F#, that's a language I've heard excellent things about.
- kcartlidge 5y agoI must admit that despite using C# since around 2001 I've never done more than glance at F#, so can't answer from the language perspective. However as all the DotNet languages use the same DotNet Core framework (which despite the name is not necessary on the deploy servers) they use the same libraries and modules. So whilst I don't know how seamlessly they integrate into the F# code, they should certainly be available.