Hi everyone! This is my new blog about web development and ASP.NET.
So, here's a bit of background about me - I'm a first-year graduate student studying Human-Computer Interaction. I am currently finishing up a project which involves implementing a web interface in ASP.NET 2.0. This has been my first real project in ASP.NET (outside of a school project which doesn't really count), as all my previous projects (including 3 years of work at a PHP web development firm) have been in PHP and Perl. I found ASP.NET difficult to learn, and I often had to resort to random Google searches to figure out why it wasn't working the way I expected it to. It often took a lot of reading of conceptual stuff and some code examples before I figured out what was really going on. So basically, with this blog I'm looking to create the type of resource that I really would've liked to have while I was working on this, in the hopes that some budding ASP.NET programmer out there on the Internet can find it and get answers to their problems.
Before I get started with ASP.NET, I thought I'd offer some initial thoughts with it. In my mind, the principal problem with ASP.NET is that it is fundamentally a mixed metaphor. The .NET framework is clearly intended to make web development "just like" working on a desktop application, but it doesn't work completely. The most notorious instance of this is that sometimes, depending on what you do with your controls, it will lose the data in your fields. This is because web applications, by their very nature, are built on HTTP which is stateless and therefore doesn't really remember what you did in the previous page. (As a side note, I think Adobe Flex, from what I've seen of it so far, does a much better job in supplying this kind of platform for web applications, but then of course Flex requires Flash in order to run.)
Secondly, ASP.NET is simply too big and too complex to learn it all by yourself. There are too many classes, too many properties, too many models, etc. In fact, I'd be surprised if anyone (including Microsoft employees!) has a complete understanding of everything in ASP.NET. The sheer complexity makes it very difficult for people who learn best by poking around (such as myself, and I'd imagine a lot of other programmers) to pick it up. (But hey, it means that Microsoft gets to sell a lot of books and courses and tutorials and make a lot of money!) Finally, ASP.NET is hardly the fastest language / framework out there, as I will get into later.
I'm not going to totally bash ASP.NET. I think the code-behind model is a fantastic idea and is pretty well implemented. In particular, being able to create user controls, each with its own self-contained codebase and properties, was a great help in my development process, and something that I have not seen in any other language I know about. I've also been spoiled by Visual Studio, which is amazingly smart for an IDE (and given the nature of programming and IDEs in general, that's saying quite a bit). I think it's even better than Eclipse.
So that's my intro pretty much. Feel free to comment!
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment