<?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; Java</title>
	<atom:link href="http://seantheflexguy.com/blog/category/java/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>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>Flex 3 with Java Book Giveaway!!</title>
		<link>http://seantheflexguy.com/blog/2009/08/01/flex-3-with-java-book-giveaway/</link>
		<comments>http://seantheflexguy.com/blog/2009/08/01/flex-3-with-java-book-giveaway/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 18:18:27 +0000</pubDate>
		<dc:creator>seantheflexguy</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Data Management Services]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Books]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[LCDS]]></category>

		<guid isPermaLink="false">http://seantheflexguy.com/blog/?p=349</guid>
		<description><![CDATA[Update 08/03/09: I&#8217;d like to congratulate Nephi and Brian for their participation in the book giveaway. They nailed the answer and emailed me in record time. I&#8217;ll be sending out your books this week. Great work guys!! Thanks to everyone else who sent in the answer and checking out the sample PDF. The kind people [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packtpub.com/flex-3-with-java/book"><img class="alignright" src="http://seantheflexguy.com/images/blog/flex-3-with-java.jpg" alt="" width="210" height="246" /></a></p>
<p><strong>Update 08/03/09:</strong> I&#8217;d like to congratulate <a href="http://twitter.com/nephiw" target="_blank">Nephi </a>and <a href="http://twitter.com/xankludan" target="_blank">Brian </a>for their participation in the book giveaway. They nailed the answer and emailed me in record time. I&#8217;ll be sending out your books this week. Great work guys!! Thanks to everyone else who sent in the answer and checking out the sample PDF.</p>
<p>The kind people at <a href="http://www.packtpub.com/flex-3-with-java/book" target="_blank">Packt publishing</a> got in touch and turned me on to a pretty cool book covering Flex 3, BlazeDS, LCDS and Java titled <a href="http://www.packtpub.com/flex-3-with-java/book" target="_blank"><strong>Flex 3 with Java</strong></a>. They were cool enough to send me a couple of <strong>extra copies of the book that I am able to giveaway to the Flex community</strong>! The first two people to email me the key features of E4X as described in the sample chapter available for <a href="http://seantheflexguy.com/pdf/Chapter-5-Working-with-XML.pdf">download as a PDF</a> will win a free copy of the book. (<em>Unfortunately only US candidates are eligible for this giveaway</em>.)</p>
<p>I&#8217;ve only had a chance to review some of the book so far, you can check back later for a more in depth review. I checked out the chapters on BlazeDS and LCDS a little and there is some pretty good info available.</p>
<p>You can get more information on the book by visiting the <a href="http://www.packtpub.com/flex-3-with-java/book" target="_blank">Packt website</a>. You can also download <a href="http://seantheflexguy.com/pdf/Chapter-5-Working-with-XML.pdf">Chapter 5: Working with XML</a>, you&#8217;ll need it for the giveaway.</p>
<p>Here is some additional info on the book from the <a href="http://www.packtpub.com/flex-3-with-java/book" target="_blank">Packt website</a>:</p>
<p><em>This book provides comprehensive information on various aspects of Flex 3 and ActionScript 3.0. These include developing simple applications, handling events, creating custom components and events, using RPC services, integration with Java and BlazeDS, styling and formatting, and how to package and deploy Flex applications.</em></p>
<p><em>You will start with downloading, installing and configuring Flex 3 SDK and Flex Builder 3 and learn basic concepts such as what MXML and ActionScript are, understanding UI components, controls, compilers, and more. Further you will develop simple applications and slowly advance into more depth where you will learn advanced concepts such as creating custom components, debugging, integrating with Java, using RPC services, styling, internationalizing, and deploying Flex applications, and more.</em></p>
<p><em>One of the things you&#8217;re really going to love about this book is that you will develop a full-blown e-commerce application using a combination of Flex 3, ActionScript 3.0, BlazeDS 3.2, and Java. At the end of the book you will have the knowledge and experience needed to develop Rich Internet Applications.</em></p>
<p>I&#8217;d like to thank Swati at <a href="http://www.packtpub.com/" target="_blank">Packt </a>again for getting in touch and sending along the books for me to review and do the giveaway. Good luck to anyone participating in the book giveaway and thanks for stopping by. Hope you&#8217;re all having a great weekend, and don&#8217;t forget to get your Flex on <img src='http://seantheflexguy.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://seantheflexguy.com/blog/2009/08/01/flex-3-with-java-book-giveaway/feed/</wfw:commentRss>
		<slash:comments>1</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>
	</channel>
</rss>
