Monday, April 23, 2007

Using Firefox for ASP.NET Development

Introduction Aside from Visual Studio, FireFox is my most valuable tool when it comes to web development. Over the past couple of years I've come across a few extensions that I find very useful. So with this post, I wanted to take a moment and share with you the FireFox add-ons every .NET developer needs. The .NET Essentials FFClickOnce If you ever plan on programming smart client applications which use ClickOnce deployment, this is a needed add-on. Without it ClickOnce installation through Firefox is nearly impossible. IdentitySelector For those looking to implement CardSpace into their website this is an nice add-on to have. It allows Firefox to load the CardSpace Manager for websites requesting CardSpace identification. Web Developer Essentials Web Developer Tool Bar A fantastic tool for manipulating browser features to test or debug web pages. Want to change a cookie? Sure! Disable Javascript? No problem! Resize the browser window to be 800 x 600? You got it! I'm just scratching the surface, with the WebDev Tool Bar you can force your browser to behave almost anyway you want it to. Selenium IDE A great tool for creating automated scripts to test your web interface. The concept is very similar to Watir. However, I prefer selenium because the test files can be used to test "most browsers".
  • Windows:
    • Internet Explorer 6.0
    • FireFox 0.8 to 1.5
    • Mozilla Suite 1.6+, 1.7+
    • Seamonkey 1.0
    • Opera 8
  • Mac OS X:
    • Safari 1.3+
    • FireFox 0.8 to 1.5
    • Camino 1.0a1
    • Mozilla Suite 1.6+, 1.7+
    • Seamonkey 1.0
  • Linux:
    • FireFox 0.8 to 1.5
    • Mozilla Suite 1.6+, 1.7+
    • Konqueror
You can also convert them to C# and run them as unit tests with NUnit. FireFTP When it comes to publishing files, FTP is our tool. FireFTP is a FTP client which lives in the FireFox browser. Easy to install, update, and remove. Which is more then I can say for some FTP clients I've used in the past. Web Designer Essentials FireBug With FireBug I don't know where to start. There is just so much involved, Firebug deserves it's own post. Right now, the best I can do is list some of the features I find most valuable
  • JavaScript debugging and profiling
  • Real time HTML and inspecting and editing
  • CSS manipulation and measuring
  • DOM inspection
  • Network Activity Monitoring (Not to the power of Fiddler, but acceptable)
I praise the features of Firebug daily. Firebug and the the Web Developer Tool Bar have some similar functions, but the two compliment each other very nicely. ColorZilla Is a great little tool to grab both RGB and HEX colors from any web page to you clipboard in a few mouse clicks. It also has page zoom capabilities and a handy color picker too.
MearsureIt A tool to quickly measure pixels on a web page. I use this tool when I'm making images to fit perfectly within containers (div's) on my websites. IE Tab With this add-on I almost never fire up IExplore.exe. You really don't have a need when you can load the IE engine right in a FireFox tab. Let's face it, some Javascript, and CSS behave differently in IE . We as web developers, at a minimum, should test on both platforms. You can also customize it to always open certain pages in the IE engine. I like to use it to force office files to load as embedded files in separate tabs. You just add rules like *.doc and no more "What would you like to open this file with?" dialogs. Summary I urge everyone to try one or two of my suggestions. I didn't give them much justice with you compare it to the power you get. Please feel free to comment or list other tool you find to be helpful. I learned about all the above from other people's comments, what more can I learn from you? Can we all learn from each other?

Monday, April 16, 2007

2007 Dayton Cincinnati Code Camp

So I’m finally getting around to writing about the 2007 Dayton Cincinnati Code Camp. I must say, this is the second time I’ve gone, and I was not disappointed. All in all I give the camp high marks. Getting together to share knowledge is something that I fully support. I encourage all developers to attend as many of these events as they can. My thanks go out to Mike Wood and all other contributors to the camp (sponsors, speakers, staff) for making it what it was. Here are the sessions that I attended, and my remarks on each: Building a Data Access, Logging, and Exception Handling Framework with the Microsoft Enterprise Library 2.0 (Philip Japikse) It brought to light features for EntLib 2.0 that I was not aware of. It truly looks like a toolkit for enterprise level applications. However, it doesn’t fit nicely with the tools VS 2k5 give you. Maybe in time, the EntLib toolkit will be updated with code generation for table/data adapters, and the like. But then again, there is always code smith. Avoiding Database Entropy (Brian Sherwin) This talk I loved. You see, my database skillz are somewhat lacking. What Brian said really hit home. Every system I’ve ever worked on, needed a “Database Refactor,” and “Database Version Control.” The rules Brian set down really seemed to make sense. I liked the talk so much that I asked if he would be interested in presenting at the Dayton .NET group. I’ve passed the interest on to Jim Holmes. I really hope Brian can make it. Delegates and Events - the Inside Story (Dustin Campbell) I enjoy Dustin’s talks. He is so sharp and so passionate about his profession. Delegates and events are something I’ve always had trouble with. It was nice to see that .NET 2.0 made it all a lot easier with generics. However, Dustin did point out the problem with memory leaks when assigning delegates to events. This is especially a problem when you subscribe to events in Windows Forms, but Web Forms are destroyed after each request so I believe the memory leak is not as much a problem in ASP.NET. For one solution to the memory problem, see Dustin’s code or check his Blog. Real World Agile (James Avery) This was an interesting presentation. It was more of a discussion then a presentation. The thing about Agile is there are so many versions. It was nice to sit there and hear other peoples’ implementations of the Agile practices. I really like the talks when communities get involved. Getting to Know Generics (Dustin Campbell) Generics still baffle me. I know about the standard generic collection classes, but what I didn’t know was using generics for objects other then classes, like Methods! Dustin did a fantastic job of showing the usefulness of generic methods. Now I only hope that I can grasp the concept and use it more in my development. SQL Server 2005: New Tricks for Old Database Developers (Jason Follas) Once again my skillz in DB aren’t all that great. But sitting in on Jason’s presentation was pretty neat. Seeing the new features of MS SQL 2k5 was very beneficial Pivot Tables, .NET Assemblies as Store Procedures, CTE’s, etc. Definitely things I’m going look into more.