I'm an experienced C++ developer who'd like to try out some web development in my spare time. I've got a couple of hobby projects in mind ranging from dynamic webpages to client server stuff with an app running on a phone or tablet as the client. It seems like there are lots of frameworks and tech that I could use. This leaves me wondering what the best things are to learn. I'm not afraid to learn a new language but I'd like to understand the trade offs before I begin. A few options that seem popular include Ruby on Rails, Haskell, Erlang or Go.
I also don't know much about setting up the actual server. I'd like something relatively inexpensive to initially learn on but I'm willing to pay for quality. I'm more interested in the best bang for my buck than just being cheap. Any recommendations on this front would also be appreciated.
Start by downloading the free version of Visual Studio Express.
For the server: C#/ ASP.NET MVC / ASP.NET Web API
For the client: JavaScript / HTML / CSS
Pick a JavaScript framework like Angular/KnockOut, JQuery and make it pretty and responsive for mobile with something like Bootstrap or Zurb.
For hosting your project, take a look at Windows Azure. You get a free hosted web site to play around with that can be automatically deployed from your source code stored on your github/bitbucket account.
Even if you're no fan of Microsoft, I'd recommend spending the time to look at the technology as they've invested heavily in it and it is rather good and developer friendly.