This space is available to any ComponentArt employee to write about anything.

Browse by Tags

All Tags » JavaScript » AJAX   (RSS)

  • 2
    Comments
    2243 Views

    ComponentArt Web.UI 2007.1 Details Announced

    Last night we updated the official Web.UI product roadmap . We are about 1-2 weeks off target regarding the release dates that were announced back in November. However, the good news is that the 2007.1 release will include one additional control (Dialog for ASP.NET), adding a total of three new controls: ComboBox, ToolBar, and Dialog. Adding a third control won't be the only surprise with the 2007.1 release. We are about to deliver a set of features that will take the built-in AJAX capabilities of ComponentArt Web.UI to the next (and yet unseen!) level of richness. We are very excited about this aspect of the 2007.1 release. I won't reveal any more details at this time, as these types of features are always best seen in a live demo. Share this post: email it! | bookmark it! | digg it! | reddit!

    Posted by: Miljan
    Posted: Thursday, February 01, 2007 7:49 AM
    Filed under: , , ,
    2 Comments



  • Ditch That Beta Sign Eugene, We're Going to Production!

    The final version of ASP.NET AJAX was released today. We are very pleased to simultaneously announce the immediate availability of the full production version of ComponentArt Web.UI for ASP.NET AJAX. Taking those "beta" signs off our ASP.NET AJAX product line felt really good! Developing for various technology preview and beta builds of "Atlas" / ASP.NET AJAX has been quite an experience. It all started at the PDC 2005 conference where Microsoft showed off the first prototypes of their new framework. I remember that Phil , Jovan , Milos , and myself were there, but we were not allowed to enter Nikhil's presentation on Atlas because we were exhibitors and had only one attendee pass. We sat on the floor just outside of the conference room, where we were sort of able to follow the presentation on one of the screens. In the coming months we were thinking hard about our role as a component vendor, and the best way to add value to the platform. We were very impressed by the early CTP builds of Atlas, so we made a somewhat risky move to put most of our development resources on building a suite of UI controls for a framework that hadn't even reached the beta stage. Our assessment was that the release of Atlas would be a game-changing event of magnitude comparable to the release of ASP.NET itself. That decision meant developing against a (rapidly) moving target. Microsoft promised that they would change designs and implementation details on the go, and they sure kept that promise. One of the most drastic shifts was the famous Beta 1 release. I blogged about our experience upgrading to Beta 1 here . Developing against such early builds of a framework is not a simple task, not only because things tend to change a lot, but also because resources are so incredibly scarce. You can't buy a book and learn all about it. Forget about handy reference manuals. In the early days, our only resources were blogs of various dedicated Atlas team members, as well as the source code of the product itself. Somewhere in the middle of 2006 ComponentArt became a part of the "ASP.NET AJAX Develop Program", designed to engage early adopters of this technology. We were able to attend various technical sessions in Redmond, as well as get preview builds of the framework well before they were available to general public. Yes - we finally got our revenge. Take that, Mr. PDC05 security officer! The flip side of all the challenges was a highly rewarding sense of accomplishment as we saw things come together in the last quarter of 2006. We were determined to bring something new and significant to this changing market, and to try to ship at the same time as the framework itself is released. The result of our work is the industry's first commercial suite of UI controls built on top of the ASP.NET AJAX component model. The client-side capabilities and the level of client-side programmatic control offered by ComponentArt Web.UI for ASP.NET AJAX far exceed that of any UI library (for any framework) that we are aware of: - Watch the Web.UI for ASP.NET AJAX Video We are very excited about ComponentArt's unique position in the AJAX space. Instead of creating yet another proprietary AJAX framework that duplicates functionality found in ASP.NET AJAX, we have embraced Microsoft's new technology and created something that every AJAX framework needs: true client-side UI controls. Starting today, our customers have a best-of-breed AJAX development framework in ASP.NET AJAX, and best-of-breed UI controls in ComponentArt Web.UI for ASP.NET AJAX. This is a truly exciting moment! Share this post: email it! | bookmark it! | digg it! | reddit!

    Posted by: Miljan
    Posted: Tuesday, January 23, 2007 9:56 AM
    Filed under: , , ,
    1 Comments



  • 8
    Comments
    18237 Views

    "Interoperability" vs. "True ASP.NET AJAX Controls"

    "Interoperability" is a term that has been used by several ASP.NET control vendors, including ComponentArt, to describe integration with ASP.NET AJAX. However, since we shipped the first public beta release of Web.UI for ASP.NET AJAX, we started using new verbiage to describe our product offering: "True ASP.NET AJAX Controls". Is this just marketing spin? Is there some technical backup for these claims? Finally, as an ASP.NET AJAX developer, why should you care? I'll try to explain the meaning of these terms, and let you draw your own conclusions. Interoperability Providing interoperability with ASP.NET AJAX essentially means that the controls won't break when used with ASP.NET AJAX. Specifically, they will operate as expected when nested inside the new UpdatePanel control, and they won't **interfere** with the ASP.NET AJAX client-side JavaScript code. However, controls that provide interoperability with ASP.NET AJAX are actually native ASP.NET 2.0 controls, tweaked so they can co-exist on the same page with ASP.NET AJAX. They don't have any ASP.NET AJAX dependencies and don't really take advantage of ASP.NET AJAX features. Providing this level of support for ASP.NET AJAX is definitely the first step in targeting Microsoft's new web development framework. ComponentArt originally started providing interoperability with ASP.NET AJAX (or "Atlas") back in May of 2006 with Web.UI 2006.1 SP2. True ASP.NET AJAX Controls There is much more to ASP.NET AJAX than the UpdatePanel control. Actually, the most significant aspect of ASP.NET AJAX is that it introduces a real framework for JavaScript development, including a comprehensive model for creating client-side components and controls. ComponentArt Web.UI for ASP.NET AJAX is the first commercial control suite built on top of this new component model. Having user interface controls that allow complete client-side programmatic manipulation opens up a world of possibilities. What's more important, these client-side capabilities are exposed in a standardized way, which is supported by Microsoft, and guaranteed to work with ASP.NET vNext, and Visual Studio Orcas. Watch the Video The difference between "interoperability" and "true ASP.NET AJAX controls" is explained quite well in the video we recently published. If you have 5 odd minutes to invest into perhaps getting a deeper understanding of the subject by seeing some of this functionality in action, then I highly recommend it: - Video: ComponentArt Web.UI for ASP.NET AJAX I think the following quote by a seasoned industry veteran sums it up quite well: "Writing the code you show in the video has been my dream for 7 years now. Since the time I saw a very early demo of what was then called ASP+. " Dino Esposito Author, Speaker, and Columnist for the MSDN Magazine Thank you Dino. It has been our dream too. :) Share this post: email it! | bookmark it! | digg it! | reddit!

    Posted by: Miljan
    Posted: Monday, January 08, 2007 9:42 AM
    Filed under: , , ,
    8 Comments



  • ASP.NET AJAX and ComponentArt Web.UI Product Direction

    We recently shipped Web.UI 2006.2 . The second major release of Web.UI this year includes a brand-new platform build: Web.UI for ASP.NET AJAX. However, no new controls were added to the suite this time around. I would like to take this opportunity to provide additional background information, as well as explain why we think that our direction will bring maximum value to our customers. A Brief Walk Down Memory Lane Nearly five years ago Microsoft reshaped web development with the release of ASP.NET. This was a powerful new server-centric development framework, drastically different from its predecessor - ASP. One of the most interesting new concepts introduced with ASP.NET were server controls: reusable pieces of web logic and UI that developers could easily include in their pages and program against - in a very natural, object oriented, and event driven way. Even though a fair number of good server controls shipped in the box with v1.0 of ASP.NET, this new technology sparked an explosion of 3rd party component development. There is a number of companies that successfully add value to the platform by building ASP.NET server controls today. The Introduction of ASP.NET AJAX We think that web development is about to be reshaped again. Driven by consumer demand for richer and more responsive web experiences, Microsoft has created a comprehensive client-side framework: ASP.NET AJAX . The core portion of ASP.NET AJAX includes: a JavaScript type system, a networking and JSON serialization stack, AJAX server controls for partial page rendering, application services features (profile & authentication), a client-side application model, and - of particular interest to us - a model for creating client-side components and controls. So, what does all of this mean to an ASP.NET developer today? The upcoming release of ASP.NET AJAX will be a significant event for all ASP.NET developers because it introduces a real framework for client-side development. This framework will come with powerful baseline features and it will be fully supported (ASP.NET AJAX comes with Microsoft's standard 10 year, 24-7 support license). Having a standard client-side framework opens up a world of possibilities. Things like calling a web service from your JavaScript code, serializing a server-side object for manipulation on the client, or doing partial page rendering through AJAX callbacks will all become mainstream web development techniques. This will change the responsiveness and the feel of ASP.NET applications in a profound way. In contrast to the big paradigm shift from ASP to ASP.NET, buying into the latest web technology won't require rewriting your applications from scratch this time around. On the contrary, ASP.NET AJAX was designed to work on top of ASP.NET 2.0. It is extremely easy to incrementally add richness to your existing apps by simply including a reference to the ASP.NET AJAX assembly and applying the new features on selected pages. The ASP.NET AJAX UpdatePanel control is particularly handy for converting existing postback-based pages to the more efficient AJAX-style model. Finally, one of the most exciting aspects of ASP.NET AJAX is the new model for creating client-side components and controls. A unified way of defining classes, namespaces, object properties, methods, and events, combined with the included base classes (Sys.Component and Sys.UI.Control) brings structure and form to JavaScript code reuse. Much like server controls introduced with ASP.NET, ASP.NET AJAX client-side components have the potential to significantly boost developer productivity and bring a whole new set of features to the mainstream. ComponentArt Web.UI for ASP.NET AJAX Recognizing this new opportunity, ComponentArt has invested considerable resources over the past year to develop new web user interface technology that can truly take advantage of the advanced features that ASP.NET AJAX offers. As a result of this work, ComponentArt Web.UI 2006.2 introduced industry's first suite of UI controls built on top of the ASP.NET AJAX client-side component model. These controls expose extensive client-side APIs, and feature a unique ability to be programmatically modified on the client. This means that adding / removing / modifying menu items, treeview nodes, grid rows, etc., is now possible on the client - with immediate refreshing of the screen. Of course, client-side controls always live in the context of a server-side web application, so all client-side changes have to be automatically persisted to the server-side object state when a postback or a callback occurs. We consider this to be a significant step forward in extending the richness of web applications. A whole new class of operations no longer require roundtrips to the server, which dramatically improves application responsiveness and user experience. Our goal was to deliver the richest set of controls that are truly built for ASP.NET AJAX from the ground up. The initial industry feedback we have received has been overwhelmingly positive, which leads us to believe that we are on the right track. Adding New Controls to the Web.UI Suite The magnitude of the work needed to develop the new user interface technology described above has slowed down the pace of adding new controls to the suite. However, we are now quite happy with where we stand in terms of core technology, and we are focusing on building new Web.UI controls. The initial set of controls to be added to the suite is outlined on our Web.UI product roadmap page . That's just the beginning; we will continue to rapidly add new controls (as well as extend the baseline feature set of the existing controls) throughout next year. It should be noted that applying our existing technology to develop new controls is now fairly routine work, involving significantly less risk than the work we have done to develop the technology itself. Immediate and Long-term Value for Customers Staying With ASP.NET 1.x The new client-side API described above is also available with Web.UI 2006.2 for ASP.NET 1.0. The API is accompanied with our new state-of-the-art client-side API reference , which is also available for all platform builds. Finally, as stated on our product roadmap, new controls will be added to all three platform builds simultaneously. Therefore our customers who don't immediately embrace ASP.NET AJAX will not be left behind. Conclusion If you haven't had a chance to try out ASP.NET AJAX yet, we encourage you to do so, especially if you are already using ASP.NET 2.0. The framework is now feature complete, has a stable API, and its full release is expected by the end of the year. It's a great time to get a head start on the next big wave of Microsoft's web development technology. We believe that with the imminent release of ASP.NET AJAX and ComponentArt Web.UI for ASP.NET AJAX, our customers will have the most powerful set of tools for building rich web applications available anywhere. As always, your feedback is welcome and appreciated. Share this post: email it! | bookmark it! | digg it! | reddit!

    Posted by: Miljan
    Posted: Wednesday, November 15, 2006 9:39 AM
    Filed under: , , ,
    5 Comments



  • 13
    Comments
    10623 Views

    ASP.NET AJAX Beta 1 and ComponentArt Web.UI

    We have recently completed converting our suite of user interface controls from the latest Community Technology Preview "Atlas" build to ASP.NET AJAX Beta 1 . The Beta 1 release of ASP.NET AJAX is significant because it closely resembles what is soon going to be released as the official version 1.0 of the product. However, it does introduce some breaking changes from the CTP versions. I'll tell you about our experience, and give my thoughts on the state of Microsoft's new AJAX development framework. Just to put things in perspective, our product consists of 12 UI controls that encapsulate common user interface elements (menus, trees, grids, etc.) exposing over 60 client-side classes built on top of the AJAX Library type system. For more information, visit the live demos or the client-side API reference . After getting over the initial hump, we found ASP.NET AJAX Beta 1 to be remarkably well functioning and stable. Virtually every issue we ran into while converting our Web.UI library and samples to ASP.NET AJAX Beta 1 had to do with our own lack of understanding of how a particular feature works. Judging by what is being said about ASP.NET AJAX Beta 1 in some blogs and forums, it appears that other people are in a similar situation. Unfortunately, some of them are concluding (incorrectly, I think) that the product itself is buggy. My impression is that Beta 1 is a significant step forward from the CTP versions, and that it is starting to feel like a production-quality release. For clarity, I will talk separately about converting the core Web.UI library and the live samples application. Most people who have written applications based on a CTP version of "Atlas" will only need to deal with the latter. Converting the Core Web.UI Library We addressed the following changes while converting from CTP "Atlas" bits to ASP.NET AJAX Beta 1: 1. Class definitions through prototypes instead of closures . One of the biggest changes in Beta 1 is that prototypes are now being used to define JavaScript classes (more info on Bertrand Le Roy's excellent blog: part 1 , part 2 ). We were actually already using prototype-based class definitions with CTP builds of "Atlas", so no changes were necessary here. So far so good! 2. The new model for client-side events . The old syntax for assigning events on the client was: object.eventName.add(eventHandler); The new syntax is: object.add_eventName(eventHandler); object.remove_eventName(eventHandler); For example: TreeView1.add_nodeSelect(TreeView1_onNodeSelect); So, instead of having event objects with add/remove methods, we now have add_eventName and remove_eventName methods on the main object directly. Another related Beta 1 addition is the "events" collection on the Sys.Component base class. We went ahead and applied these changes across the board. 3. The exclusion of type descriptors from the core product . Type descriptors provide the ability to discover type characteristics of a client-side object at runtime. You can use type descriptors to get the list of properties, methods, and events of an object, along with other applicable meta data. To support this functionality, an AJAX Library class needs to implement the Sys.ITypeDescriptorProvider interface. We had this implemented for all of our client side classes. Since type descriptors were primarily designed to support xml-script, and Microsoft decided not to make xml-script a part of the core v1.0 product (it is still available in the "value add" portion), type descriptors were also moved to the "value add" bucket. This was probably the biggest disappointment for us when it comes to Beta 1 changes. We found type descriptors to be universally useful, and - even though they were not originally designed to provide reflection - they still give the ability to discover the structure of an object at runtime, which enables some really elegant generic code. Since our decision was not to make any required dependencies on "value add" functionality, we ended up implementing our own rudimentary reflection for all Web.UI client-side classes. Of course, if a customer of ours does include the "value add" portion of ASP.NET AJAX in their app, they will get support for type descriptors as expected. 4. Support for the new and improved UpdatePanel control . When we first tried the Beta 1 build with Web.UI, none of our controls worked with the new version of the UpdatePanel control. This was pretty depressing for a few minutes, until we remembered what was said at the Atlas Strategic Design Review lab we attended back in August. Client scripts now have to be registered through the ASP.NET AJAX ScriptManager object (as opposed to the ASP.NET Page object). More info on this change was posted by the developer of the UpdatePanel control Eilon Lipton here . I really like the new version of the UpdatePanel control. I will try to blog about that separately soon. Converting the Live Samples Application In comparison to the work described above, converting the live samples application was an easy and routine exercise. My guess is that most developers who have built applications based on CTP bits of "Atlas" should be able to follow similar steps and get to the finish line fairly quickly. Here is what we did: 1. Removed the old Microsoft.Web.Atlas.dll project reference, and added a reference to the new Microsoft.Web.Extensions.dll , which is now installed in the GAC; 2. Added a reference to the new ComponentArt.Web.UI.dll , build 2006.2.1470.3; 3. Changed the <atlas: tag prefix to <asp: ; 4. Applied the following API changes to all UpdatePanel instances: a. Changed the Mode property to UpdateMode ; b. Changed all EventTrigger entries under the Triggers section to AsyncPostBackTrigger . At this point we were able to compile the app. 5. Then we changed all $ JavaScript calls to get$ . In order to play nicely and not cause collisions with other frameworks, Microsoft has decided to rename the $ function to $get. This function essentially evaluates to document.getElementById, making it easier to get instances of DOM objects in your code. That was it! The entire conversion effort took about 4 days, which really isn't bad considering the size of our product. Without any doubt, there is a lot of room for improvement of documentation, samples and tutorials for the upcoming ASP.NET AJAX releases. Maybe more than the core framework itself. The really good news is that all of the big changes are already included in the product, so it's a great time to start developing with ASP.NET AJAX! I would be curious to hear about your experience with ASP.NET AJAX Beta 1, especially if you are using ComponentArt Web.UI. Share this post: email it! | bookmark it! | digg it! | reddit!

    Posted by: Miljan
    Posted: Tuesday, October 31, 2006 8:00 AM
    Filed under: , , ,
    13 Comments




Industry Friends
Rob Howard (Telligent)
Scott Watermasysk (Telligent)
Michael Schwartz (Ajax.NET)
Hamid Shojaee (AxoSoft)
Scott Cate (myKb.com)
Steven Smith (ASPAlliance)
Wally McClure(ASP.net Podcast)
Vassil Terziev (Telerik)
Andrew Flick (Infragistics)
Tony Lombardo (Infragistics)
Ken Cox (Freelance Author)
Lino Tadros (Falafel Software)
Robert McLaws (Interscape)
Blogs On This Site
Thoughts on web user interfaces and component development.
Ramblings of a web control developer.
Web.UI news and more
Next weeks guest: A dog and a baby dog!
I'm in your base, killing your dudes.
Absurdity is it's own message.
Musings of an ex Java developer
im in ur page, hackin ur codez
ComponentArt in the Community
... and the program ran happily ever after.

Tools / Utilities