Powerpoint Slides for Preso

  • General Workflow tips/tools and tricks
    • FireFTP
    • Email – turn off outlook indicators so you can focus.
    • Developing Remotely, and how to push for it, why it’s important… saves time and money, it’s easier to find developers all across the nation than it is to get someone to move or to move their whole family.
    • http://www.rphelan.com/2008/08/01/flex-builder-shortcuts-and-timesavers/
  • Subversion
    • dont subversion big files like fla, or big flv files… put them in a zip file, and track them with the project, you could do this with assembla’s workspace, you can have workspace files… make sure that you just don’t misc put them with some certain track number, but put them on the general workspace where team mates can find them, and note in the track that they are there, and a click path to get to them like… “click My Start Page > My Project > Files Tab > “some file”
  • Trac
  • Mylynn
  • Assembla
  • Ant
    • showing example of cairngen and how you would setup a general project with ant, how to zip code up, and move it around to a different directory, you can pull down code from svn, as well as many other things…

Code Workflow tips/tools and tricks

  • seperate mxml attributes into different lines so you can add debug points on them
  • when you embed fonts, comment them out while programming, then uncomment when committing,  each font you embed seems to add another few seconds to the total compile time;
  • SETUP LOCAL HISTORY!!! YOU WON’T REGRET IT!
  • get an xml plug in editor for eclipse, i use “Amateras” it supports code folding, and it’s easy to put in ending tags… (it’s the little things that count ;)
  • SNAGIT screen shot software for windows…
  • don’t commit bad code to svn
  • don’t use mx:Script source=”somesource.as” because it’s not IDE Friendly
  • prepend collections, with xlcSomeData, or acMylist… only exception, “dataProvider”
  • prepend dates with “date” as in “dateLastUpdated”, “dateCreated” vs. “created” and “lastUpdated” it does 2 things… 1. alphabetizing is much easier, and it groups your dates, so say you have lastUpdated, and created, and they both have to be manipulated at different times, it makes it easy to see right away that you have a lastUpdated date, and that your supposed to manipulate it, because “some times” we write code and forget about it… but it’s a clean way and easy to see that both vars exist…
  • prepend boolean’s with “is”, or “has”, i always for get what i name my boolean flags, this makes it easy to alphabatize, and groups them just like dates, so when searching for what i named something, as long as i know the data type i have a general feel of where it is going to be… because you can’t sort by datatype in flex builder ( i dont think )
  • use ACTIONSCRIPT CLASSES RATHER THAN MXML when you can in order to take it easier on the compiler
  • don’t use XMLListCollection or XMLList, if you have a feed that is coming in that is XML, traverse through it and create value objects for it… here is why:
    • It makes you too tightly bounded to using xml, and xml operators like @attribute name, when if you switch the way you bring your data back from e4x to something like Object, then now you have to go traverse all of your code in order to bring it up to par, if you converted it all to objects, with a data manager, you would only have to change the datamanager…
    • You get binding errors when trying to bind with xml list collections… and it’s annoying… it fills your console with unecessary crap.
    • Cairngorm Notes:
      • Alphabetize your events, I name them with reverse naming for example you would normally have a class called “Playlist” and you would have functions inside of it like getPlaylist, with cairngorm, and the way it’s controller is, it easier for me to group all of my playlist events together Create, Read, Update, Delete… so All of my events are named a little backwards to make sure i keep them alphabetized. IE: PlaylistReadEvent, PlaylistCreateEvent, PlaylistDeleteEvent, that way they can be alphabetized and grouped for easier reading…
      • You Don’t need a Delegate for every command… you only need a delegate for every “different” service that you have… so if you have Four HttpServices you use, you more than likely may have Four Delegates… and those delegates can have many functions in them that call the appropriate backend function.
      • Use Cairngen http://code.google.com/p/cairngen/
      • To put your events in the controller or in the actual event? ( The event… but i dont follow this because i havent updated my custom cairngen files )

Tips that I would change about myself if I was learning Flex after Flex 3 came out

  • Use Modules, in FB3 it supports modules in the IDE, and you no longer need the -debug.swf to debug them…

5 Steps of Project

  • Initiate
  • Plan
  • Action
  • Re-plan -> action
  • Close

Project Deployment

  • how to develop and deploy to a server
  • how to test to make sure the server is working, as in development
    • Service Capture
    • NEVER HAVE DIFFERENT CODE SETS ON THE SERVER VS DEVELOPMENT

Use ANT http://blogs.adobe.com/flexdoc/2008/04/adding_java_development_tools_1.html

Use Flexbuilder Standalone

Flex Coding Standards