4 ms·
Ask HN: I'm a C# MVC guy. What web technologies should I learn for freelancing?
After 5 years doing ASP.NET MVC full time I've started a B Comp Sci degree for several reasons. Since starting, not having that daily programming work has me itching to do some freelancing projects. I might not be ready to commit a lot of time right now, but come semester break I could be in a good position to get some work done.
I've got some smaller projects already lined up without any real deadlines (they are for people I know) but the problem (if it is a problem?) is that I haven't developed many web apps outside of my usual domain (C#).
I'm very comfortable with the MVC paradigm and would love to find another language/framework that matches (or approaches) the niceness of working in C# and Razor-Engine, but doesn't have the same software costs associated with it.
I've toyed around with AngularJS (using mock data in js) and thought that it could be powered by a nodejs backend (or something else). Angular templating is similar to what I've done before, and I like that it's just regular HTML. Even with jQuery-mobile it loads very fast on the smartphones/tablets that I tested.
I also played around with nodejs, Express, Jade and Mongodb. Jade is nice for simpler templates, but after a while the indentation just gets messy for hairy ones. Using a bunch of technologies that are just javascript seemed great in theory, but I was quickly getting annoyed at how messy the code was getting, even for a simple application. Mongodb started frustrating me as the schema got more complicated, but perhaps that is just because I don't have much experience with NoSQL.
The obvious choice seems to be learn Ruby, and then Rails. I've tried a couple of times to learn it. I don't know why but for some reason I just don't get it. Should I stick it out?
What technologies are fellow HN'ers using for freelancing projects?
Oh wise HN, please help me :)
- elclanrs 13y agoHave you considered PHP? That would be the cheapest alternative, and there are more MVC frameworks for PHP than there are for all other platforms (probably combined). There are many templating solutions as well, but PHP is already a templating language anyway.
- deevus 13y agoNot ever seriously. I've always hated how bloated the core of php is. I've also read too much Coding Horror.
- lukeck 13y agoSpecifically where were you getting stuck with Ruby/Rails? My background is C#/ASP.NET MVC too. The structure of a rails app is not all that different to that of an ASP.NET MVC app. The biggest challenge for me was adjusting to all the extra syntactic sugar in Ruby compared to C#. Michael Hartl's Rails Tutorial was what I used when picking up Rails. http://ruby.railstutorial.org/ http://ruby.railstutorial.org/ railsguides.com has some pretty great videos on using different rails libraries. If you're really not a fan of the Ruby syntax, maybe something like Python with Django would suit you better. If it's missing the Visual Studio IDE that's giving you trouble you might want to check out the RubyMine IDE (made by the same devs as the Resharper VS add-on).
- deevus 13y agoIn line with what you said, the syntactic sugar of Ruby is what put me off. Having a good IDE like Visual Studio is nice, but I find myself working in ST3 or LightTable often, so its not essential. As long as I can build from my editor, I'm happy.
- yen223 13y agoI am a C# guy who recently picked up Python, and haven't looked back :). Nice thing about Python is that it plays well with Windows.
- EnderMB 13y agoThis sounds a lot like me. I am a .NET developer by day, but I like to write Python when I get home. I don't know if Python is good enough for me to ever want to make the switch in my full-time career, but it's still fantastic to use with Django.
- HarshaThota 13y agoWhat's wrong with C#? It seems like you like the language and are only concerned about the software costs, so Mono would be an obvious option to look into. And the compatibility has improved quite a bit, to the point that there are quite a few projects that support multiple platforms: http://www.servicestack.net/ http://www.servicestack.net/ http://nancyfx.org/ http://nancyfx.org/ http://monogame.codeplex.com/ http://monogame.codeplex.com/ http://monocross.net/ http://monocross.net/ https://github.com/markrendle/Simple.Web https://github.com/markrendle/Simple.Web
- deevus 13y agoYou make a good point. I haven't touched mono for a long time, so maybe it is worth another look.