<?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>Enterprise Web Applications &#187; Adobe Flex</title>
	<atom:link href="http://ewa.sg/tag/adobe-flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://ewa.sg</link>
	<description>We build enterprises on the web</description>
	<lastBuildDate>Thu, 08 Apr 2010 05:42:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Flex, HTML, Ajax frameworks work together</title>
		<link>http://ewa.sg/2009/10/flex-html-ajax-frameworks-work-together/</link>
		<comments>http://ewa.sg/2009/10/flex-html-ajax-frameworks-work-together/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 05:45:56 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[skinning]]></category>
		<category><![CDATA[Tapestry]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=102</guid>
		<description><![CDATA[We have recently finished one more project for local company which extensively uses Flex &#038; Tapestry Frameworks. It&#8217;s good example of Flex RIA and more traditional HTML (Tapestry) &#038; Ajax (JQuery) frameworks being used together. Also this project features quite extensive skinning]]></description>
			<content:encoded><![CDATA[<p>We have recently finished one more project for local company which extensively uses Flex &#038; Tapestry Frameworks. It&#8217;s good example of Flex RIA and more traditional HTML (Tapestry) &#038; Ajax (JQuery) frameworks being used together. Also this project features quite extensive skinning<br />
<a href="http://ewa.sg/wp-content/uploads/2009/10/ScreenShot001.png"><img src="http://ewa.sg/wp-content/uploads/2009/10/ScreenShot001-300x168.png" alt="ScreenShot001" title="ScreenShot001" width="300" height="168" class="alignnone size-medium wp-image-101" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/10/flex-html-ajax-frameworks-work-together/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thoughts on ideal Flex framework</title>
		<link>http://ewa.sg/2009/07/thoughts-on-ideal-flex-framework/</link>
		<comments>http://ewa.sg/2009/07/thoughts-on-ideal-flex-framework/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 10:55:41 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Ctx]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=92</guid>
		<description><![CDATA[I&#8217;ve just come to London yesterday and went straight to London Flash Platform User Group meeting. Gilles Guillemin presented Mate Framework (read Mate as &#8220;maté&#8221;) which is supposed to take over Adobe Cairngorm and PureMVC frameworks and be simpler than those. I personally feel that Mate Framework is not much different from other frameworks just because [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just come to London yesterday and went straight to <a href="http://www.lfpug.com/">London Flash Platform User Group</a> meeting. Gilles Guillemin presented Mate Framework (read Mate as &#8220;maté&#8221;) which is supposed to take over Adobe Cairngorm and PureMVC frameworks and be simpler than those. I personally feel that Mate Framework is not much different from other frameworks just because it&#8217;s trying to follow the same idea about Flash event mechanism being the best way to communicate inside any Flex application. But events were invented mainly for visual stuff, with all bubbling, cancelling and stages! That&#8217;s certainly true they work great for Flex framework itself but Flex is visual components framework, and frameworks we&#8217;re talking about are for so called &#8220;client backend&#8221; &#8211; a layer between visual components of your Flex application and server backend.<br />
So here are my thoughts about the ideal Flex framework. I&#8217;ve organized it in action steps/considerations that would help you to create such framework.</p>
<p><strong>12 steps</strong></p>
<p>1. If you can use Adobe Flex framework, use it! You&#8217;d better create a component than anything else. You can reuse components later in other projects and The Reuse is the main divinity in software engineer’s pantheon.<br />
2. What is missing in Flex framework is a thin but important layer between Flex components and server side (Java, PHP .Net etc). This is where our ideal framework can be useful.<br />
3. &#8220;Write less do more&#8221; is the only thing that important about any framework (it should be true in a long run too). Theoretical principles like MVC, patterns etc are not so much important as this one.<br />
4. Dependency injection/Inversion of Control pattern is the next best thing after sliced bread. If you have numerous objects in your application (and you do usually have them), you have to write code to make calls from one object to another (to couple them). Look up code could take up to 1/3 of your total code if you have many small routines. It also makes your code highly coupled and hence not very reusable. So something that could automate lookups is definitely should be in our ideal framework.<br />
5. The framework should help you to work with asynchronous calls. Asynchronous calls are the way how Flash app communicates with server side. Usually you need to add event listener and remove it after you got response from the server. We need to get rid of it and let framework manage it.<br />
6. Also about asynchronous calls, it&#8217;s usually needed to chain some asynchronous calls (to make next call only after previous call is executed with success, for example). Or you just want to execute some function after all asynchronous calls are executed (and don&#8217;t really care about the order of calls). In this case what you usually do is to write lots of event listeners just to manage this workflow and it becomes a mess very quickly. So our framework should help us with that too.<br />
7. Debugging. Flex Builder (for example) has quite good debugger so our framework shouldn&#8217;t break it or have any unpredictable execution flow (which is usually the case when you overuse events)<br />
8. Code auto completion. This is something that we&#8217;d like to be able to use too (to avoid all these typing mistakes)<br />
9. Our view classes or MXMLs should be decoupled but not too much. You should be able to take a look at MXML file and see any data dependencies it needs. However, our view classes shouldn’t care about how to get these data.<br />
10. Testability. It should be easy to test you classes using FlexUnit for example. Writing/executing tests seems to be one the most important thing for bug free software.<br />
11. We should use ActionScript3 language and not just copy Java idioms to ActionScript. It means to use functional objects and event listeners where Java uses anonymous classes and interfaces. The framework also should make good use of dynamic typing.<br />
12. Performance: memory and speed. It should be the last point in this list as you need to take care of everything else before optimization. Premature optimization is the root of all evil!</p>
<p>Let&#8217;s see how Ctx Flex framework answers to these requirements.</p>
<p><span id="more-92"></span></p>
<p>Ctx is dependency injection framework with many features that are essential for creating enterprise applications. It’s similar to Java Spring framework. Ctx has one class called remarkably enouch Ctx. You register any objects with this class using register() method and after this it becomes a bean. Ctx manages dependencies for beans using autowiring by name or type. For details read Ctx “Getting started” and “Reference” documents.</p>
<p>1. Ctx doesn&#8217;t add itself to display list or interfere in any way with Flex components. It won&#8217;t help you with creating Flex components as Flex framework itself is good enough for this task.</p>
<p>2. Your visual classes use Ctx framework to communicate with server backend. If you don&#8217;t have server backend in your application it usually means that you don&#8217;t need to use Ctx framework. This makes Ctx framework more enterprise application oriented framework. Ctx sits between Flex visual application and server backend, effectively filling the gap.</p>
<p>3. To get started with Ctx framework, you should know only one class: Ctx. You don&#8217;t have to create anything extra to communicate inside your application (no need for copious custom event classes, for example).</p>
<p>4. Ctx does dependency injection for you (autowiring by name and by type). You can adjust many details how dependencies should be wired using metadata, but metadata is not required as Ctx has reasonable defaults and you can use simple naming conventions to enable/disable autowiring, enable autowiring by type or by name, enable automatic dependency creation etc.</p>
<p>5. In Ctx we have a bunch of functions to work with asynchronous calls. Use h<em>andle(someAsyncCall(), onResultHanler, onFaultHanler).</em><em> </em>Use <em>chain() </em>to chain several asynchronous calls, use <em>branch()</em> to execute several calls simultaneously (without any specific order). These functions operate using AsyncToken object (all RPC services return AsyncToken objects). In addition, Ctx framework has artificial implementation of AsyncToken which is useful when you need to do something asynchronously but without backend. This is how mock objects (for testing remote services without actual backend) and multithreading are implemented in Ctx framework. Also it’s quite common to store the result of asynchronous function call somewhere in data model. For this you can use <em>handleData()</em> function. All these functions are package level functions so you don&#8217;t have to prefix them with class name (similar to other package level functions like trace() etc).</p>
<p>6. You can link handle(), brach(), chain() functions in the manner similar to functional programming. They all return operate on AsyncToken objects and they return AsyncToken objects. You can add different handlers in different places to AsyncTokens. You can add parameters to tokens to pass some additional data (AsyncToken is dynamic object).</p>
<p>7. Ctx doesn&#8217;t use events, only dependency injection. So whenever you see some error, call stack tells you exactly what happened, where and execution flow. (However, you can use Ctx as event bus to broadcast events to multiple beans if needed).</p>
<p>8. Ctx could be used in typeless mode (because Ctx is dynamic object),or you can subclass Ctx and add hardcoded names to all your beans (so FlexBuilder will be able to provide auto completion).</p>
<p>9. You just reference your data model properties in your data model beans (bean is a class that is registered with Ctx class). Something like &lt;mx:List dataProvider=&#8221;c.myModelBean.customers&#8221; /&gt; You still see what are data dependencies for your view object but it doesn’t have any code to get these data. You can create pair view-model bean and just specify properties inside model beans. These properties could be populated later by some bean which knows how to get data. We use data binding here. &#8220;c&#8221; is an instance of Ctx which is bindable. Of course, properties in your data model bean should be bindable too. View doesn&#8217;t have to wait till framework initialized, it gets notified when data is available via binding mechanism.</p>
<p>10. Your beans are simple AS3 classes. You can test them using FlexUnit for example. If your beans have asynchronous calls, it’s not a problem as FlexUnit has support for asynchronous calls as well.</p>
<p>11. Ctx object is dynamic object. It means you can add properties to it as you will do with any object of type Object. Adding a property has semantic of registering a bean, getting a property is the same as getting wired instance of some bean. Helper functions like handle(), chain() and brach() use closures (functional objects) so you type very little comparing to what you would have to type if using interfaces.</p>
<p>12. Ctx has support for data caching (using CachedService) to optimize memory and network usage, support for quasi-multithreading (to execute extensive processing in AS3).</p>
<p>I&#8217;ve never intended Ctx to be used by broad masses of people. But I find many people struggling with the same problems as I did, so I decided to share this framework and I hope it will be useful (at least I can guarantee that it won&#8217;t be harmful <img src='http://ewa.sg/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/07/thoughts-on-ideal-flex-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New version of Ctx Flex framework</title>
		<link>http://ewa.sg/2009/07/new-version-of-ctx-flex-framework/</link>
		<comments>http://ewa.sg/2009/07/new-version-of-ctx-flex-framework/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:59:56 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Ctx]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=86</guid>
		<description><![CDATA[i personally don&#8217;t like bulky Cairngorm as it&#8217;s clearly designed with Java in mind. In my work I use own framework called Ctx (after the main class). This dependency injection (or IoC) style framework is ideal for dynamically typed language like ActionScript3. There are many IoC frameworks but Ctx uses mainly closures and not events. [...]]]></description>
			<content:encoded><![CDATA[<p>i personally don&#8217;t like bulky Cairngorm as it&#8217;s clearly designed with Java in mind. In my work I use own framework called Ctx (after the main class). This dependency injection (or IoC) style framework is ideal for dynamically typed language like ActionScript3.<br />
There are many  IoC frameworks but Ctx uses mainly closures and not events. For me, closures are better because using closures gives more clear workflow than passing events (i don&#8217;t even mention that you need to create multitude of event classes with such frameworks)<br />
Please read introduction <a href="http://ewa.sg/wp-content/uploads/2009/07/GettingStartedCtx.pdf">here</a></p>
<p>Source code and examples are available here <a href="http://code.google.com/p/ctx/">http://code.google.com/p/ctx/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/07/new-version-of-ctx-flex-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another brick in 3d walls</title>
		<link>http://ewa.sg/2009/06/another-brick-in-3d-walls/</link>
		<comments>http://ewa.sg/2009/06/another-brick-in-3d-walls/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 06:54:31 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=77</guid>
		<description><![CDATA[The small projct we did using Papervision3d &#8211; It&#8217;s a 3d wall application for one of our customers. It supports Flickr feeds and YouTube videos, FLVs, video streams, SWFs and plain images, of course (btw photos in the demo are made by me ) One of the requirements was ability to handle lots of items. [...]]]></description>
			<content:encoded><![CDATA[<p>The small projct we did using Papervision3d &#8211; It&#8217;s a 3d wall application for one of our customers. It supports Flickr feeds and YouTube videos, FLVs, video streams, SWFs and plain images, of course (btw photos in the demo are made by me <img src='http://ewa.sg/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>One of the requirements was ability to handle lots of items. Also the wall is extremly configurable thru XML file (each element could have own animations and effects settings, etc)</p>
<p><a href="http://ewa.sg/samples/wall3d/Wall3DDemo.html"><img class="alignnone size-medium wp-image-78" title="View the demo" src="http://ewa.sg/wp-content/uploads/2009/06/ScreenShot002-300x206.png" alt="ScreenShot002" width="300" height="206" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/06/another-brick-in-3d-walls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idubee roadmap</title>
		<link>http://ewa.sg/2009/04/idubee-roadmap/</link>
		<comments>http://ewa.sg/2009/04/idubee-roadmap/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 10:25:42 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Idubee]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[spreadsheet]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=59</guid>
		<description><![CDATA[We&#8217;ve got several inquiries about our plans for Idubee spreadsheet component. I&#8217;m personally very glad that community is interested in the project and we&#8217;ll definitely continue improving the component. To make long story short, we&#8217;re planning to develop a commercial Adobe Flex (3/4) component and open a free online spreadsheets service for everyone interested. There [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve got several inquiries about our plans for Idubee spreadsheet component. I&#8217;m personally very glad that community is interested in the project and we&#8217;ll definitely continue improving the component.<br />
To make long story short, we&#8217;re planning to develop a commercial Adobe Flex (3/4)  component and open a free online spreadsheets service for everyone interested.</p>
<p><span id="more-59"></span>There will be variations of the component to fit individual needs and pockets.</p>
<ul>
<li>Spreadsheet base component (displays data in read only mode, selection&amp;copy supported)</li>
<li>Spreadsheet editor subcomponent (for those who needs to edit spreadsheets online)</li>
<li>Formula evaluation engines (ActionScript, JavaScript or server-side based)</li>
<li>Other modules (formulas extensions, file import/export plugins, macros etc)</li>
</ul>
<p>Also license options (limited or unlimited use, binaries or source) and support&amp;enhancements services.</p>
<p>Please, let us know if you&#8217;re interested in testing betas, evaluating releases and, eventually,  purchasing licenses or if you see some  investment opportunities for idubee. (please use contact form <a href="about">here</a> or just leave a comment here)</p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/04/idubee-roadmap/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ActionScript 3 training</title>
		<link>http://ewa.sg/2009/03/actionscript-3-training/</link>
		<comments>http://ewa.sg/2009/03/actionscript-3-training/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 12:15:32 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Singapore]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=40</guid>
		<description><![CDATA[For those interested in mastering ActionScript and Flex, we do training in Singapore (together with Lab School). Both fundamental and advanced courses. Action Script 3.0 &#8211; Fuondation of Excellence 0. Creating an ActionScript Project (Tools you need) 1. ActionScript 3 Language Basics (6 hours) 1.1 Variables, Constants, Operators and Expressions 1.2 Loops, Conditions and Error [...]]]></description>
			<content:encoded><![CDATA[<p>For those interested in mastering ActionScript and Flex, we do <a href="http://www.vox.sg/lab/adobe/action-script/" target="_blank">training </a>in Singapore (together with <a href="http://www.vox.sg/lab/about-us.html" target="_blank">Lab School</a>). Both fundamental and advanced courses.<span id="more-40"></span></p>
<h2>Action Script 3.0 &#8211; Fuondation of Excellence</h2>
<p>0. Creating an ActionScript Project (Tools you need)<br />
1. ActionScript 3 Language Basics (6 hours)<br />
1.1 Variables, Constants, Operators and Expressions<br />
1.2 Loops, Conditions and Error handling<br />
1.3 Functions<br />
1.4 Arrays and Dictionaries<br />
1.5 Classes and Packages<br />
1.6 Events<br />
2. Display List (8 hours)<br />
2.1 Basic visual classes<br />
2.2 Keyboard and mouse interaction<br />
2.3 Basic animation and Tweens<br />
2.4 Creating custom visual classes<br />
2.5 Drawing and Masking<br />
2.6 Bitmaps<br />
2.7 Text<br />
2.8 Filters and Transforms<br />
3 Utility classes (2 hours)<br />
3.1 Dates and Times<br />
3.2 XML<br />
4 Communication Between Flash and the Browser<br />
5 Network (3 hours)<br />
5.1 Saving and Loading data and assets<br />
5.2 Streams and Sockets<br />
5.3 Security<br />
6. Sound, Video and Camera<br />
7 Printing, Accessibility, Clipboard and other utilities<br />
8 ActionScript Libraries for AIR applications</p>
<h2>Action Script 3.0 &#8211; Advanced</h2>
<p>1 Advanced Language Topics<br />
1.1 Classes, inheritance, interfaces, overriding<br />
1.2 Functions revisited<br />
1.4 Dynamic objects revisited, introspection<br />
1.5 Garbage Collection<br />
1.6 Namespaces<br />
2 Animation<br />
2.1 Basic animation in ActionScript, Tween engines<br />
2.3 Basic physics: velocity,acceleration, boundaries, friction<br />
2.4 Advanced physics: easing, springing, collision detection, kinematics<br />
3 3D Animation<br />
3.1 Basic 3D animation, Introducing 3d libraries (Papervision3d, Away3D)<br />
3.2 Scene, Objects, Materials<br />
3.3 Camera, Lights, Shaders<br />
3.4 Effects, Collada<br />
4 Design patterns<br />
5 New in Flash Player 10</p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/03/actionscript-3-training/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interactive flipbook for Huafu</title>
		<link>http://ewa.sg/2009/03/interactive-flipbook-for-huafu/</link>
		<comments>http://ewa.sg/2009/03/interactive-flipbook-for-huafu/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 10:35:49 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[skinning]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=35</guid>
		<description><![CDATA[Not quite what we call &#8220;enterprise&#8221; solution but still interesting. Visual elements are being dynamically created from media content management system.]]></description>
			<content:encoded><![CDATA[<p>Not quite what we call &#8220;enterprise&#8221; solution but still interesting. Visual elements are being dynamically created from media content management system.<br />
<a href="http://ewa.sg/wp-content/uploads/2009/03/screenshot001.jpg"><img class="alignnone size-medium wp-image-36" title="Huafu color swatches flip book application" src="http://ewa.sg/wp-content/uploads/2009/03/screenshot001-300x197.jpg" alt="Huafu color swatches flip book application" width="300" height="197" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/03/interactive-flipbook-for-huafu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find &amp; Compare Utility for Brother</title>
		<link>http://ewa.sg/2009/03/find-compare-utility-for-brother/</link>
		<comments>http://ewa.sg/2009/03/find-compare-utility-for-brother/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 03:07:25 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Components]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=30</guid>
		<description><![CDATA[This is a small application where we applied our bidirectional flow layout container to layout controls for the filters (the filter form is generated dynamically from XML file)]]></description>
			<content:encoded><![CDATA[<p>This is a small application where we applied our bidirectional flow layout container to layout controls for the filters (the filter form is generated dynamically from XML file)<br />
<a href="http://www.brother.com.sg/product/find_compare.aspx?cid=2"><img class="alignnone size-medium wp-image-31" title="Find &amp; Compare module for Brother" src="http://ewa.sg/wp-content/uploads/2009/03/310b_printers_mfc_filter-140x300.jpg" alt="Find &amp; Compare module for Brother" width="140" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/03/find-compare-utility-for-brother/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two directional FlowBox component, open sourced</title>
		<link>http://ewa.sg/2009/03/two-directional-flowbox-component-open-sourced/</link>
		<comments>http://ewa.sg/2009/03/two-directional-flowbox-component-open-sourced/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 05:12:14 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Components]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=24</guid>
		<description><![CDATA[Sometimes the design of the application requires visual elements to be placed one after another flowing from first row to the second and so on (just like words in paragraph). We&#8217;ve tried to use FlowBox container from FlexLib but it was not quite predictable (especially when it tries to measure its size), so we implemented [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes the design of the application requires visual elements to be placed one after another flowing from first row to the second and so on (just like words in paragraph). We&#8217;ve tried to use FlowBox container from FlexLib but it was not quite predictable (especially when it tries to measure its size), so we implemented our own flow layout container. It also has additional features:</p>
<ol>
<li> horizontal and vertical directions are supported (&#8220;direction&#8221; property)</li>
<li> the children could be arbitrary aligned relative to each other (&#8220;alignCoeff&#8221; style)</li>
</ol>
<p>You could see the demo and download the source code (MIT license) <a href="http://ewa.sg/samples/multiflow/MultiFlowLayoutDemo.html" target="_blank">here</a></p>
<p><a href="http://ewa.sg/samples/multiflow/MultiFlowLayoutDemo.html"><img class="size-medium wp-image-25" title="two directional flowbox flow layout" src="http://ewa.sg/wp-content/uploads/2009/03/screenshot005-300x182.jpg" alt="two directional flowbox flow layout" width="300" height="182" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/03/two-directional-flowbox-component-open-sourced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spreadsheet component &#8211; Performance</title>
		<link>http://ewa.sg/2009/03/spreadsheet-component-performance/</link>
		<comments>http://ewa.sg/2009/03/spreadsheet-component-performance/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 11:04:02 +0000</pubDate>
		<dc:creator>Andrii Olefirenko</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[spreadsheet]]></category>

		<guid isPermaLink="false">http://ewa.sg/?p=20</guid>
		<description><![CDATA[Check out the newer (but not the latest) version of Idubee spreadsheet application. While in editor, press CTRL+M to generate a column of 1000000 cells. As you&#8217;d see, perfomance of the component is not affected &#8211; it has constant rendering time regardless the amount of data.]]></description>
			<content:encoded><![CDATA[<p>Check out the newer (but not the latest) version of Idubee spreadsheet application. While in editor, press CTRL+M to generate a column of 1000000 cells. As you&#8217;d see, perfomance of the component is not affected &#8211; it has constant rendering time regardless the amount of data.<br />
<a href="http://ewa.sg/v2/IdubeeClient.html"><img class="alignnone size-medium wp-image-21" title="Idubee v2 Spreadsheet Application" src="http://ewa.sg/wp-content/uploads/2009/03/screenshot004-300x196.jpg" alt="Idubee v2 Spreadsheet Application" width="300" height="196" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ewa.sg/2009/03/spreadsheet-component-performance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
