Flex Camp Cleveland Review
The first ever Flex Camp Cleveland was held Monday April 7 2008. Flex Camp Cleveland is an all-day event for
beginning Flex developers, organized by the Cleveland Flex Users
Group (CLEFUG). I was lucky enough to attend the all day event and I would like to share some notes with you on both the event itself and the speakers presentations. First off I want to say thank you and Congratulations to Mick Keily and JD Schrock for all their hard work as I think the event was a big success. There was a great turnout of over 150 people and I think they did a great job of selecting a great location to host the event. The Middleburg Heights Community Center turned out to be a great host so hats off to them for the venue. The registration for the event was an all time low of $25 and I think this is a great way to get people to come out. Once I got to the event the registration process was very easy and I got a nice Flex Camp shirt that I can now show off.
The keynote was given by Ben Forta from Adobe and as always he did a great job. I think he ended up cramming an 1.5 hour presentation into 50 minutes. His presentation was a brief overview of flex and a quick getting started tutorial. Here are some notes from his presentation.
- One way to explain Flex is code based flash or flash for developers
- For the longest time the first thing people thought of flash was Skip Intro
- Flash has been a designers tool forever
- Flex SDK is Free / Open Source
- We see more and more business applications popping up, not that you could not produce it before but now the tooling is different.
- He went through a walk through of Flex builder
- You do not need to buy Flex builder to build applications but it sure provides some nice features
- Walk through of how to build an application using the CF/Flex Wizard - Can it get any easier
- AMF (Flash Remoting) is the preferred way of retrieving data
- Design view has an embedded version of the flash player so it is an actual representation of what your code will produce (Did not know this)
- An exclamation point in the outline view points out something is wrong (Nice Tip)
- Flex applications are compiled down to ActionScript there for you could build Flex applications entirely in ActionScript if you wanted to.
The next presentation was by Michael Krotscheck from Resource Interactive. His presentation was Building your first Flex application. Michael's presentation went very well for a couple of reasons. First off his example application was more of a real world application instead of some basic Hello World application. He built a digger application that took advantage of the Digg API. He was also a very knowledgeable speaker and answered many questions from the audience. Here are a couple basic notes on his presentation.
- Started out by showing us the finished product and I think in this kind of presentation it helps to know where we are going
- charts are part of Flex Builder Professional
- Examples of using constrain based layouts
- Images are actually pulled in at runtime unless you embed the image
- You do not have to type mx: to get the code hints in Flex Builder. I did not know this and he did not touch on this I just kind of picked up by watching him code. This means that if you wanted a button on the screen you could just type <Bu and the code assist for <mx:Button will come up.
- When calling the Digg API URL there was an error. This happened because you need to make sure you escape ampersands and other special characters.
- Curly brackets {} signify data binding
- When using an Item Renderer a special object is passed to the item renderer named data
- CSS Design view is slick!
- You can set a style for a component by the component name and id. Canvas.id or you could style all canvas objects by using Canvas
- You can embed fonts
- You can hot swap style sheets at runtime
- You can get the pdf and code for his presentation by going to his website http://www.practicalflash.com/news/flex-camp-cleveland
The next presentation started at 11 and it was the final presentation before lunch which is always a tough job. This one was Creating Custom Components and it way presented by Curt Gayheart and Doug Pierce from http://www.thewonderlabs.com. While I found some of this presentation over my head they were both very informative. Here are some notes from there presentation.
- Talked about the benefits of creating custom components
- Development - Easier when your with larger projects
- Debugging obviously is made easier when your break your projects into manageable chunks
- Code Reuse
- ActionScript vs MXML
- Deep down everything is compiled down to AS3
- MXML is useful for defining the view of model data
- Two routes to building Custom Components
- Most people will end up building an application and then refactoring into components
- Have a rough design of your application and split it into components
- Common Component Containers
- Canvas
- Form
- Panel
- Window
- Rich Text Editor
- Title Window
- You can download the presentation at http://www.thewonderlabs.com/presentations/
Everyone's favorite time has come, its lunch time! Lunch was part of the ticket price and usually boxed lunches are not all that good but I thought there was a very nice variety. After lunch there were a bunch of give aways. Here were some of the items raffled off.
- Flex 3 Training From the source
- Variety of books
- Lynda.com 1 year subscription
- Free Training Class From Lodestone (http://www.lodestone.com/) - These guys are great, they host our CFUG & AUG meetings
- 2 Copies of Flex Builder Professional
Another tough presentation is the one right after lunch because everyone is full and a little tired. The next presenter was Scott Andrews from Dimple Dough. This was a non technical presentation and more of what can Flex do for you discussion. Scott is the CTO of Dimple Dough, great speaker and a pretty smart guy. He told the story of how a friend (CEO of Dimple Dough) called him one day and said wouldn't it be cool if you personalize gift cards. A great idea and a new company was born. Obviously there is more that goes into it but that is how Scott says everything started. He walked us through how Flex is the engine to manage the back end for all of the merchants to control their gift cards. The application looked great and seem to solve many problems. I don't have many more notes on this one, not because I did not enjoy but it was just more of a relaxed presentation with a lot of question & answer.
The next presentation was an Intro to Object Oriented Programming. It was given by Kris Shultz from Resource Interactive. Let me first start off by saying that the terms of OOP are nothing new to me. I have made my way through many books and have actually applied these theories in code. With that being said I have to say this is one of the best OOP intros I have ever seen. Kris explained all of the major players in pretty good detail but in a way even beginners could pick it up. While OOP is nothing new to me, applying it to ActionScript 3 is. He did a great job and if you ever get a chance to check out a presentation of his I would highly recommend it. Here are some notes from the presentation.
- Class - A class is a blueprint for your application - A good example of this he used is a blueprint for a house
- While you could build many Instances of house off 1 blueprint changing the color of the house its built the same way
- Discussed the four major cornerstones of OOP - I always remember them by APIE
- Polymorphism
- Inheritance
- Abstraction
- Encapsulation
- Used an example of a Dog Class that is a part of the animals package.
- Example of how to extend classes
- How to hide properties and methods from other classes using the private modifier
- Discussed access modifiers
- public
- private
- protected
- internal
- I will have to see if he made the presentation and code available because you will definitely want to check it out
The final presentation of the day was by Adam Lehman from Adobe. His presentation was Adobe RIA Technologies (AIR Overview). I had the chance to see Adam speak a couple months ago in Cleveland and he is a very knowledgeable speaker. Adam was promoted to a ColdFusion evangelist not to long ago. As a Platform Evangelist, he is responsible for not only ColdFusion, but for Flex & AIR as well. Here are some of my notes on his presentation.
- Talked about the evolution of Adobe as a company
- Went through on how the web is evolving and where RIA fits.
- In 15 years are we going to still be writing traditional html applications? If you think of where we have come you might say no
- What is air? Its bringing the web to the desktop and bring web developers along with it.
- Walk though of some companies using AIR to increase their user experience.
- A quick walk through of how easy it is to turn a Flex application into an AIR application. The only difference is the mx:Applicaiton turns into mx:WindowedApplication
- An AIR file is nothing more than a zip file, if you changed its extention to .zip you can unzip it and see all of the files that are included. (NICE TIP - DID NOT KNOW THIS)
- AIR applications run just like desktop applications. You can view them in the task manager and see them running as process just like any other applicaiton
- You can register your AIR application to handle files based on your own custom extension
- AIR comes bundled with a local database
- SQLLite (http://www.sqllite.org
Finally we had a wrap up of the conference and an open question and answer session. This gave anyone in the audience a chance to ask questions to any/all of the presenters. This was educational because you had a couple different perspectives on different topics. All in all this was a great conference and just wanted to send out a big congratulations to everyone that was a part of it. I had a great time and hope to see more conferences like this in the Cleveland area.
