ProtoAspx
Integrating Prototype and ASP.Net to create the next generation of web applications

Tools

March 3rd, 2008 . by Loris

These are my recommended tools for any web developer approaching ASP.Net and generally any kind of HTML/CSS/Javascript coding. They’re ideal even if you are on a tight budget, since they all are free or open source.

Firefox

Some love it, some hate it. But this browser is probably the best tool a web developer could dream. Alone, it features “just” a robust web standards support and a fast javascript engine, but the real power comes in the form of two extensions: 

Firebug for Firefox

The Swiss army knife for web developers. You could love it just for the javascript debugger, but the goodies don’t stop here: it also helps you inspect the structure of your page, alter and analyze the CSS, monitor the network activity and explore the DOM.  

Web developer Toolbar for Firefox

Another great tool. The feature I like most is the “Edit CSS” command, which can also be invoked by pressing CTRL+E.  It also gives you quick access to other useful commands like disabling cache / stylesheets / javascript.

A rather complete review is available on this site.

Internet Explorer Developer Toolbar

Sometimes Internet Explorer is a little “challenging” to work with. CSSs or scripts that work well in Firefox, Opera or Safari don’t behave correctly in IE. While Internet explorer’s developer toolbar is not as good as its Firefox counterpart, it surely helps fixing IE’s discordances with the web standards. 

Microsoft Visual Web Developer Express 2008 / Visual C# Express 2008

The latest version of the best .net IDE you could get.  The 2008 version adds support for the new version of .Net, 3.5, while still maintaining backwards compatibility to the 2.0 version. VWD also features a javascript debugger for Internet Explorer, which could be especially useful to debug scripts that work in Firefox but not in IE.

Microsoft SQL Server Express 2005 / 2008 CTP

Almost every web application will need to store data in a database. Microsoft SQL Server Express 2005 is the ideal choice: it’s free (though it’s limited to a maximum database size of 4Gb and to work on a single processor, among the other things) and it’s of the same quality of the expensive version.

And, if you’re feeling adventurous, try out the newest version!

Notepad++

The ideal editor for quick prototyping and JS coding. With its low memory footprint and its wealth of functions, I always find myself using this program instead of a “proper” editor.

More browsers

Testing for Firefox and IE is better than developing just for Internet Explorer, but it’s even better to test also for Opera and Safari. They are free to download, so there is really no excuse not to use them. And if you have windows vista, there is still a way to test with IE6.


Why Prototype?

March 1st, 2008 . by Loris

Since I chose ASP.Net as my server side environment, the easiest choice for the AJAX stuff would have been Microsoft’s ASP.Net Ajax extensions. It’s a quite good, well documented library that many other developers have chosen. Plus, it’s completely integrated into Visual Studio.

Why then, did I choose otherwise?

While ASP.Net Ajax is a good choice for many developers, there are some things I don’t like about it:

      • I don’t like the concept. “Put everything inside an UpdatePanel to make it asynchronous” seems to be the motto during Microsoft’s presentations.
      • I don’t like the standard asp.net controls. Most of the times, they’ll try to render themselves using a table layout. So ’90s. 
      • I don’t want to mix content, presentation and behavior. Using ASP.Net AJAX controls will inevitably result in poor XHTML code. The classic example is an anchor pointing to a javascript function (<a href="javascript:__someFunction()">)
      • Black box syndrome: the javascript code is generated by Visual Studio. This is great when you need to throw out a prototype and “just make it work”, but what about optimization? What exactly is being transferred asynchronously? [note: this could be just me being paranoid]
      • It’s easy to do simple things, it’s very hard to do the complex stuff. The whole ASP.Net Ajax concept seems to be geared more towards the creation of simple websites (especially when time is scarce) than complex RIAs. A complex RIA usually consists of a very small number of significant pages (often just one or two) and each of them is carefully thought and planned, down to the single HTML element.

Ok then, but why choose Prototype over JQuery, Mootools, [any other javascript library here] ?

It’s just my personal preference, really. There are a ton of other javascript frameworks of varying quality. Since I had to choose one, I picked my favorite :)

Feel free to point out how much my assumptions are wrong in the comments!


Welcome to ProtoAspx

February 18th, 2008 . by Loris

For years we have been telling our customers that some things could not be done on the web. The web was simply not responsive enough to be used as a platform for everyday applications.

Then, with the rise of the XMLHttpRequest object, everything changed. It is now possible to create Rich Internet Applications (RIAs) that defy the synchronous post/download routine we were used to.

Today there are a lot of excellent javascript libraries that can simplify our life as RIA developers.

On the server side of the equation, we can count on a lot of exciting new frameworks in addition to the usual asp, php and jsp: The trend today is towards Ruby on rails for linux/unix servers and ASP.net for windows servers.

This blog (as the name implies :) ) focuses on the Prototype javascript framework for the client side and on Microsoft’s ASP.net for the server side.