<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sean Moore - Flex Developer, AIR Developer, ActionScript Programmer &#187; OOP</title>
	<atom:link href="http://seantheflexguy.com/blog/category/oop/feed/" rel="self" type="application/rss+xml" />
	<link>http://seantheflexguy.com/blog</link>
	<description>Flex Developer, AIR Developer, ActionScript Programmer</description>
	<lastBuildDate>Fri, 21 May 2010 14:59:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>RobotLegs AS3 Framework Presentations</title>
		<link>http://seantheflexguy.com/blog/2010/03/20/robotlegs-as3-framework-presentations/</link>
		<comments>http://seantheflexguy.com/blog/2010/03/20/robotlegs-as3-framework-presentations/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 15:50:17 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Aspect Oriented Programming]]></category>
		<category><![CDATA[Bleeding Edge Flash]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Best Practices]]></category>
		<category><![CDATA[Flex Presentations]]></category>
		<category><![CDATA[Flex Training]]></category>
		<category><![CDATA[Inversion Of Control]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Software development process]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=468</guid>
		<description><![CDATA[I&#8217;ll be presenting at the Denver Flex User&#8217;s Group on July 15th on RobotLegs. In addition I should also be presenting via Adobe Connect for the Nashville Flash Platform User Group in May. Here is some additional information about the presentation. RobotLegs is an IoC framework that&#8217;s been rising on the Flex framework scene. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin-top: 5px; margin-bottom: 5px; margin-left: 10px; margin-right: 10px;" src="http://seantheflexguy.com/images/sean-moore-robot-legs-350.jpg" alt="" width="150" height="150" />I&#8217;ll be presenting at the Denver Flex User&#8217;s Group on July 15th on RobotLegs. In addition I should also be presenting via Adobe Connect for the Nashville Flash Platform User Group in May. Here is some additional information about the presentation.</p>
<p>RobotLegs is an IoC framework that&#8217;s been rising on the Flex framework scene. It&#8217;s a pure AS3 microarchitecture so it can be used in non-Flex projects as well. One thing that I like about the framework is that it does a pretty good job of telling you what&#8217;s wrong when you&#8217;re building your app. For example it&#8217;ll let you know if you&#8217;ve missed adding a class to the context. In this presentation I&#8217;ll show you how to set up a Flex app from the ground up using RobotLegs. In addition I&#8217;ll show you how to set up Flex Unit with RobotLets so that you can write unit tests or do test driven development for your project. I&#8217;ve worked with several Flex frameworks and RobotLegs is one of my favorites so far. This will be more of a live coding session than a theoretical talk about IoC. In this session you&#8217;ll learn how to set up your package structure, create a context, create a central data model, map events to commands, create and communicate with services, set up your views and use mediators as backing classes that will contain the ActionScript for them. I&#8217;ll also share a technique that I&#8217;ve been using that splits the context up so there isn&#8217;t one giant class to manage.</p>
<p>More information about the July preso can be found here:</p>
<p><a href="http://ria5280.org/calendar/event/2010/7/15/178056">http://ria5280.org/calendar/event/2010/7/15/178056</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2010/03/20/robotlegs-as3-framework-presentations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>seantheflexguyTV – episode 02: Flash and the City conference, AIR 2.0, Flex 3 with Java book review</title>
		<link>http://seantheflexguy.com/blog/2010/02/09/seantheflexguytv-%e2%80%93-episode-02-flash-and-the-city-conference-air-2-0-flex-3-with-java-book-review/</link>
		<comments>http://seantheflexguy.com/blog/2010/02/09/seantheflexguytv-%e2%80%93-episode-02-flash-and-the-city-conference-air-2-0-flex-3-with-java-book-review/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 23:14:01 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Bleeding Edge Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flash Platform Community]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Books]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Flex Conferences]]></category>
		<category><![CDATA[General Development Notes]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[seantheflexguyTV]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=435</guid>
		<description><![CDATA[Here’s the second episode of seantheflexguyTV! In this episode I talk about the upcoming Flash and the City conference in NYC. I also cover some of the new features and capabilities of AIR 2.0 and do a quick review of the Flex 3 with Java book. This episode should be a little more organized and [...]]]></description>
			<content:encoded><![CDATA[<p>Here’s the second episode of seantheflexguyTV! In this episode I talk about the upcoming <a href="http://blog.flashandthecity.com/" target="_blank">Flash and the City conference in NYC</a>. I also cover some of the new features and capabilities of <a href="http://labs.adobe.com/technologies/air2/" target="_blank">AIR 2.0</a> and do a quick review of the <a href="http://www.packtpub.com/flex-3-with-java/book" target="_blank">Flex 3 with Java book</a>. This episode should be a little more organized and focused. I put together some show notes this time, which you can <a href="http://seantheflexguy.com/seantheflexguytv/seantheflexguyTV-episode02-notes.pdf" target="_blank">download here</a>. In addition I&#8217;ve collected up some links for you to check out that relate to the topics covered in the show. Thanks a ton for your suggestions last week and thanks for tuning in. The next episode will focus on Flex &#8220;Gotchas.&#8221; I&#8217;m looking to you, the viewer, to send any gotchas that you&#8217;ve encountered in your Flex development adventures. Please send them to: info@seantheflexguy.com I&#8217;m looking for problems with solutions if you have them. Nothing crazy just any weird issues you&#8217;ve found solutions for that others might benefit from. Thanks again for checking out the show, I appreciate your time and feedback. I have to send a HUGE shout out to Jens at Flash Magazine for the Vimeo Plus account for the shows going forward. Flash Magazine is now an official sponsor of seantheflexguyTV. Stay tuned for some exciting stuff moving forward. Well, until next time, take it easy&#8230;</p>
<div align="center">
<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9334282&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9334282&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/9334282">seantheflexguyTV &#8211; episode 02: Flash and the City, AIR 2.0, Flex 3 with Java book review</a> from <a href="http://vimeo.com/seantheflexguy">seantheflexguy</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</div>
<p>Flash and the City Conference Blog</p>
<p><a href="http://blog.flashandthecity.com/" target="_blank">http://blog.flashandthecity.com/</a></p>
<p>Flash and the City Speakers</p>
<p><a href="http://blog.flashandthecity.com/speakers/" target="_blank">http://blog.flashandthecity.com/speakers/</a></p>
<p>Elad Elrom&#8217;s AIR 2.0 Cookbook recipes (thanks again dude!)</p>
<p><a href="http://elromdesign.com/blog/2010/02/01/10-recipes-on-adc-cookbooks-covering-air-20-new-apis/" target="_blank">http://elromdesign.com/blog/2010/02/01/10-recipes-on-adc-cookbooks-covering-air-20-new-apis/</a></p>
<p>AIR 2.0 info on the Adobe Labs site</p>
<p><a href="http://labs.adobe.com/technologies/air2/" target="_blank">http://labs.adobe.com/technologies/air2/</a></p>
<p>Exploring the new file capabilities in Adobe AIR 2</p>
<p><a href="http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html" target="_blank">http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html</a></p>
<p>StorageVolume class info</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/filesystem/StorageVolume.html" target="_blank">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/filesystem/StorageVolume.html</a></p>
<p>StorageVolumeInfo class info</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/filesystem/StorageVolumeInfo.html" target="_blank">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/filesystem/StorageVolumeInfo.html</a></p>
<p>StorageVolumeChangeEvent class info<a href=" http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/StorageVolumeChangeEvent.html" target="_blank"></p>
<p>http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/StorageVolumeChangeEvent.html</a></p>
<p>Interacting with Native Processes in AIR 2.0</p>
<p><a href="http://www.adobe.com/devnet/air/flex/quickstart/interacting_with_native_process.html" target="_blank">http://www.adobe.com/devnet/air/flex/quickstart/interacting_with_native_process.html</a></p>
<p>AIR 2.0 New Features Overview</p>
<p><a href="http://www.infoq.com/articles/air-20-new-features" target="_blank">http://www.infoq.com/articles/air-20-new-features</a></p>
<p>AIR 2.0 FAQ on Adobe Labs</p>
<p><a href="http://labs.adobe.com/wiki/index.php/AIR_2:Developer_FAQ" target="_blank">http://labs.adobe.com/wiki/index.php/AIR_2:Developer_FAQ</a></p>
<p>New Features in AIR 2.0 on Adobe Labs</p>
<p><a href="http://labs.adobe.com/wiki/index.php/AIR_2:Release_Notes#New_Features_in_AIR_2__beta_2" target="_blank">http://labs.adobe.com/wiki/index.php/AIR_2:Release_Notes#New_Features_in_AIR_2__beta_2</a></p>
<p>AIR 2 Enhancements Complete Overview</p>
<p><a href="http://www.insideria.com/2009/10/air-2-enhancements-complete-ov.html" target="_blank">http://www.insideria.com/2009/10/air-2-enhancements-complete-ov.html</a></p>
<p>Using the Microphone capabilities in Adobe AIR 2 beta</p>
<p><a href="http://www.adobe.com/devnet/air/flex/articles/using_mic_api.html" target="_blank">http://www.adobe.com/devnet/air/flex/articles/using_mic_api.html</a></p>
<p>TouchEvent class info</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/TouchEvent.html" target="_blank">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/TouchEvent.html</a></p>
<p>TouchscreenType</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/system/TouchscreenType.html" target="_blank">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/system/TouchscreenType.html</a></p>
<p>MultitouchInputMode</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/ui/MultitouchInputMode.html" target="_blank">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/ui/MultitouchInputMode.html</a></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<p><!--Session data-->Multitouch</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/ui/Multitouch.html" target="_blank">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/ui/Multitouch.html</a></p>
<p>TransformGestureEvent</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/TransformGestureEvent.html" target="_blank">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/TransformGestureEvent.html</a></p>
<input id="gwProxy" type="hidden" /><!--Session data--><br />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2010/02/09/seantheflexguytv-%e2%80%93-episode-02-flash-and-the-city-conference-air-2-0-flex-3-with-java-book-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SeanTheFlexGuy: 2009 Accomplishments and Review</title>
		<link>http://seantheflexguy.com/blog/2010/01/01/seantheflexguy-2009-accomplishments-and-review/</link>
		<comments>http://seantheflexguy.com/blog/2010/01/01/seantheflexguy-2009-accomplishments-and-review/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 20:46:33 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[AS3 API]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Bleeding Edge Flash]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flash Platform Community]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[Flex Best Practices]]></category>
		<category><![CDATA[Flex Books]]></category>
		<category><![CDATA[Flex Builder 3]]></category>
		<category><![CDATA[Flex Consulting]]></category>
		<category><![CDATA[Flex Contracting]]></category>
		<category><![CDATA[Gumbo]]></category>
		<category><![CDATA[Inversion Of Control]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OOD]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Software development process]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[sdfug]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=413</guid>
		<description><![CDATA[Taking a look at everyone&#8217;s &#8220;2009 In Review&#8221; blog posts is really great inspiration. Looking back over the last year is always worth taking a minute to do. It&#8217;s great to reflect on personal growth over the course of a year and take note of our accomplishments. I decided to recall the last year for [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.seantheflexguy.com/images/blog/2009.jpg" alt="" width="250" height="190" />Taking a look at everyone&#8217;s &#8220;2009 In Review&#8221; blog posts is really great inspiration. Looking back over the last year is always worth taking a minute to do. It&#8217;s great to reflect on personal growth over the course of a year and take note of our accomplishments. I decided to recall the last year for myself and put together a quick blog post. It was a pretty good year and I&#8217;ve learned a lot and continued refining my skills in my mission to become a &#8220;great&#8221; Flex developer. Here&#8217;s a rundown of what 2009 looked like for me:</p>
<p><strong>San Diego Flash Users Group: Flex Best Practices Presentation</strong></p>
<p>To start 2009 off I gave <a href="http://www.sdfug.org/san-diego-flash-users-group/flex/reminder-meeting-this-wednesday-6pm/" target="_blank">my first presentation</a> to an awesome group of Flash and Flex developers in San Diego. The presentation was created from the two articles I wrote in 2008 for the Adobe Developer Connection on Best Practices for Flex development. I&#8217;ve kept the Powerpoint presentation offline until now. Some of the content is a little dated but it&#8217;s probably still worth checking out. I may update this presentation with everything I&#8217;ve learned over the last year and for the upcoming changes coming in Flex 4, if time permits.</p>
<p>Download the <a href="http://www.seantheflexguy.com/presentations/Sean-Moore-Flex-Best-Practices.ppt" target="_blank">Flex Best Practices Powerpoint Presentation here</a>.</p>
<p><strong>Java Programming II at UCSD</strong></p>
<p>After wanting to learn more about Java for many years I decided to go back to school and take a structured class. This was the first time I&#8217;d set foot in a classroom since about 1998. It was through the UCSD Extension program but classes were held on the UCSD campus. It was pretty cool to walk around the campus and see the &#8220;college&#8221; life again after so long. In addition this was the first time I&#8217;d ever taken a class at a University, my previous college experience was at a community college. The instructor <a href="http://extension.ucsd.edu/about/index.cfm?vAction=instructorDetail&amp;vContactID=1078&amp;vDepartmentCode=CS" target="_blank">Kent Yang</a> was really awesome and the class was killer! I learned a lot more about Java, OOP, Unit Testing and Design Patterns. This knowledge was all transferable into AS3/Flex so the experience was well worth the time and investment.</p>
<p>Check out the <a href="http://extension.ucsd.edu/studyarea/index.cfm?vAction=singleCourse&amp;vStudyAreaID=14&amp;vCourse=CSE-40480" target="_blank">class details here</a>.</p>
<p><strong> The Flex Show Episode 71: OOP w/ Sean Moore</strong></p>
<p>The Flex Show is awesome, simply stated. Jeffry Houser has done an excellent job with the podcast and I&#8217;ve been a fan for a few years now. One of my goals was to be a guest on The Flex Show and in 2009 in became a reality. I was able to put together a talk about OOP in regards to Flex and ActionScript development. The Java class helped solidify my knowledge of OOP so hopefully the talk will help others grasp some of the fundamental OO concepts. It was an honor to be on the show and I really appreciate the opportunity. Hopefully I can do another show sometime in the future. Maybe on the Mindset BCI work I&#8217;ve been doing lately.</p>
<p>You can listen to <a href="http://www.theflexshow.com/blog/index.cfm/2009/4/8/The-Flex-Show-Episode-71-Flex-Compiler-Edits-w-Brian-Deitte-from-Brightcove" target="_blank">my talk on The Flex Show here</a>.</p>
<p><strong>Orange County Flex Users Group: Flex Best Practices Presentation</strong></p>
<p><strong></strong><a href="http://twitter.com/instante/" target="_blank">Laura Arguello</a> was kind enough to invite me to give my <a href="http://www.ocflex.org/post/march-meeting-flex-best-practices" target="_blank">Flex Best Practices preso at the OCFlex Users Group in March</a>. This gave me a chance to visit the <a href="http://www.asfusion.com/">ASFusion</a> office before the preso and hang out with <a href="http://twitter.com/jeremysaenz" target="_blank">Jeremy Saenz</a> (aka The Flex Gangster) a bit as well. The crowd at OCFlex was really great and very patient as I got set up and had some trouble finding a room at the venue big enough for everyone. Thanks again to ASFusion and the OCFlex Users Group for inviting me to present. It was a great experience!</p>
<p><strong>Technical Authoring for O&#8217;Reilly InsideRIA</strong></p>
<p>2008 was a big year for me and authoring. I wrote articles for <a href="http://www.adobe.com/devnet/flex/articles/best_practices_pt1.html" target="_blank">Adobe</a>, <a href="http://www.flashmagazine.com/Reviews/detail/mate_event_driven_framework_for_flex" target="_blank">Flash Magazine</a> and <a href="http://www.insideria.com/2008/11/exploring-the-strategy-design.html" target="_blank">O&#8217;Reilly&#8217;s InsideRIA</a>. I continued the trend in 2009 by writing three featured articles for InsideRIA. <a href="http://blog.everythingflex.com/" target="_blank">Rich Tretola</a> is one of the coolest guys I know and such a pleasure to work with. He helped me a ton with the articles I wrote this year through the good and the bad. Another person I really have to thank is <a href="http://blogs.adobe.com/mchotin/" target="_blank">Matt Chotin</a>. His feedback on my Flex 4 article was a huge help and I really appreciate his time and input! You can check out the articles I wrote for InsideRIA below:</p>
<p><a href="http://www.insideria.com/2009/04/51-actionscript-30-and-flex-op.html" target="_blank">Round up of ActionScript 3.0 and Flex optimization techniques and practices</a></p>
<p><a href="http://www.insideria.com/2009/06/overview-of-flex-4-gumbo.html" target="_blank">Overview of Flex 4 (Gumbo)</a></p>
<p><a href="http://www.insideria.com/2009/10/decorator-design-pattern.html" target="_blank">Decorator Design Pattern</a></p>
<p><strong>Technical Reviews for Manning Publications</strong></p>
<p>Reviewing books is great for a lot of reasons, it helps your writing skills, you get a preview of the books before they&#8217;re published and you get to contribute to the quality of the books being published. I do the reviews on a volunteer basis and really enjoy and appreciate the opportunity to do so. In 2009 I had the privilege of reviewing three books for Manning. They are all great titles and I encourage you to check them out.</p>
<p><a href="http://www.manning.com/armstrong3/" target="_blank">Hello! Flex 4</a></p>
<p><a href="http://www.manning.com/allmon/" target="_blank">Flex On Java</a></p>
<p><a href="http://www.manning.com/ahmed2/" target="_blank">Flex 4 In Action</a></p>
<p><strong>Present.ly AIR Client Development</strong></p>
<p>This is one of the larger apps that I worked on completely by myself. Dave at <a href="http://www.intridea.com/" target="_blank">Intridea</a> got in touch with a request to help them refactor an existing AIR application to best practices. This project was one of the best projects I&#8217;ve ever had the pleasure of working on. The app was cool, the concept was cool and the client was cool. The <a href="http://presentlyapp.com/" target="_blank">Present.ly service</a> is a private Twitter like service for businesses, if you haven&#8217;t already taken a minute to check it out I encourage you to do so. Another really awesome aspect of this project is that the codebase for the AIR app is totally open source and available for download on GIT Hub. I was able to use Cairngorm and Flex Unit on this project which I feel really helped the codebase and application&#8217;s stability and scalability. You can check out the codebase and the finished app by following the links below:</p>
<p><a href="http://github.com/presently/presently-air" target="_blank">Present.ly AIR source code at GIT Hub</a></p>
<p><a href="http://presentlyapp.com/native_apps/air" target="_blank">Present.ly AIR Client</a></p>
<p><strong>Game Consulting and Development</strong></p>
<p>A game development company contacted me for some assistence with consulting and development for a Flex and Flash based game. This was my first experience doing any game dev and it was really great. This was another awesome client. They are not public yet so there aren&#8217;t any links to share. I did want to note that game development is something that I&#8217;d like to do more of and hopefully 2010 will present more opportunities to do so.</p>
<p><strong>Parsley</strong></p>
<p>Learning <a href="http://www.spicefactory.org/parsley/" target="_blank">Parsley</a> was been on my radar for quite some time. I&#8217;ve been able to work with the framework quite a bit over the last few months and really like it so far. It&#8217;s quite a bit different than Cairngorm development but it offers more flexibility and is the preferred direction by many developers. <a href="http://en.wikipedia.org/wiki/Inversion_of_control" target="_blank">IoC</a> frameworks are all the rage and I am glad to be learning how to use them.</p>
<p><strong>Presentation Model</strong></p>
<p>This design pattern is great. It enables better unit testing for your applications and helps to decouple logic from views. Using the <a href="http://martinfowler.com/eaaDev/PresentationModel.html" target="_blank">Presentation Model </a>wasn&#8217;t totally clear at first but after working with it for a while I&#8217;m really beginning to like it. Having a bunch of code in MXML files wasn&#8217;t really ever all that appealing to me and using the Presentation Model really helps to separate this code out into pure AS3 classes.</p>
<p><strong>ThinkGear Brain Computer Interface API</strong></p>
<p>In an effort to end 2009 with a bang I released my <a href="http://seantheflexguy.com/blog/2009/12/30/neurosky-mindset-brain-computer-interface-actionscript-3-0-api/" target="_blank">ThinkGear API</a>. This API enables the <a href="http://www.neurosky.com/" target="_blank">Neurosky </a>Mindset Brain Computer Interface to communicate with AS3 based applications. So far I&#8217;ve been able to build a rough dashboard that uses my brainwaves as its data source. In addition I was able to tie my brainwaves into some AS3 based particle visualizations. You can see my demo video and <a href="http://seantheflexguy.com/blog/2009/12/30/neurosky-mindset-brain-computer-interface-actionscript-3-0-api/" target="_blank">learn more here</a>. Control ActionScript with your mind!!!</p>
<p>Well here&#8217;s looking to 2010. I can&#8217;t believe it&#8217;s already been a decade since Y2K. It&#8217;s been a great decade for the Flash Platform we&#8217;ve all come a long way.</p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2010/01/01/seantheflexguy-2009-accomplishments-and-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>List of 34 More ActionScript 3.0 APIs</title>
		<link>http://seantheflexguy.com/blog/2009/12/19/list-of-34-more-actionscript-30-apis/</link>
		<comments>http://seantheflexguy.com/blog/2009/12/19/list-of-34-more-actionscript-30-apis/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 19:19:13 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[AS3 API]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Bleeding Edge Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex API Example]]></category>
		<category><![CDATA[Inversion Of Control]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[frameworks]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=390</guid>
		<description><![CDATA[Using an API can save time during the development process. The wonderful thing about the Flash Platform Community has always been the willingness to share. Here&#8217;s 34 more ActionScript 3.0 APIs that can be used for Flex, Flash and AIR development. Hopefully one of the APIs listed here or in one of my previous API [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://www.seantheflexguy.com/images/blog/as3-api.jpg" class="alignright" width="165" height="132" /><br />
Using an API can save time during the development process. The wonderful thing about the Flash Platform Community has always been the willingness to share. Here&#8217;s <strong>34 more ActionScript 3.0 APIs</strong> that can be used for Flex, Flash and AIR development. Hopefully one of the APIs listed here or in one of my <a href="http://seantheflexguy.com/blog/2007/08/13/list-of-22-actionscript-30-apis/">previous</a> API listing <a href="http://seantheflexguy.com/blog/2008/05/24/36-new-cool-flex-and-as3-tools-libraries-and-components/">posts</a> can help you and your team save time. Happy Holidays!! <img src='http://seantheflexguy.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>ArcGIS API for Flex</strong><br />
The ArcGIS API for Flex allows the creation of Rich Internet applications on top of ArcGIS Server. It is based on the free Adobe Flex framework. The Flex framework is a client-side technology that is rendered by Flash Player 9 and above, or by Adobe AIR. All Flex 3.x SDK versions are now supported.<br />
<a href="http://resources.esri.com/arcgisserver/apis/flex/">http://resources.esri.com/arcgisserver/apis/flex/</a></p>
<p><strong>asaudio</strong><br />
ASaudio is a small AS3 library dedicated to simple and efficient sound handling.<br />
<a href="http://code.google.com/p/asaudio/">http://code.google.com/p/asaudio/</a></p>
<p><strong>as3ansi</strong><br />
Library for parsing and viewing extended ASCII (IBM code page 437) into AS3 for use in Flash and Flex applications.<br />
<a href="http://code.google.com/p/as3ansi/">http://code.google.com/p/as3ansi/</a></p>
<p><strong>ActionScript 3.0 Client Library for Facebook Platform API</strong><br />
The new ActionScript 3.0 Client Library for Facebook Platform API, fully supported by Facebook and Adobe, makes it easy to build applications that combine the strengths of the Flash Platform and Facebook Platform.<br />
<a href="http://code.google.com/p/facebook-actionscript-api/">http://code.google.com/p/facebook-actionscript-api/</a></p>
<p><strong>ascolourlovers</strong><br />
ColourLovers API for ActionScript 3. This library provides all the tools needed to bring palettes, colors, patterns and more from the ColourLovers API in your AS3 projects.<br />
<a href="http://code.google.com/p/ascolourlovers/">http://code.google.com/p/ascolourlovers/</a></p>
<p><strong>AS3DAC </strong><br />
AS3DAC parses an AS3.0 class or instance file and adds asdoc documentation stubs. Follows the Flex SDK Coding Conventions where applicable.<br />
<a href="http://code.google.com/p/as3dac/">http://code.google.com/p/as3dac/</a></p>
<p><strong>as3flexdb</strong><br />
AS3FlexDB project is a open source lib that allows Adobe Flex applications to connect to a MySQL server.<br />
<a href="http://code.google.com/p/as3flexdb/">http://code.google.com/p/as3flexdb/</a></p>
<p><strong>as3growl</strong><br />
An ActionScript 3 API for working with the Growl notification service.<br />
<a href="http://code.google.com/p/as3growl/">http://code.google.com/p/as3growl/</a></p>
<p><strong>AS3 Http Client Library</strong><br />
An http library written on top of flash.net.Socket (and as3crypto) to be used with AIR or flash runtimes.<br />
<a href="http://github.com/gabriel/as3httpclient">http://github.com/gabriel/as3httpclient</a></p>
<p><strong>as3midilib</strong><br />
MIDI for ActionScript 3.0<br />
<a href="http://code.google.com/p/as3midilib/">http://code.google.com/p/as3midilib/</a></p>
<p><strong>as3openxmlformats</strong><br />
ActionScript 3 lib for MS Office Open XML Formats<br />
<a href="http://code.google.com/p/as3openxmlformats/">http://code.google.com/p/as3openxmlformats/</a></p>
<p><strong>as3-scaffold </strong><br />
as3-scaffold is a lightweight as3 framework with an accompanying set of scaffolding scripts to automate the tedium of setting up new as3 projects, with support for PureMVC.<br />
<a href="http://code.google.com/p/as3-scaffold/">http://code.google.com/p/as3-scaffold/</a></p>
<p><strong>as3scriptinglib</strong><br />
This library aims to provide an API for compiling and executing runtime ActionScript/JavaScript within the Flash client (no server required) via Adobe&#8217;s ECMAScript 4 compiler (from the Tamarin project).<br />
<a href="http://code.google.com/p/as3scriptinglib/">http://code.google.com/p/as3scriptinglib/</a></p>
<p><strong>as3zlib</strong><br />
as3 port of zlib<br />
This is a port of JZlib to as3. Was created because as3 in Flash9 does not support deflate in ByteArray. AIR does support deflate and doesn&#8217;t need this code.<br />
<a href="http://code.google.com/p/as3zlib/">http://code.google.com/p/as3zlib/</a></p>
<p><strong>bitly as3 api</strong><br />
Simple as3 implementation for bit.ly API.<br />
<a href="http://code.google.com/p/bitly-as3-api/">http://code.google.com/p/bitly-as3-api/</a></p>
<p><strong>Diggbe </strong><br />
Diggbe is a general purpose DI engine. It is first conceived for unit testing purposes (to avoid xxxSet/GetForTest). But it can also be use for runtime code to allow service dependencies to be injected.<br />
<a href="http://code.google.com/p/diggbe/">http://code.google.com/p/diggbe/</a></p>
<p><strong>echo-nest-flash-api</strong><br />
An ActionScript 3 interface for the the Echo Nest API.<br />
<a href="http://github.com/also/echo-nest-flash-api">http://github.com/also/echo-nest-flash-api</a></p>
<p><strong>Etsy API Wrapper for Actionscript 3</strong><br />
An Actionscript 3 class that wraps the Etsy.com API.<br />
<a href="http://thunderfarm.com/etsy/">http://thunderfarm.com/etsy/</a></p>
<p><strong>feedmeas3</strong><br />
FeedMe is a low level class for sharing data between objects.<br />
<a href="http://code.google.com/p/feedmeas3/">http://code.google.com/p/feedmeas3/</a></p>
<p><strong>fuelas3svn </strong><br />
This is the SVN protocol implemented in AS3. This library gives you the ability to write your own SVN client completely in Flash.<br />
<a href="http://code.google.com/p/fuelas3svn/">http://code.google.com/p/fuelas3svn/</a></p>
<p><strong>Gigya AS3 API</strong><br />
<a href="http://wiki.gigya.com/030_Gigya_Socialize_API_2.0/030_API_reference/010_Client_API_%28JavaScript%29">http://wiki.gigya.com/030_Gigya_Socialize_API_2.0/030_API_reference/010_Client_API_%28JavaScript%29</a></p>
<p><strong>googleas3api</strong><br />
AS3 library on Googles API&#8217;s, integrate the power of Google in your Flash/Flex/AIR application (searches, translation, suggest, weather, feeds).<br />
<a href="http://code.google.com/p/googleas3api/">http://code.google.com/p/googleas3api/</a></p>
<p><strong>Kongregate&#8217;s AS3 API</strong><br />
The Kongregate AS3 API allows you to extend your game to communicate with the Kongregate back-end.<br />
<a href="http://www.kongregate.com/developer_center/docs/as3-api">http://www.kongregate.com/developer_center/docs/as3-api</a></p>
<p><strong>KoolMoves AS3 API</strong><br />
<a href="http://koolexchange.com/docs/km/">http://koolexchange.com/docs/km/</a></p>
<p><strong>lastfm as3</strong><br />
Actionscript 3.0 API to access the Last.fm web services.<br />
<a href="http://code.google.com/p/lastfm-as3/">http://code.google.com/p/lastfm-as3/</a></p>
<p><strong>Mappy AS3 API</strong><br />
Thanks to Mappy AS3 API, show your users advanced visual effects (zooming with transition effects, video integrations, animations, etc.)and render maps quickly on browsers with a Flash plug-in instaled (the vast majority of Internet users).<br />
<a href="http://api.mappy.com/en/as3">http://api.mappy.com/en/as3</a></p>
<p><strong>MP3tunes Music AS3/Flex/AIR API</strong><br />
API to implements the MP3tunes Music API. The api consists of REST interface which gives you access to all data for a user within the MP3tunes Locker service. It gives you the foundation for using the service in a AS3/Flex/AIR project.<br />
<a href="http://code.google.com/p/mp3tunes-as3-api/">http://code.google.com/p/mp3tunes-as3-api/</a></p>
<p><strong>nd3d</strong><br />
ND3D is a simple to use AS3 3D Engine. Aimed for speed and simplicity. Target use are small 3D effects and rapid 3D testing / prototyping. The compiled size of the engine is about 10k.<br />
<a href="http://code.google.com/p/nd3d/">http://code.google.com/p/nd3d/</a></p>
<p><strong>netflex-as3-api</strong><br />
An Actionscript 3 utility library to simplify the Netflix API for Actionscript 3 based applications.<br />
<a href="http://code.google.com/p/netflex-as3-api/">http://code.google.com/p/netflex-as3-api/</a></p>
<p><strong>Sekati API</strong><br />
Sekati API is a Pure Actionscript 3.0 framework designed to bootstrap the development of flash/flex projects &#038; applications with an emphasis on high-level functionality encapsulation. The framework provides a flexible, feature-rich xml configurable application architecture through the implementation of it&#8217;s collection of behavior-specific core display objects, controllers, managers &#038; utilities.<br />
<a href="http://code.google.com/p/sekati/">http://code.google.com/p/sekati/</a></p>
<p><strong>Soundcloud AS3 API</strong><br />
Universal Soundcloud API wrapper for Flash, Flex and AIR projects, written in ActionScript 3.0.<br />
<a href="http://github.com/dasflash/Soundcloud-AS3-API/blame/1aa2d25c072309a1e931b08e88f6c7218a135be0/README">http://github.com/dasflash/Soundcloud-AS3-API/blame/1aa2d25c072309a1e931b08e88f6c7218a135be0/README</a></p>
<p><strong>tweensy</strong><br />
Tweensy is an extremely efficient Actionscript 3 property tweener. Contained within Tweensy is an expansion package called Tweensy FX which allows for motion effects to be applied onto DisplayObjects.<br />
<a href="http://code.google.com/p/tweensy/">http://code.google.com/p/tweensy/</a></p>
<p><strong>vyana </strong><br />
Light-weight Cairngorm-PureMVC like framework with care about modular applications<br />
<a href="http://code.google.com/p/vyana/">http://code.google.com/p/vyana/</a></p>
<p><strong>wiiflash</strong><br />
Communication between the Wiimote and Flash<br />
<a href="http://code.google.com/p/wiiflash/">http://code.google.com/p/wiiflash/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2009/12/19/list-of-34-more-actionscript-30-apis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Decorator Design Pattern and Open Closed Principle</title>
		<link>http://seantheflexguy.com/blog/2009/11/01/the-decorator-design-pattern-and-open-closed-principle/</link>
		<comments>http://seantheflexguy.com/blog/2009/11/01/the-decorator-design-pattern-and-open-closed-principle/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 18:15:33 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Best Practices]]></category>
		<category><![CDATA[OOD]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Software development process]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=377</guid>
		<description><![CDATA[Interested in Design Patterns? Check out this article on InsideRIA that explains the Decorator Design Pattern. This article explains the Open Closed Principal and discusses favoring composition over inheritance. These are very powerful OOP concepts that can be leveraged to produce more flexible and robust code. The Decorator is a great pattern to learn after [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.insideria.com/2009/10/decorator-design-pattern.html" target="_blank"><img class="alignright" style="margin-left: 12px; margin-right: 12px;" src="http://www.seantheflexguy.com/images/blog/sean-moore-decorator-design-pattern.jpg" alt="" width="200" height="183" /></a>Interested in Design Patterns? Check out this article on InsideRIA that explains the <a href="http://www.insideria.com/2009/10/decorator-design-pattern.html" target="_blank">Decorator Design Pattern</a>. This article explains the Open Closed Principal and discusses favoring composition over inheritance. These are very powerful OOP concepts that can be leveraged to produce more flexible and robust code. The Decorator is a great pattern to learn after gaining an understanding of the Strategy pattern. InsideRIA also has a great article exploring the <a href="http://www.insideria.com/2008/11/exploring-the-strategy-design.html" target="_blank">Strategy Design Pattern</a> if you&#8217;d like to learn more about it. If things go as planned we&#8217;ll take a look at the Factory Pattern next. Design Patterns are great and I hope these articles help developers understand them. Remember that a thorough understanding of these patterns should be gained before using them in production code.</p>
<input id="gwProxy" type="hidden" />
<p><!--Session data--><br />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2009/11/01/the-decorator-design-pattern-and-open-closed-principle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top Ten Flex Tools and Resources</title>
		<link>http://seantheflexguy.com/blog/2009/05/20/top-ten-flex-tools-and-resources/</link>
		<comments>http://seantheflexguy.com/blog/2009/05/20/top-ten-flex-tools-and-resources/#comments</comments>
		<pubDate>Wed, 20 May 2009 15:02:46 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[AS3 API]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Bleeding Edge Flash]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Best Practices]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Software development process]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=306</guid>
		<description><![CDATA[When developing Flex and/or AIR applications there are a handful of tools that really make the difference between a good project and a great project. They are all very valuable and provide stability and clarity for the RIA development process; or at least they have for me. From Unit Testing to SVN utilities to frameworks [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://seantheflexguy.com/images/blog/top-ten-flex-tools.jpg" alt="" width="200" height="175" />When developing Flex and/or AIR applications there are a handful of tools that really make the difference between a good project and a great project. They are all very valuable and provide stability and clarity for the RIA development process; or at least they have for me. From Unit Testing to SVN utilities to frameworks and libraries I&#8217;ve found the following ten items to be very useful and helpful. I&#8217;d even go so far as to say these are critical for quality Flex RIA development; but as Les says: &#8220;It&#8217;s just a matter of opinion.&#8221; <img src='http://seantheflexguy.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Cairngorm</strong><br />
Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for RIA development advocated by Adobe Consulting, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical Rich Internet Applications.<a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" target="_blank"></p>
<p>http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm</a><strong></p>
<p>Download:</strong> <a href="http://download.macromedia.com/pub/opensource/cairngorm/cairngorm2_2_1-bin.zip" target="_blank">http://download.macromedia.com/pub/opensource/cairngorm/cairngorm2_2_1-bin.zip</a></p>
<p><strong><br />
Flex Unit</strong><br />
FlexUnit is a unit testing framework for Flex and ActionScript 3.0 applications and libraries. It mimics the functionality of JUnit, a Java unit testing framework, and comes with a graphical test runner.<a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit" target="_blank"></p>
<p>http://opensource.adobe.com/wiki/display/flexunit/FlexUnit</a><strong></p>
<p>Download:</strong> <a href="http://download.macromedia.com/pub/opensource/flexunit/flexunit0_9.zip" target="_blank">http://download.macromedia.com/pub/opensource/flexunit/flexunit0_9.zip</a></p>
<p><strong><br />
Subclipse</strong><br />
Subclipse is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. The software is released under the Eclipse Public License (EPL) 1.0 open source license.<a href="http://subclipse.tigris.org/" target="_blank"></p>
<p>http://subclipse.tigris.org/</a><strong></p>
<p>Eclipse update site URL:</strong> <a href="http://subclipse.tigris.org/update_1.6.x" target="_blank">http://subclipse.tigris.org/update_1.6.x</a></p>
<p><strong><br />
Eclipse</strong><br />
Eclipse is a multi-language software development platform comprising an IDE and a plug-in system to extend it. It is written primarily in Java and is used to develop applications in this language and, by means of the various plug-ins, in other languages as well &#8211; C, C++, COBOL, Python, Perl, PHP and more.<a href="http://www.eclipse.org" target="_blank"></p>
<p>http://www.eclipse.org</a><strong></p>
<p>Download:</strong> <a href="http://www.eclipse.org/downloads/" target="_blank">http://www.eclipse.org/downloads/</a></p>
<p><strong><br />
ASDoc</strong><br />
ASDoc is a command-line tool that you can use to create API language reference documentation as HTML pages from the classes in your Adobe® Flex® application. The Adobe Flex team uses the ASDoc tool to generate the <em>Adobe Flex Language Reference</em>.<a href="http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_1.html" target="_blank"></p>
<p>http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_1.html</a></p>
<p><strong><br />
Flex Ant Tasks</strong><br />
The Adobe® Flex® Ant tasks provide a convenient way to build your Flex projects using an industry-standard build management tool. If you are already using Ant projects to build Flex applications, you can use the Flex Ant tasks to replace your exec or java commands that invoke the mxmlc and compc compilers. If you are not yet using Ant to build your Flex applications, you can take advantage of these custom tasks to quickly and easily set up complex build processes for your Flex applications.<a href="http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html" target="_blank"></p>
<p>http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html</a><strong></p>
<p>Installation:</strong> <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_2.html#224215" target="_blank">http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_2.html#224215</a></p>
<p><strong><br />
Degrafa</strong><br />
Degrafa is a declarative graphics framework open source licensed under MIT.<a href="http://www.degrafa.org" target="_blank"></p>
<p>http://www.degrafa.org</a><strong></p>
<p>Download:</strong> <a href="http://www.degrafa.org/code/" target="_blank">http://www.degrafa.org/code/</a></p>
<p><strong><br />
as3corelib</strong><br />
The corelib project is an ActionScript 3 Library that contains a number of classes and utilities for working with ActionScript 3. These include classes for MD5 and SHA 1 hashing, Image encoders, and JSON serialization as well as general String, Number and Date APIs.<a href="http://code.google.com/p/as3corelib/" target="_blank"></p>
<p>http://code.google.com/p/as3corelib/</a><strong></p>
<p>Download:</strong> <a href="http://as3corelib.googlecode.com/files/as3corelib-.92.1.zip" target="_blank">http://as3corelib.googlecode.com/files/as3corelib-.92.1.zip</a></p>
<p><strong><br />
Flex SDK coding conventions and best practices</strong><br />
Coding standards for writing open-source Flex framework components in ActionScript 3. Adhering to these standards makes the source code look consistent, well-organized, and professional.<a href="http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions" target="_blank"></p>
<p>http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions</a></p>
<p><strong><br />
Flex Language Reference</strong><br />
The Flex 3.3 Language Reference provides syntax and usage information for every element in the ActionScript™ language. It documents all elements in Adobe® Flash® Player and Adobe® AIR™ that are officially supported by Adobe.<a href="http://livedocs.adobe.com/flex/3/langref/" target="_blank"></p>
<p>http://livedocs.adobe.com/flex/3/langref/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2009/05/20/top-ten-flex-tools-and-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Spring Example Project</title>
		<link>http://seantheflexguy.com/blog/2009/02/25/simple-spring-example-project/</link>
		<comments>http://seantheflexguy.com/blog/2009/02/25/simple-spring-example-project/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 17:54:29 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[Aspect Oriented Programming]]></category>
		<category><![CDATA[Inversion Of Control]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=289</guid>
		<description><![CDATA[The Spring framework is not new, it&#8217;s been around since mid 2003. In very simple terms Spring is a framework to help build Java (and .NET) applications. Spring helps organize and orchestrate the source code for Java applications. Spring can be used with any Java application including Java web applications. This is beneficial to Flex [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.seantheflexguy.com/images/blog/spring-logo.jpg" alt="" width="275" height="103" />The <a href="http://www.springsource.org/" target="_blank">Spring framework</a> is not new, it&#8217;s been around since mid 2003. In very simple terms Spring is a framework to help build Java (and .NET) applications. Spring helps organize and orchestrate the source code for Java applications. Spring can be used with any Java application including Java web applications.<br />
This is beneficial to Flex applications that communicate with server side Java web applications. In addition, Flex developers can now use the <a href="http://www.springsource.org/spring-flex" target="_blank">new Spring BlazeDS Integration </a>provided by Spring with BlazeDS projects. Check out the awesome <a href="http://coenraets.org/blog/2009/01/new-springblazeds-integration-test-drive/" target="_blank">blog post</a> and <a href="http://coenraets.org/blog/2009/02/spring-blazeds-integration-on-adobe-tv/" target="_blank">video</a> by <a href="http://coenraets.org/" target="_blank">Christophe Coenraets</a> for a walk through of the Spring BlazeDS Integration. His <a href="http://coenraets.org/downloads/spring-flex-testdrive.zip" target="_blank">example project</a> should get you up and running pretty quickly.</p>
<p>After reviewing the example that Chris provided I wanted to take things s step further and integrate Hibernate and MySQL into the project. I wrestled with the JAR&#8217;s, the classpath, the Spring and Hibernate XML markup, and the Hibernate Annotations for a while and then realized that I needed to get a firm understanding of some Spring fundamentals. <a href="http://www.manning.com/walls3/" target="_blank">Manning&#8217;s Spring in Action</a> was recommended by a colleague and so far has been really shedding some light.</p>
<p>I was able to create a simple Spring project (no Flex, no BlazeDS, no Hibernate&#8230; yet) to help me understand some of the core Spring concepts. The IoC Container and AOP are two very important pieces of the Spring framework. This very simple project only utilizes the <a href="http://www.devshed.com/c/a/Java/The-Spring-Framework-Understanding-IoC/" target="_blank">IoC Container</a>. <a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming" target="_blank">Aspect Oriented Programming</a> is very cool and I also recommend checking it out. AOP is not covered in this example. (Check out <a href="http://en.wikipedia.org/wiki/Cross-cutting_concern" target="_blank">cross cutting concerns</a>.)</p>
<p>There is a simple <a href="http://ant.apache.org/" target="_blank">Ant </a>task to compile, jar and run the application. You&#8217;ll also need the latest version of the JDK for this application.</p>
<p>You can download the project using a Subversion client using the following URL:</p>
<p>http://seantheflexguy.com/applicationcontextex/</p>
<p>You can also download a zipped version of the project here:<a href="http://seantheflexguy.com/java/ApplicationContextExample.zip"></p>
<p>http://seantheflexguy.com/java/ApplicationContextExample.zip</a></p>
<p>To run the project navigate to the directory where you downloaded the project, and extracted if you grabbed the zip. Then from the project root using a Terminal or Command Prompt issue the command: ant to compile and: ant run to run the application.</p>
<p>The first version of the application used a <a href="http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/beans/factory/BeanFactory.html" target="_blank">BeanFactory</a>. This second version uses the <a href="http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/context/ApplicationContext.html" target="_blank">ApplicationContext</a> class instead. BeanFactory is in Spring&#8217;s core module, it’s the main Spring container that provides DI. The ApplicationContext module builds on BeanFactory providing additional capabilities such as: internationalization and validation support and access to the application event lifecycle.</p>
<p>The Simple Spring Example Project should help you understand the most basic level Spring mechanics. The only JARs required by the project are spring.jar and the commons-logging-1.1.1.jar, both are included with the project. The Ant build file will set the CLASSPATH for these JARs, if you bypass Ant make sure to set these on the CLASSPATH prior to compiling the application.</p>
<p>So far Spring really looks like a powerful way to organize and manage Java application development. You should take a moment to check it out. Also be sure to check out the <a href="http://www.springsource.org/spring-flex" target="_blank">Spring BlazeDS Integration</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2009/02/25/simple-spring-example-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Flex / Flash guy learning more about Java</title>
		<link>http://seantheflexguy.com/blog/2009/02/20/a-flex-flash-guy-learning-more-about-java/</link>
		<comments>http://seantheflexguy.com/blog/2009/02/20/a-flex-flash-guy-learning-more-about-java/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 01:01:49 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[General Development Notes]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Software development process]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=286</guid>
		<description><![CDATA[Understanding more about Java is great. A good amount of knowledge can be shared between Flex/ActionScript 3.0 and Java. I&#8217;ve worked with Java in the past, compiled some applications, read the tutorials and some books, helped build a Java based LMS and also worked with Adobe on writing a simple Java socket server, but I [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.seantheflexguy.com/images/blog/java-duke.jpg" alt="" width="174" height="150" />Understanding more about Java is great. A good amount of knowledge can be shared between Flex/ActionScript 3.0 and Java. I&#8217;ve worked with Java in the past, compiled some applications, read the tutorials and some books, helped build a Java based LMS and also worked with Adobe on writing a simple Java socket server, but I wanted more of a thorough understanding of the language. The University of California at San Diego offers a great series of programming and software development courses. These classes are really affordable so I decided to take a Java II course. It&#8217;s been seven weeks and so far the experience has been awesome. The end goal is to become more familiar with the core Java language. My hope is that this will enable me to have greater confidence when working on Flex and <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/" target="_blank">BlazeDS</a> projects. (A really cool stack I&#8217;ve been playing with recently is Flex/Cairngorm, the new <a href="http://www.springsource.org/" target="_blank">Spring</a>/BlazeDS <a href="http://www.springsource.org/spring-flex" target="_blank">integration</a> and <a href="http://www.hibernate.org/" target="_blank">Hibernate</a>/MySQL. Eventually I want to get this running on <a href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a>. Something else I&#8217;ve been looking into.)</p>
<p>Some items we&#8217;ve covered in the Java class so far are: <a href="http://java.sun.com/" target="_blank">SDK</a> installation and command line compilation, data types, control flow, variables/operators, numbers, arrays, objects and classes, static classes and methods, method overloading, object construction, constructor overloading, OOP basics, packages, commenting, generating JavaDoc, inheritance, abstract classes, polymorphism, sub/superclasses, reflection, inner classes, graphics programming, event handling, <a href="http://java.sun.com/docs/books/tutorial/uiswing/" target="_blank">Swing</a> and <a href="http://java.sun.com/docs/books/tutorial/collections/index.html" target="_blank">Collections</a> including Maps, Lists, Sets and the Comparator interface. We&#8217;re compiling all of our homework using the command line. It&#8217;s pretty cool. The class also demands a pretty rigorous reading schedule. The three-pronged-learning-approach is working well for me: lectures, reading, coding (homework and labs.) The ins and outs of the language are really sinking in.</p>
<p>A few immediate benefits to learning more about Java are: Flex and BlazeDS / LCDS integration, strengthen fundamental OOP understanding and comprehension and also gain knowledge of OOP concepts not available in Flex/AS3. Learning Java also provides the opportunity to get exposure to Swing (Flex&#8217;s distant relative). Also, since the Flex compiler and <a href="http://opensource.adobe.com/svn/opensource/flex/sdk/frameworks/projects/framework/src/mx" target="_blank">other</a> <a href="http://opensource.adobe.com/svn/opensource/flex/sdk/" target="_blank">aspects</a> of the Flex SDK are written in Java this opens up the door to greater understanding of the Flex SDK and <a href="https://bugs.adobe.com/jira/secure/IssueNavigator.jspa?header=FB" target="_blank">even bug contributions</a>. Java makes extensive use of design patterns and there is a plethora of existing Java code to look at, use and learn from. (Cairngorm was born from J2EE design patterns.)</p>
<p>There are several differences that I noticed in Java. Some items available in Java and not in AS3: static classes, abstract classes, private constructors, constructor overloading, method overloading and Collections. Working with Arrays is a LOT different, working with numbers is different, working with Strings is different and String comparison is different. There are no <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html" target="_blank">Hashmaps</a> and no hashcodes in ActionScript. No <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" target="_blank">equals() method</a>. Another difference is that you have to implement your own design patterns more often in Java. Not a bad thing, and good to know how to do, but Flex takes care of a lot of things behind the scenes: events, data binding etc. I noticed that when coding Java the developer is expected to implement interfaces more often than in Flex/AS3. This is pretty cool; it involves more work but provides more power.</p>
<p>It&#8217;s been a cool experience and I wanted to share some of these thoughts and observations. I think more developers come into the Flex world from Java vs. the other way around. For some reason Java sort of reminds me of AS2&#8230; I may try to post some Java source code soon if time permits&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2009/02/20/a-flex-flash-guy-learning-more-about-java/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Flex Best Practices Presentations</title>
		<link>http://seantheflexguy.com/blog/2009/01/08/flex-best-practices-presentations/</link>
		<comments>http://seantheflexguy.com/blog/2009/01/08/flex-best-practices-presentations/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 23:10:00 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 3 Skinning]]></category>
		<category><![CDATA[Flex Best Practices]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Flex Builder 3]]></category>
		<category><![CDATA[Flex Champion]]></category>
		<category><![CDATA[General Development Notes]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[OOD]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Software development process]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[mate]]></category>
		<category><![CDATA[sdfug]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=249</guid>
		<description><![CDATA[The San Diego Flash Users Group invited me to give a presentation on Flex Best Practices last night. Thanks to everyone who took the time to join the meeting. Thanks to Kyle and Chris for inviting me to present. Also thanks a lot to everyone who provided all the great feedback and questions. Dan made [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.seantheflexguy.com/images/blog/sean-moore-flex-best-practices-preso.jpg" alt="" width="322" height="190" />The <a href="http://www.sdfug.org/" target="_blank">San Diego Flash Users Group</a> invited me to give a presentation on Flex Best Practices last night. Thanks to everyone who took the time to join the meeting. Thanks to <a href="http://www.blurredvisions.org/blog" target="_blank">Kyle</a> and <a href="http://chrisgriffith.wordpress.com/" target="_blank">Chris</a> for inviting me to present. Also thanks a lot to everyone who provided all the great feedback and questions. <a href="http://polygeek.com/" target="_blank">Dan</a> made the journey down from the mountains to join us as well. Several attendees inquired about getting a copy of the slideshow. I think the articles that I wrote for Adobe are actually much better and cover even more material than the Powerpoint presentation. Here are the links to the articles:</p>
<p><strong>Flex best practices – Part 1: Setting up your Flex project article</strong></p>
<p><a href="http://www.adobe.com/devnet/flex/articles/best_practices_pt1.html">http://www.adobe.com/devnet/flex/articles/best_practices_pt1.html</a></p>
<p><strong>Flex best practices &#8211; Part 2: Development practices</strong></p>
<p><a href="http://www.adobe.com/devnet/flex/articles/best_practices_pt2.html">http://www.adobe.com/devnet/flex/articles/best_practices_pt2.html</a></p>
<p>If you would still like the Powerpoint preso <a href="mailto:info@seantheflexguy.com">email me</a> and I&#8217;ll send it along.</p>
<p>There was an example application that I wanted to share as well. I&#8217;ll post it on this blog in the very near future. It utilizes many of the practices and standards covered in my presentation and the articles. I&#8217;d like to provide a little info or blog post at least along with the example&#8230;soon&#8230;.</p>
<p>I&#8217;ll be giving this same presentation on Flex Best Practices in March at the <a href="http://www.ocflex.org/" target="_blank">OC Flex Users Group</a>. Thanks to <a href="http://www.asfusion.com/" target="_blank">ASFusion </a>for the invite!!</p>
<p>Thanks again to everyone who made it out last night. The audience was really great and had great questions and a great discussion. I appreciate everyone&#8217;s time and feedback. Thanks to <a href="http://doloresjoya.com/" target="_self">Dolores</a> for all of the help getting ready for the preso too!!<a href="http://doloresjoya.com/" target="_self"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2009/01/08/flex-best-practices-presentations/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flex best practices &#8211; Part 2: Development practices</title>
		<link>http://seantheflexguy.com/blog/2008/12/13/flex-best-practices-part-2-development-practices/</link>
		<comments>http://seantheflexguy.com/blog/2008/12/13/flex-best-practices-part-2-development-practices/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 19:04:32 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Flex Builder 3]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Software development process]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=237</guid>
		<description><![CDATA[Following best practices during the development process can help organize and structure an application. Standardized development provides clarity, stability, longevity and scalability. I worked with several members of the Flex community and the Adobe Flex Team to create this article outlining over 90 best practices for the Flex development process. Thank you to everyone who [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/devnet/flex/articles/best_practices_pt2.html"><img class="alignright" src="http://www.seantheflexguy.com/images/blog/Sean-Moore-Best-Practices-Part-2-thumb.jpg" alt="" width="200" height="200" /></a>Following best practices during the development process can help organize and structure an application. Standardized development provides clarity, stability, longevity and scalability. I worked with several members of the Flex community and the Adobe Flex Team to create this article outlining over 90 best practices for the Flex development process. Thank you to everyone who helped review the article. Also thanks to everyone who provided input!! And, thanks to Adobe for the opportunity to write this!!!</p>
<p>Here is a short passage from the article:</p>
<p>&#8220;In this article, you will learn how to manage assets so that your application&#8217;s dependencies will be well organized. I will also discuss widely accepted ActionScript 3.0, MXML, and CSS coding standards currently being practiced by the Flex development community. I&#8217;ll review ASDoc, a tool that you can use to create API language reference documentation as HTML from your application&#8217;s source code. In the application architecture section of this article I&#8217;ll show techniques that you can use to help define the blueprints for your application&#8217;s foundation. I will cover some of the application development frameworks that are available to Flex developers and discuss when it makes sense to use them and when it does not. Lastly, I will cover best practices for unit testing so that you can test your codebase and ensure the code will perform consistently.&#8221;</p>
<p><a href="http://www.adobe.com/devnet/flex/articles/best_practices_pt2.html"><img class="alignnone" src="http://www.seantheflexguy.com/images/blog/Sean-Moore-Best-Practices-Part-2.jpg" alt="Here is the article on the Adobe Developer Center homepage" width="665" height="397" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2008/12/13/flex-best-practices-part-2-development-practices/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
