

|
|
|
|
|
|
|
|
|
|
|
|
|
-
NEW |
|
-
NEW |
|
|
|
|
|
|
|
|
|
|
|
|

|



|

|
asp:review
Microsoft ASP.NET AJAX
Using Visual C#
AppDev Presents Clear and Instructive Content
By Dennis Hayes
AppDev has been in business since 1994. In that time they
have gained industry recognition and won many awards for their quality training
products. One of their newest releases, Microsoft ASP.NET
AJAX Using Visual C#, provides the same quality we’ve come to expect. Taught by
Scott Cate, this course contains eight modules that cover eight hours of
lectures, as well as hands-on labs, sample code, and 250 pages of documentation
(identical to the optional printed material). The total running time of the
lectures, labs, and other material is more than 24 hours. I reviewed the DVD
version, but everything herein applies to the CD version, as well.
The user interface is good, but not great; see Mike Riley’s
review of Exploring ASP.NET 2.0 Using Visual C# 2005 Beta 2. The
interface and its limitations are still the same, with the exception that the
current version uses DRM. The user interface, although not great, does the job
it is meant to do. For instance, it does not allow the user to set bookmarks,
but the eight hours of video are separated into topics of at most a couple of
minutes each. So even though you can’t set a bookmark, you can get back to
within a minute or two of any point on the DVD.
The DRM in this version is a bit heavy handed. During
installation you must enter a 27-letter key and connect to the Internet to
register the product. When you run the software, you must have the CD in the
drive, and the software also uses DRM from Microsoft.
The DRM is also very fragile. The day after I installed
the software, Windows update ran, after which the software said I had an
invalid license. This probably happens a lot, because when I went to their
support Web site, the most popular knowledge base article was one from July
2007 describing how to deal with this error.
However, once I got the product up and running (and
disabled the automatic Windows updates), the course really shines. The
presentations are well done, the demos are clear and instructive, and the
content is complete for beginning to intermediate students. When you watch
these videos, you can see why AppDev has won so many awards.
Each of the eight modules has a short pre-test of 6 to 10
questions, so you can judge how well you know the material before you start,
and a post-test of 12 to 17 questions to see how well you learned the material.
Each module also includes a coursebook that contains information about the
material covered, explanations of the source code, instructions for completing
the labs, lab files that include the code from the course, sample files from
the videos, and a list of Web sites for supplemental information.
Module 1
Lesson 1 provides an introduction to raw AJAX,
so the student will have a feel for the work done by AJAX.NET
and the AJAX Framework. This lesson also provides a good understanding of what
is happening “under the hood.” Lesson 2 introduces and describes JSON, the
JavaScript Object Notation (in simplified terms, a text-based, value-pair way
to save Java objects). Lesson 3 delves in to the advantages of AJAX,
explaining the benefits of partial-page updates without any JavaScript,
consuming Web services in JavaScript without writing any extra code, and having
the same .NET-like environment on both the
client and server. This lesson also provides a great introduction to debugging
AJAX Web pages, covering breakpoints in Visual Studio, the Microsoft Web
Development Helper (including trace listeners and HTTP logging), and the debug
and release versions of the AJAX Framework.
Module 2
The server-side framework includes three components: ScriptManager,
Timer, and UpdatePanel. Module 2 concentrates on ScriptManager, which is
responsible for moving scripts from the server to the browser using proxy
scripts. ScriptManager handles multiple browsers and localization and can be
run in debug mode. Cate also covers Web services under AJAX,
with ScriptManager creating JSON and JavaScript proxies to make creating and
using Web services very simple by adding the WebMethod and ScriptMethod
attributes to functions. Cate ends this section by demonstrating how to create
a simple Web service.
Module 3
Module 3 covers UpdatePanel, a key piece of AJAX
that allows partial-page updates. The first two lessons cover UpdatePanel from
the server and client side, respectively, including multiple UpdatePanels and
how to use UpdatePanel events on the client side to customize the way the page
is updated. This allows JavaScript to intercept, modify, and reroute data being
passed between the server and client by UpdatePanels. Cate uses a complex demonstration
to show the full capability of this feature. This lesson also includes more
information on how Visual Studio and Internet Explorer work together to make
debugging JavaScript easy. The final lesson covers triggers, which allow
UpdatePanels to update controls not included in an UpdatePanel, and how
controls outside of UpdatePanels can force an update of an UpdatePanel. The
lesson also shows how the ChildrenAsTriggers setting works with tree and grid
controls.
Module 4
Module 4 covers the AJAX
Toolkit. This is a toolkit written and maintained by the AJAX
community, but supported by Microsoft and hosted at http://www.codeplex.com. It
is released under the Microsoft Permissive License, which means you can use,
modify, and distribute the code fairly freely. The first lesson provides an
introduction to about 30 of the controls, which are constantly being expanded
by the community. It shows how to use the toolkit’s documentation to find a
control’s capabilities, uses, and limitations; in other words, it teaches you
to “fish” for new controls so you can eat for life. The second lesson presents
more detailed demonstrations of five of the more popular “extender” controls
that extend “visual” controls in the toolkit. The final lesson covers using
ToolkitScriptManager, which inherits all the functionality of ScriptManager,
then extends it with functionality like the CombineScripts property and
CombineScriptHandlerUrl to improve AJAX
performance and make AJAX easier to
use. This detailed lesson uses demos to show how all this works behind the
scenes. These types of demos convey the kind of detailed information and
understanding that really makes these videos stand out from books.
Module 5
The three lessons in Module 5 cover some of the more
complex AJAX controls. The first lesson
covers AnimationExtender, which can do many different animations concurrently in
series and parallel. The second and third lessons build from scratch a simple
question and answer application, including a database. It makes use of the
Login control, master pages, CSS, content
pages, a SQL database, and the .NET DataSet
and TableAdaptor classes. Cate spends quite a bit of time showing how the Login
control works, including how it handles roles, connecting it to a SQL Server
backend, and how to display different content based on whether or not a user is
logged in. Cate then demonstrates how to use drag and drop in Visual Studio to
create DataSets and TableAdaptors, and how to use the query builder to
customize the datasets. The third lesson continues building the application by
showing how to configure and use the DataGrid and DetailsView controls.
Module 6
The first lesson of Module 6 builds another simple
application to demonstrate the details of creating and connecting to a Web
service using the features and tools in Visual Studio. This is demonstrated
step-by-step, from creating the Web service to connecting to and using the Web
service using HTML, JavaScript, and AJAX.
The second lesson goes into the details of using Visual Studio to debug
JavaScript. This starts with configuring the Web site, ScriptManager, and
Internet Explorer, and continues with attaching to processes using many of the
features of the debug environment in Visual Studio. The lesson ends by showing
how to use the debugger as an educational tool by stepping through third-party
code, such as the constructor of the Sys.StringBuilder control from the AJAX
library. The third lesson covers debugging using Internet Explorer and the Internet
Explorer Developer Toolbar. The Internet Explorer Developer Toolbar is a free
download from Microsoft that adds debugging features to Internet Explorer (http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en).
This includes the ability to view the DOM,
modify client-side JavaScript code during debugging, do HTTP logging, and
browse script classes. The lesson ends with an overview of the capabilities of
the Sys.Debug namespace.
Module 7
Lesson 1 covers JavaScript shortcuts, extensions, and type
conversions. It covers the browser-safe AJAX
$get shortcut and goes into detail on adding event handlers “on the fly” using
the event handler shortcuts. Next it covers JavaScript extenders, showing the
new functionality AJAX adds to
JavaScript arrays and strings. Lesson 2 covers the .Sys namespace, including
.Application, .StringBuilder, .UI.DOMElement, JSON serialization, and WebForms.
Module 8
The first lesson covers object-oriented programming in AJAX.
As Cate points out, JavaScript is not, and cannot be, object oriented, but AJAX
does a decent job of faking it. This lesson covers AJAX
objects, registering objects, inheritance, and interfaces. The second lesson
covers deploying AJAX applications,
including common deployment errors and how to correct them, and what to do if
your hosting provider doesn’t yet support AJAX.
The final lesson explains database deployment, focusing on the membership log-in
database. It covers how to develop and deploy on different editions of SQL
Server, such as SQL Express or SQL Standard edition.
Conclusion
This course provides a great overview of AJAX,
covering areas of AJAX that I don’t
see addressed in most books. AppDev’s materials are of the highest quality,
which is reflected in the price (although they have reduced rates on suites,
and frequently have some titles on sale; visit their Web site at http://www.appdev.com to
check for current prices and available discounts). But because of its price, I find
it difficult to recommend this course to a student or an individual programmer
(unless you respond really well to visual learning). But for corporate training
programs, this is a good alternative to bringing in a consultant to teach a
course. Visit http://www.appdev.com/rs_entry.asp
to download free samples of some of their courses and courseware to see if this
is the right option for you.
Rating: éééé
Web Site: http://www.appdev.com
Price: US$995
for 8 CDs or 1 DVD; US$1,091 for 8 CDs or 1 DVD
plus printed material.
Dennis Hayes has
been writing software since the early 70s. He currently writes software for the
Hertzog Adult Cognition Laboratory in the Psychology Department at Georgia
Tech. He has been a member of the Mono project for more than six years, and is
the open source editor for.NET Developer’s Journal, where he has written a monthly column on
open source .NET for the last five years. He
also speaks on .NET-related topics and does
independent contracting, including VB6 to VB.NET
and C# conversions, in the Atlanta
area after having spent 20 years in Silicon Valley.
|