<?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>Really Aced &#187; selenium</title>
	<atom:link href="http://blog.sommestad.net/tag/selenium/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sommestad.net</link>
	<description>Web and Cocoa development through the eyes of Kristofer Sommestad, a SWAD developer.</description>
	<lastBuildDate>Sun, 23 Jan 2011 12:21:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Presentation on creating an online multiplayer game lobby in Flex &amp; Air</title>
		<link>http://blog.sommestad.net/2009/09/presentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air/</link>
		<comments>http://blog.sommestad.net/2009/09/presentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 13:38:37 +0000</pubDate>
		<dc:creator>esset</dc:creator>
				<category><![CDATA[Flash & Flex]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[asunit]]></category>
		<category><![CDATA[blaze ds]]></category>
		<category><![CDATA[flexmonkey]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[fluint]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[graniteds]]></category>
		<category><![CDATA[hessian]]></category>
		<category><![CDATA[lcds]]></category>
		<category><![CDATA[LiveCycleDS]]></category>
		<category><![CDATA[mxml]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[swiz]]></category>
		<category><![CDATA[weborb]]></category>
		<category><![CDATA[wysiwyg]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=117</guid>
		<description><![CDATA[I came across a really interesting presentation from Scott Delap on InfoQ: Scott Delap shares his experience creating a lobby interface for an online game using Flex&#38;Air. He details on related technologies used, available tooling and frameworks pros&#38;cons, remoting options, unit, functional and load testing approach used. To sum it up, it&#8217;s a good and [...]]]></description>
			<content:encoded><![CDATA[<p>I came across a <a href="http://www.infoq.com/presentations/Flex-Air-in-the-Trenches-Scott-Delap">really interesting presentation</a> from <a href="http://www.infoq.com/author/Scott-Delap">Scott Delap</a> on <a href="http://www.infoq.com">InfoQ</a>:</p>
<blockquote><p>Scott Delap shares his experience creating a lobby interface for an online game using Flex&amp;Air. He details on related technologies used, available tooling and frameworks pros&amp;cons, remoting options, unit, functional and load testing approach used.</p></blockquote>
<p>To sum it up, it&#8217;s a good and elaborate presentation from a Java developer&#8217;s perspective, with reflections from a online multiplayer game development project. I enjoyed the full hour of watching it! <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>They&#8217;ve dealt with many of the questions we have and their conclusions are very interesting.</p>
<h3>Presentation summary</h3>
<p>I&#8217;ve summarized the most interesting contents of the presentation. They&#8217;re actually notes taken during the presentation, so please forgive any poor language or formatting:</p>
<blockquote>
<ul>
<li>The Flex Builder WYSIWYG actually works, which isn&#8217;t common at all</li>
<li> MVC in Flex is pretty much MVc, where the controller and view are sort of bundled together</li>
<li> When choosing an MVC framework, <a href="http://code.google.com/p/swizframework/">Swiz</a> turned out to be most interesting (among likes of <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a>, <a href="http://puremvc.org/">PureMVC</a> etc). Swiz is similar to Spring with auto-wiring. Also supports Dependency Injection, Command Chains, and has MXML support even for non-views (i.e. for wiring the M:s, V:s and C:s).</li>
</ul>
<p><strong>Their MVC implementation:</strong></p>
<ul>
<li>MXML for the views</li>
<li>ActionScript for the controllers</li>
<li>Remoting interfaces + specific back-end implementation</li>
<li> Swiz wiring it all up</li>
<li> They found no real reasons to use a &#8220;big MVC framework&#8221;, whereas Swiz did the job well enough</li>
</ul>
<p><strong>Remoting</strong></p>
<p>Looked at several candidates, where <a href="http://www.themidnightcoders.com/products/weborb-for-java/overview.html">WebORB</a>, <a href="http://hessian.caucho.com/">Hessian</a>, <a href="http://xmpp.org/">XMPP</a>, <a href="http://www.graniteds.org/">GraniteDS</a>, Rest not weren&#8217;t considered enough for various reasons. Also evaluated <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/">BlazeDS</a>, which doesn&#8217;t scale and has no NIO support.<br />
Best candidate: <strong><a href="http://www.adobe.com/products/livecycle/dataservices/">LiveCycleDS</a> -</strong> supports NIO, RTMP and lots of connections:</p>
<ul>
<li>Good for remoting Java &lt;&gt; Actionscript and easy to integrate</li>
<li>Some Java &lt;&gt; ActionScript translations a bit problematic, i.e. enums and null values</li>
<li> Some lack of documentation when it comes to messaging</li>
</ul>
<p><strong>Unit testing</strong></p>
<ul>
<li> Evaluated <a href="http://asunit.org/">ASUnit</a>, <a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit">FlexUnit</a>, DpUnit/Fluint</li>
<li> Chose <a href="http://code.google.com/p/fluint/">Fluint</a>, but could just as well have chosen FlexUnit. Unit testing Utilities, Controllers, Remoting Services with Mocks</li>
</ul>
<p><strong>Functional testing</strong></p>
<ul>
<li> <a href="http://code.google.com/p/flexmonkey/">FlexMonkey</a> not working properly with AIR and had a bit of lag</li>
<li> Wrote a stripped-down version of Selenium</li>
</ul>
<p><strong>Load testing</strong><br />
Currently no good way of performing load testing.</p>
<ul>
<li>Hard to simulate 1000:s of users</li>
<li> No really good tool for load testing at the moment</li>
</ul>
<p><strong>Final thoughts on Flex</strong></p>
<ul>
<li> MXML works as advertised</li>
<li>Easy to do complex things</li>
</ul>
</blockquote>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 380px; width: 1px; height: 1px;">http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/09/presentation-on-creating-an-online-multiplayer-game-lobby-in-flex-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

