3 hours ago, RealBboy360 wrote
I switched to asp.net from java when asp.net 2.0 came out. There were too many different options and frameworks with java, all requiring about 3 months for someone to get up to speed when joining a development team. Not to mention all the constant updates to the 3rd party tools which not always played nice with each other. WIth asp.net 2.0 there was only 1 way to do things and 1 IDE, development was quick and a new developer could be productive from day 1. ASP.NET has now gotten filled up with so much crap, I don't see any advantage sticking with .NET unless you need WCF services, or a WPF app specifically.
The main reason I like C# over Java is because I think it is a better language then Java, but I get what you are saying. Java has a metric ton of web frameworks and many of them work different from one another. I think Node is cool because there really isn't all that much to learn. SocketIO you are just event handlers between client and server. It's no different then wiring an event to a button on the client, except you span the whole network using the same technique. You can fit the core of the API on a business card. No need for thick books and all that crap.
That's also why I like MongoDB, it's so easy to work with. So much complexity comes from these ORMs people use. And I don't like SQL either, it feels like something from the 70s. But MongoDB is just straight code that doesn't look out of place in a Node project. From a sysadmin/design perspective it also scales fairly linearly in a cluster which is something SQL DBs often struggle with.
I have to say though Angular has a HUGE learning curve. The demos give you an idea of what you get out of it - it keeps your data and your UI in sync for you (ie. data binding). I assume if you a have experience with WPF though, that can help you a lot getting your head around how it works. In a way, it's kind of putting component-based development on the web. I don't know about Knockout, but my understanding is it's very similar. Regardless if you have going to do a highly interactive async-heavy type website or mobile app, you want the data binding. The learning curve is worth it, IMO.
3 hours ago, RealBboy360 wrote.
I really like TFS online though, it's free for under 5 people and works very well with visual studio. you can deploy through TFS also if you want. Why is Git a must?
Yeah, Git is not really a must. I think using source control is a must. TFS will do fine, actually from what I've seen of it it seems quite good. It's also more then just source control.
I feel like it's important to know use the basic features of Git though, because of how common it is especially in web development. Basically, I don't know anyone who doesn't use Git and not just for web development but any source control. Subversion used to be very big, but not anymore. Git has completely taken over. That might be different with shops that only use Microsoft stuff, but I don't know because I never worked in one like that.
Besides just it's prevalence, Git has some interesting features. Like you don't need a server at all. Git is a file system format at heart. I have tons of Git projects that aren't synced anywhere except locally. That's totally okay (plus I do daily backups, so it's like I need some kind of central server to commit to). You can put a Git repo on a Dropbox or OneDrive or whatever too. A Git repo with all the revisions is literally just a folder.
I have fairly complete Git support in my copy of Visual Studio. I don't know how it got there exactly (it might be built into Visual Studio now?), but I can do pretty much anything from the IDE and does the changing of the icon thing that I think is the most important feature (different icons for stuff that is staged for commit and stuff that hasn't change since last commit, etc.).