Soooo, ok, they released a new May CTP of ASP.NET AJAX futures. It’s got some new support in there for Silverlight related stuff now. Great, awesome, love to see it and totally understand they need to pimp the new platform. What has really happened beyond that though? I’m not seeing (m)any differences in the xml-script, bindings, controls and animation code that (used to?) make(s) up the real power of the previous release of the futures.
As a simple example, let’s start with the fact that there’s no standard ICollection interface. There’s INotifyCollectionChanged (weird considering there’s no ICollection, eh?) and there’s loose support for duck typing of a collection class within some of the controls, but no true ICollection yet.
Even further still, DataSource doesn’t properly support custom WebServices (i.e. Sys.Preview.Data.ServiceType.Handler). Neither does ServiceMethodRequest. which always wraps the parameters as DataService parameters (i.e. parameters + loadMethod), so we can’t even call our own web methods using it without creating a shim method on the web service likse MySearchHACK(Dictionary<string, string>, string) and then converts the parameters and calls the real method which is MySearch(string, int).
Anyway, it seems like Silverlight is ursurping the development of the core AJAX futures and, while I’m all for Silverlight, I think it’s a bad move to put these features on the backburner. They should be fleshed out and delivered. They are extremely valuable to those of us trying to build rich web browser (only) based applications.
<serviceRequest id=”myWebServiceRequest” url=”MySearch.asmx” methodName=”Search” useGet=”false” />
<invokeMethodAction target=”myWebServiceRequest” method=”invoke”>
<binding dataSource=”mySearchText” dataPath=”text” property=”parameters” propertyKey=”searchText” />
Declarative, simple, no code. That was the power of ASP.NET AJAX before the split and hopefully remains the power when (if?) the futures are ever truly delivered.