Tips for Training 'Developing Rich Client Applications'
Ah, Laguardia. If you are a fan of sitting and waiting around with a thousand strangers, then come on down to the 'C' gates and have a blast. This is where I sit, writing this post as plane after plane is delayed or cancelled. I'm used to it by now, as I have been flying out to NY to do quite a bit of training over the last few months. This afternoon, I finished my most recent class, Developing Rich Client Applications. This is the same class that I taught last week as well, which made this experience a bit strange, especially when the same questions in the same sections were being asked. I had to resist saying "Didn't I answer this question already?", as the proximity of classes had me thinking class members were repeating themselves.
Speaking of repetition, there were certain issues that did come up in each class, as well as a few examples that, when expanded, seem to clarify things for the students. Check em out below if you are going to be teaching the class anytime soon.
1) Everyone wants to know the difference between Flex 2 and Flex 3. Until the new class materials come out, this is going to be a topic you have to be able to discuss. If you have the time, it is probably worth about 15 minutes of class time, as students seem highly interested, and rightly so. At the very least cover the basics, as well as the addition of Advanced DataGrid.
2) Do whatever you can to stress that the Grid container should be avoided. It would have been deprecated if the changes could have been included for Flex 3, but Adobe just couldn't get it done in time. I usually skip the Walkthroughs in which Grid is discussed (Layout Containers, Walkthroughs 4-6); it gives a little extra time for questions on more important topics, and it avoids discussion of what is essentially a bad practice.
3) At the end of the Unit 8, which is focused on View States, the final Walkthrough creates a very nice example of how to use View States in custom components in conjunction with those in your main Application. However, if the cursor is placed in just the right position (somewhere in the bottom, right quadrant of the completed application), you can create a situation in which the View States will perpetually flip from one to another. This is a great way to show the need for adding Transitions to your application, and as such, a good hook for your 'Customizing Your Application' unit.
4) In the Unit on Navigator Containers, there is an exercise that includes giving functionality to 'next' and 'previous' buttons, to be used in conjunction with a TabBar. Part of this exercise includes adding functionality to the 'next' button so that, when the last child in the ViewStack is reached, additional clicking of the 'next' button will wrap around to the first child in the container. However, numerous students have asked about the opposite functionality: if the 'previous' button is clicked when viewing the first child, they wanted to be able to loop around to the last child in the ViewStack.
One of my former students came up with a solution to this issue, which is very similar to the soloution for the 'next' button. The 'click' handler for the 'previous' button should be set as follows:
click="cafeTownsendContent.selectedIndex=(cafeTownsendContent.selectedIndex -1 + cafeTownsendContent.numChildren) % cafeTownsendContent.numChildren.
This will give the desired functionality to the 'previous' button.
5) Be ready to discuss WebService and RemoteObject. Not to any significant degree, of course, because there is an entire class devoted to the subject. However, a high percentage of students, especially those who are already working as programmers and are looking to convert existing projects into Flex projects, are highly curious about the other options with regard to data access. Discuss the basic use cases, but don't go overboard - it could be very easy to spend way toomuch time on this subject, thus wasting that extra time you gained by skipping discussion of the Grid class.
Well, every flight has now been cancelled, but mine. I'm crossing my fingers... there aren't any other flights out of New York to Chicago until Monday. And, I don't feel like renting a car... that's one hell of a drive.

There are no comments for this entry.
[Add Comment]