initRia – Overview

December 21, 2007

I Attended the initRIA on December 16th (initRIA is a day long developer conference of Rich Internet Applications enthusiasts) held at HoneyWell Technologies Organized by Bangalore Flex User Group and Tekno Point.

I reached the venue by 10:15 am ,

I missed the data visualization session by Raghu

RIAjaxified – By Rakshith

Rakshith - RIAjaxified

This session was one of the best sessions


Rakshith works on Coldfusion8 ,
He told that Whole Adobe Site is Built on CF8.

Here are some of the highlights of Rakshith’s session

Ajax
-Basics
-sample Mashup
-Ajax Design Pattern
-Sneak Peek into Ajax Framework.

Ajax- is a term which means asynchronous HttpRequest sent by javascript .

some of the popular sites with Ajax are Google Suggest,Google Maps

Ajax Communication Techniques
-Hidden Frame
-Hidden IFrame
-XMLHTTP

Communication using XMLHTTP
XMLHTTP request can be created in IE using Activex and as JavaScript Object in Firefox.

He talked about creating XmlHttp Requests,

Came to know about third party library called zXmlHttp (The zXmlHttp class is used to create cross-browser
XMLHttp objects using a common interface. This class equalizes the differences between browser
implementations of XMLHttp objects.)

JSON -Javascript Object Notation
-is a lightweight data format based on subset of Javascript syntax
-Based on array,Object
Javascript object should not be confused normal java or OO programming objects
in Javascript Object means key value pair ;

var testData=["abc"]

Comparison between xml and JSON
XML – <e>text</e>
JSON- “e”: “text”

Advantages of JSON

  • JSON is light weight but less readable

To transform JSON dsata to JAVASCRIPT OBJECT we just need to eval the JSON DATA
var someinfo = eval(“+jsonData+”)]
There are serverside tools available to convert JSON to server side technologiessome of them are
JSON-php

visit JSON.org for more info on JSON.

Ajax Patterns
-Predictive Fetch [predict the users interaction and prefetch]

-Submission throttling [google suggest]
-periodic refresh [refresh periodically for every n minutes/seconds to get the latest data]
-Multistage Downloads

Ajax Security
-There is no Inherent weakness in Ajax
-Ajax can consume XML,JSON or javasript by siple get and
-Post without any middle ware
-incoming data is injected
-The same origin policy

he told about Google-Caja – its a source t-source translator for securing javascript

Then we had a preview of Ext JS- Ajax Framework
Its a very rich framework

The next session was by Himanshu mody RIA using Right Correct Approach .

RCA is as framework developed by tekno point multi media

Somebody mentioned about
FUNFX [http://funfx.rubyforge.org/] FunFX is an open source framework for testing Flex application. It is built to support Test Driven Development.
The FDS License is needed to run this.

Then its was Lunch Time,We had Pizza and coke .

Building Live Documents – An online Office suite leveraging RIA technologies

Then We had an interesting demo of Live Documents by instacoll CEO Sumanth Raghavendra , He talked about the Pros and Cons of Flex

Flex-Pros

Flex-Cons

Flex - Cons

Live documents – Its Microsoft office in your browser.The cool thing is its developed in flex,

Next session was integrating flash with flex by Bhavin Padhiyar

Integrating flash with flex by Bhavin Padhiyar

Bhavin on flash flex integration

it was more lively session ,i could say about,
Bhavin talked about how to create skins in flash and use them in flex ,and showed a cool flash-flex Application
he pointed out to give more freedom for designers. and btb Bhavin is both Flash and Flex certified

Then it was the most awaited session ,Optimising flex and MXML by Mrinal wadhwa

Optimising flex and MXML by Mrinal wadhwa

Mrinal on Optimising mxml and as

Mrinal started with a note that AVM2 is very fast

He Talked about Performance

  • Perceived performance
  • True performance

Object Creation and destruction
ordered creation
->creationPolicy=Queued

Deferred Creation
CreationPolicy=”queued”

createComponentFromDescriptor()

Garbage Collection
set references to null
removeEventListeners
removeChild()

EventListeners
creates a strong reference
->we can create a weak reference also but it is not good to do so

Styles
setStyle is the most expensive cpu call

He gave an example of setting style to a parent component which would eventually look for all its children

use mx:Styles instead
-if u have to call setStyle, call as early as possible -preinitialize

-setting global styles at runtime i extremely expensive

Containers
-Minimize containers Nesting
-canvas is better than Vbox,Hbox
-use absolute sizing

Effects

  • Increase effect duration
  • Hide parts of the target
  • Avoid bitmap based backgrounds
  • suspend background processing
  • [during effects]
  • CachePolicy.ON[for not changing more often]
  • CachePolicy.ON[is two edged sword use effectively]

Factors that affect Rendering
Movie Quality – Keep it to Medium

Cache as bitmaps
redraw regions[if redraw regions are small its good]
mixing device text and vector graphics
clip masks

ActionScript Mantras

  • strict typing is important

if not strict typed it will be 10 times slower than the strict typing
Because the entry goes to the hashtable , it has to lookup the hashtable every time
int as iterator ,use number for floating point calculations

Don’t Divide Multiply
Avoid Multiple Array Lookups
Use Binding carefully

Raghu gave an insight on as operator

avoid .length method in for loop (in case if u r iterating an Arraycollection or Array )is every expensive as every time the loop executes ,it has to calculate the length of the Array/ArrayCollection
var myArray:Arraycollection ; //has 100 elements in it
for(var i:int=0;i<myArray.length;i++){
//Your logic here
}
every time the length is calculated ,its an extra over head .

you can do something like this

var myArrayLength:int =myArray.length
for(var i:int=0;i<myArrayLength;i++){
//Your logic here
}

Next Session was by Debabrata Acharjee on

Developing Flex RIAs with Cairngorm Microarchitecture

Debabrata Acharjee’s On cairngorm microarchitecture

He explained about what is cairngorm,and briefed abt the various things
Then deepak verma, talked about cairngorm framework.

The last session was “Birds of Feather” ,This was basically a discussion on Rich
Internet Applications and their future.
We had some performance comparison between microsoft silverlight and flex.

postlude
Abdul Answered Most of the questions during the sessions
Last Thing to say ” initRIA was more about Flex

Click here to check on the event photos.

Thanks Saurabh /Mrinal and Himanshu for Organizing .

Special Thanks to Prayank,Raghu and Mrinal ,without whom i would have never written this.


Hello world!

June 3, 2007

Keep Watchin!!! I will start writing by this Year :-)