3 ms·
I'm making my statement based on my experiences in C# and web. I fight daily battles with people about this. The fear of Javascript is rampant. It doesn't ma
by jamra 13y ago
I'm making my statement based on my experiences in C# and web. I fight daily battles with people about this. The fear of Javascript is rampant. It doesn't matter if you can save a programmer's time and protect him from having to lay out grids from <insert 3rd party grid manufacturer>. They can't leave their Microsoft shell.
If you take MVC out of the box, add in Entity Framework, and try to create a web site, you'll run into a few issues. Entity Framework is god awfully slow and takes waaay too much to get up and running. Dapper on the other hand took 30 minutes and is blazingly fast in comparison. It took me a while to make that sale to my coworkers. I keep hearing the argument that Microsoft is hardened and that Enterprise has some kind of magic support. Some of my coworkers are quite clever and quite familiar with any given Microsoft stack. Maybe you're the kind of guy who, like me, thinks about the best (and easiest) solution for the problem and spends time learning the underlying technology. The problem I am stating is not that all Microsoft programmers are ignorant. The problem I am stating is that the Microsoft technology stack actively tries to get you to use their highly generalized objects instead of just solving the problem on your own. They want you to lock yourself into their system so you stay put. It's like a software roach motel. If you just used simple Javascript, your server stack could be fairly interchangeable, but when you go the Microsoft way, you're going to spend so much time learning their approach, you may not have the drive to liberate yourself from your shackles.
I think the best way to sum up the problems I had with MVC in a single example is the HTML helpers. Instead of using simple Jquery or javascript to talk to the server, you start with @HTML.Form and try to make all these nonsensical options do what you want it to do. If you take a basic javascript course on codeschool.com, you'll be able to write that yourself in a day. Why not just use the HTML helpers? You'll find that as your app becomes more complicated, they limit you from achieving your goal.
I just spent a good part of today fixing our internal Halloween costume contest voting website. The programmer who started it was fresh out of college so I hardly blame him. The task was assigned to someone else and he kind of froze up on me. I created some jquery ajax requests and updated some UI elements with Javascript. I used some CSS and vuala, I had the web app working displaying all contest pics. I would consider what I had to do the most very basic kind of programming. Why couldn't my developer handle it? He was trying to use MVC form helpers. Now he's walking next to me complaining that he doesn't know web well enough. It would have taken him literally one day to learn how to write $.ajax({ url: 'Home/Vote', success: function(r){ ...