Friday, February 3, 2012

.NET MVC3, Web Forms, Tapestry5 and Arnold being dead

They told me to learn .NET MVC3 or get fired and I'm like fine, whatever. I hack java, groovy, javascript, Less CSS and HTML5, how hard .NET MVC3 can be? I mean, Java has a ton of MVC frameworks (Struts, Play, etc.) and I've used (or at least tried) a lot of them. And don't get me started with PHP - CodeIgniter, Zend, etc.

Apparently, it isn't that hard, C# .NET is more or less a direct rip of Java with some syntactic sugar and good ideas. It took me about a week to find a groove with .NET MVC3 and another week to learn Entity Framework (which BTW, looks like Hibernate in Microsoft branding). So, I was chugging out good code and then Arnold told me to try out Web Forms. "It's like Tapestry5." He's words. He's. Last. Words. Then I BEAT HIM to DEATH with my old IBM ceramic keyboard.

Web Forms IS NOT Tapestry5!

Tapestry5 is way, waaaaaayyyyyyyy cleaner than Microsoft's Web forms. Proof? Try making a non-trivial Web Form's based web application and take a look at its "Code Behind" classes and generated HTML. I see spaghetti and it doesn't adhere to Tapestry5 programming tenets of  Single Responsiblity Classes and Seperation of Concerns.

What kind of class code are you writing when it balloons past 1k lines and you can't identity what it actually does from the first 20 or so lines?

Another that rubs me the wrong way with Web Forms  is that I have limited control on how to the HTML is generated. You can argue that I could "override" it, screw that, its more trouble than its worth.

And lastly, Web Forms is a bitch when trying to work in your favorite JavaScript library.

I though writing this blog would be, you know, cathartic. It's just making me angry again.

Where is that keyboard.....