I have finished a project that started as an enhancement of a “nearly finished” PHP web site. When somebody tells me that they have something “nearly finished” the first thing that comes to my mind is that what they haven’t been able to finish it. It’s very easy to start adding functionality to a web site but the difficult thing to do is to finish it, so everything fits in properly with a decent design. Unfortunately I was right. There was a lot of work to do and most of the things that were done need to be rebuilt.
It was my first contact with PHP. It was straightforward to do anything in PHP as I had done some things years before in Perl, ASP and JSP. After a day working with PHP I had the feeling that I was just loosing time, something like programming an ERP in assembler. It’s a lot of work that could be done easier and with more confidence that the code works as expected in another development environment.
As I really hate loosing time I proposed to use ASP.NET even if I have to change what was “done” in my free time. It was difficult to change his mind but finally he accepted (I was very very stubborn).
It’s true that you really miss something when you don’t have it. I have realized how the ASP.NET programming model has changed my mind when developing web applications and that the change is for good. The only thing that I really liked from my LAMP experience was how easy is to do paging with MySQL.
As I saved a lot of time switching to ASP.NET I tried some controls of the Atlas Control Toolkit. I found quite easy to “AJAXize” an application using the UpdatePanel and the Atlas Control Toolkit but I also find out that it really was an alpha release. I used the ReorderList, the CascadingDropDown, the AutoCompleteExtender and the TextBoxWatermark and I found a bug in each one.
Now that things have calmed down a bit I’ll try to post a cool tip next week about using TableAdapters and custom paging but this long weekend (monday is holiday here) it's time to relax.