1. What is RIA? A Rich Internet Application (RIA) is a web application that has many of the characteristics of desktop applications.
2. What is Web 2.0? The term Web 2.0 is commonly associated with web applications that facilitate interactive information sharing, interoperability, user-centered design,[1] and collaboration on the World Wide Web. 3. What is SOA?
Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing.
4. What is the difference between Page Metaphor and Screen Metaphor?
Metaphor is the concept of understanding one thing in terms of another. Page Metaphor related to page based applications, Screen Metaphor relates to RIA based applications.
5. What are the disadvantages of a browser to build a web application? 6. Explain User Experience, Usability, and User Engaging?
User eXperience (UX) is about how a person feels about using a system*. Usability is the study of ease of use, of how quickly someone can understand how to use a particular human-made object and how easily they can use it. User Engaging is about how much of time user is in engage with the system.
7. What is Flex?
Adobe Flex is a software development kit (SDK) released by Adobe Systems for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform.
8. What is Flash?
Adobe Flash (formerly Macromedia Flash) is a multimedia platform used to add animation, video, and interactivity to Web pages.
9. What are the differences between Flash and Flex? Flash is a designer tool where as flex is a developer tool. Flex is Soft ware development kit used to develop and deploy cross plat form RIA applications where as flash is a multimedia platform to add animation, video and interactivity to web pages.
10. What is FP (Flash Player)?
The Adobe Flash Player is software for viewing animations and movies using computer programs such as a web browser.
11. What is the difference between flash player and flash debug player? Flash player is software for viewing animations and movies using some computer programs like web browser where as flash debug player is used to debug the application code. 12. What is shockwave player?
Adobe Shockwave (formerly Macromedia Shockwave) is a multimedia player program, It allows Adobe Director applications to be published on the Internet and viewed in a web browser on any computer which has the Shockwave plug-in installed.
13. What is AIR? (Old name Apollo)?
Adobe Integrated Runtime (AIR), also known as Adobe AIR, is a cross-platform runtime environment developed by Adobe Systems for building rich Internet applications using Adobe Flash, Adobe Flex, HTML, or Ajax, that can be deployed as desktop applications.
14. What is AVM?
Action Script virtual machine. Client side pull is a mechanism of
15. What is client side pull and server side push?
21. What is difference between MXML and HTML? MXML is an XML-based user interface markup language first introduced by Macromedia in March 2004. MXML is used mainly to declaratively lay out the interface of applications and can also be used to implement business logic and internet application behaviors. It can contain chunks of ActionScript code, either when creating the body of an event handler function, or with data binding where the curly braces ({) syntax is used. MXML is often used with Flex Server, which dynamically compiles it into standard
binary SWF files. However, the AdobeFlash Builder IDE (formerly Adobe Flex Builder) and free Flex SDK can also compile MXML into SWF files without the use of a Flex Server. HTML, which stands for HyperText Markup Language, is the predominant markup language for web pages. It is written in the form ofHTML elements consisting of "tags" surrounded by angle brackets within the web page content. It is the building blocks of all basic websites.
22. What is difference between AS and JS? ActionScript is a scripting language developed by Adobe. It is a dialect of ECMAScript (meaning it has the same syntax and semantics of the more widely known JavaScript), and is used primarily for the development of websites and software targeting the Adobe Flash Playerplatform, used on Web pages in the form of embedded SWF files.
JavaScript is an implementation of the ECMAScript language standard and is typically used to enable programmatic access to computational objects within a host environment. It can be characterized as aprototype-based object-oriented[5] scripting language that is dynamic,weakly typed and has first-class functions. avaScript is primarily used in the form of client-side JavaScript, implemented as part of a web browser in order to provide enhanceduser interfaces and dynamic websites.
23. What is difference between AS2.0 and AS3.0?
Flash MX 2004 introduced ActionScript 2.0, a scripting programming language more suited to the development of Flash applications. It is often possible to save time by scripting something rather than animating it, which usually also enables a higher level of flexibility when editing. Since the arrival of the Flash Player 9 alpha (in 2006) a newer version of ActionScript has been released, ActionScript 3.0. ActionScript 3.0 is anobject oriented programming language allowing far more control and code reusability when building complex Flash applications. This version of the language is intended to be compiled and run on a version of the ActionScript Virtual Machine that has been itself completely re-written from the ground up (dubbed AVM2).[2] Because of this, code written in ActionScript 3.0 is generally targeted for Flash Player 9 and higher and will not work in previous versions. At the same time, ActionScript 3.0 executes up to 10 times faster than legacy ActionScript code.[3]
24. What is Constraint based Layout in Flex?
Normally we specify the Layout for a component as absolute or auto mode. Where as in constraint based layout we will specify the constraints to control the layout of component such as specifying left, right, top, bottom, horizontal Align etc.. values.
25. What is the auto Layout Mode in Flex?
By default, Flex automatically positions all components, except for the children of a Canvas container.
26. What does layout manager do?
The LayoutManager is the engine behind Flex's measurement and layout strategy. Layout is performed in three phases; commit, measurement, and layout. The commit phase begins with a call to val i dateProper t i e, which walks through a list (reverse sorted s() by nesting level) of objects calling each object's validateProperties() method. The measurement phase begins with a call to val i dateS i ze,( which walks through a list (sorted by ) nesting level) of objects calling each object's validateSize() method to determine if the object has changed in size. The layout phase begins with a call to the val i dateDi sp l ayL i s method, which walks through a list t() (reverse sorted by nesting level) of objects calling each object's validateDisplayList() method to request the object to size and position all components contained within it (i.e. its children). If an object's invalidateDisplayList() method was previously called, then val i dateDi sp l ayL i s method for t() the object is called.
27. How the components are created in a Flex SWF / application life cycle?
A Flex application goes through 4 distinct events when initializing an application.
1.
starts
preinitialize
Dispatched at the beginning of the component initialization sequence, basically before anything else
2.
initialize
Dispatched when the component has finished its constructions and has all initialization properties set, this is done after all the other components have initialized themselves.
3.
creation complete
Dispatched when the component has finished its construction, property processing, measuring, layout, and drawing. This is done when all components have completed their creation.
4.
application complete (where applicable)
Dispatched after the Application has been initialzed
28. What is the default container in Flex Application and Flex Module?
Default container for flex application is Application, Where as default container for module is Module.
29. What are the constraint properties available in Flex?
Left, right, top, bottom, horizontal Center, vertical Center, horizontal Align etc
30. What are the priorities of constraint properties in absolute?
Left, right, top, bottom, horizontal Center, vertical Center .
31. Can I give percentages in constraints?
Yes, But of no use.
32. How do you give margins within a flex component?
Using Padding values we can give margins to a flex component.
33. Can canvas have margins?
No, because there is no padding properties for a canvas.
34. What is padding and what are its properties?
Padding is a marginal gap between child and parent component. Following are padding properties, paddinLeft, paddingRight, paddingTop, paddingBottom.
35. Is padding a CSS value or property of a component?
Padding is a CSS(style) value of a component.
36. How do you apply/remove styles in actionscript?
To apply a style in action script we use: setStyle() method To remove style we use : clearStyle() method.
37. How do you apply effects in actionscript?
Using setStyle() method we specify effects in action script. In the two parameters of setStyle(), first parameter is a string value specifying effect type and second parameter is effect value.
38. How do you apply filters(like glow filter, blur filter..) for flex components? We can apply filters in mxml and action script. In mxml: using <filters> </filters> tags, within this we specify list of filters we want to apply In AS: using filters property, it expects an arry of filters. That is we need to pass array of filters.
39. Can I set the custom padding of all my components at one place? Yes, we can set. It is possible in action script. 40. When does a scrollbar appear in a container?
If the sum of sizes of all controls + the sum of gaps between the controls in that container is larger than the container then we get scroll bars.
41. How can I turn off the scrollbar for a container?
By setting horizontalScrollPolicy AND verticalScrollPolicy = off
42. What is inline styling and external styling?
Inline styling is setting style properties as properties of component in the mxml tag. Where as external styling is defining style properties in a separate CSS file, and referencing that CSS file with the source property of <mx:Style> tag.
43. How do you load/unload CSS dynamically/runtime?
To load: First we need to compile css into swf. After that Using StyleManager.loadStyleDeclarations(ex.swf) we can load css at runtime/ dynamically. To Unload: StyleManager.unloadStyleDeclarations(ex.swf).
44. What is difference between skinning, coloring and theming?
Skinning is a simple way of modifying the appearance of flex component. Coloring is changing color properties of component. Theming defines the look and feel of flex application/ component.
45. How do you assign data to list/horizontal list and tile list?
By Specifying dataprovider property value we can assign data.
46. What is labelfield used for and labelfunction used for?
labelfield controls which field in the data provider will be used as the label. labelFunction is a user-supplied function to run on each item to determine its label.
47. How do you insert images in tilelist?
Using itemRenderer we can insert images into tilelist.
48. What is item rendering?
Using item renderes we can customize the content. With item renderers we can have control over the component of each row.
49. What is item editing?
With Item editor we can customize the way of item editing.
50. What is difference between itemrendering and itemediting?
With Itemrendering we can customize the content, whereas itemediting comes into picture when we are customizing the way the content gets edited.
51. How do you change row color in a datagrid?
Using itemRenderer we can have the control of content in each row, So using itemRenderer wecan change row color of a datagrid.
52. How do you do paging for a datagrid?
For this we need to have two array collections, Let first arraycollection as X. Invoke X.source.slice(a,b) assign that result to second ArrayCollection. Now bind dataGrid dataProvider with second arrayCollection. Ex: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="InitApp()" xmlns:MyComp="*"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.events.ItemClickEvent; import mx.controls.Button; import mx.controls.Alert; [Bindable] public var myData:ArrayCollection = new ArrayCollection(); public var orgData:ArrayCollection = new ArrayCollection(); [Bindable] public var nav:ArrayCollection = new ArrayCollection(); public var pageSize:uint = 10; public var navSize:uint = 10; private var index:uint = 0; private var navPage:uint = 1; private function InitApp():void { for( var x:uint = 1; x <= 500; x++ ) { var obj:Object = new Object(); obj.Id = x.toString(); obj.Name = "Column " + x.toString(); obj.Street = "5555 Street"; obj.Title = "CEO"; obj.City = "El Paso"; orgData.addItem(obj); }
refreshDataProvider(index); createNavBar(Math.ceil(orgData.length/pageSize)); } 0):void private function createNavBar(pages:uint = 1,set:uint = { nav.removeAll(); if( pages > 1 ) { if( set != 0 ) { nav.addItem({label:"<<",data:0}); if( (set - navSize ) >= 0 ) { nav.addItem({label:"<",data:set } else { } } for( var x:uint = 0; x < navSize; x++) { var pg:uint = x + set; nav.addItem({label: pg + 1,data: pg}); } if( pg < pages - 1 ) { nav.addItem({label:">",data:pg + 1}); nav.addItem({label:">>",data:pages } } private function navigatePage(event:ItemClickEvent):void { refreshDataProvider(event.item.data); var lb:String = event.item.label.toString(); if( lb.indexOf("<") > -1 || lb.indexOf(">") > -1 ) { createNavBar(Math.ceil(orgData.length/pageSize),event.item.data); if( event.item.data == 0 ) { pageNav.selectedIndex = 0; } else { pageNav.selectedIndex = 2; } } } } nav.addItem({label:"<",data:0});
- navSize});
pageSize});
private function refreshDataProvider(start:uint):void { myData = new ArrayCollection( orgData.source.slice((start * pageSize),(start * pageSize) + pageSize) ); } ]]> </mx:Script> <mx:VBox verticalGap="0"> <mx:DataGrid id="dg" dataProvider="{myData}"></mx:DataGrid> <mx:ToggleButtonBar id="pageNav" itemClick="navigatePage(event)" dataProvider="{nav}" width="{dg.width}"></mx:ToggleButtonBar> </mx:VBox> </mx:Application>
53. How do you make a data grid row editable?
By using editable property of datagrid.
54. How do you call a method from itemrenderer component to the parent or application?
Using parentDocument.method()we can call.
55. What is the difference between repeater and itemrenderer?
Repeater is a componet,which is used to handle repetition of one or more user interface components based on dynamic or static data arrys at runtime. Itemrenderer is the property of list controls, which is used to customize list controls content rendering.
56. What is the difference between tile and tilelist?
Tile is a Container,Where as TileList is a datacontrol.
57. How do you get data inside itemrenderer from Data Component?
Using data object we canget the data.
58. What is Flex component/application event life cycle?
As flex is a eventdriven, the creation of component/application contain events. Following events are there in application creation lifecycle, they are i) preInitialize() ii) initialize() iii) creationComplete() iv) applicationComplete() preinitialize: Dispatched at the beginning of component initialization (Basically before anything else starts to initilize). Initialize: Dispatched when the component has finished its construction and has all its initialization properties set. (This is done after all components have initialized themselves)
creationComplete: Dispatched whenthe component finished its construction, property processing, measuring, layoout and drawing.(This is done when all components have completed their creation) applicationComplete: Dispatched when the application has been initialized and processed by layout manager, and attached to the displayList.(Last thing done in creation life cycle)
59. What is an event?
Event is a mechanism which informs if something happens. event is an object of Event class.
60. Is event an object/property?
61. What are properties of an event object?
i) ii) iii) iv) v) vi) vii) target currentTarget eventPhase stopPropagation stopImmediatePropagation bubbles cancelable
62. What are event phases and describe them?
When wether there order. events are triggered, there are three phases in which flex checks are any event listeners. These phases occur in the following Capturing Targetting Bubbling
During each of these phases, the nodes have a chance to react to the event. For example, assume the user clicks a Button control that is inside a VBox container. During the capturing phase, Flex checks the Application object and the VBox for listeners to handle the event. Flex then triggers the Button's listeners in the target phase. In the bubbling phase, the VBox and then the Application are again given a chance to handle the event but now in the reverse order from the order in which they were checked in the capturing phase.
63. What are the uses of the event phases? (capturing/bubbling/targeting) 64. How do you stop capturing/ bubbling/ targeting?
object. By calling stopPropagation() or stopImmediatePropogation() on event
65. What is the difference between target and current Target?
Target references event dispatcher while currentTarget refers to the node which currently being checked for event listeners.
66. What is the difference between stop propagation and stop immediate propagation?
You can call either the event's stopPropagation() method or the stopImmediatePropagation() method to prevent an Event object from continuing on its way through the event flow. The two methods are nearly identical and differ only in whether the current node's
remaining event listeners are allowed to execute. The stopPropagation() method prevents the Event object from moving on to the next node, but only after any other event listeners on the current node are allowed to execute. The stopImmediatePropagation() method also prevents the Event objects from moving on to the next node, but it does not allow any other event listeners on the current node to execute.
67. Write syntax of Event constructor. Event(type:String, bubles:Boolean, cancelable:Boolean) 68. Write syntax of dispatchEvent(). We call this dispatchEvent() on any flex components, it expects a parameter of type Event. 69. Write syntax of addEventListener(). addEventListener(type:String, listener:function, useCapture:Bolean, priority:int, useWeakReference:Bolean); 70. Write syntax of removeEventListener(). removeEventListener(type:String, listener:function, useCapture:Bolean); 71. How do you pass Object (data) along with an event?
By writing custom event class and by modifying the constructor of custom event class.
72. How do you create CustomEvents?
By extending Event classes.
73. What is <mx:MetaData /> in mxml used for? To provide information to the flex compiler. Metadata tags do not get compiled into
executable code, but provide information to control how portions of your code get compiled.
74. What are the different ways of doing binding in flex(describe 3 ways)? The curly braces ({}) syntax in MXML, the<mx:Binding> tag in MXML, and
the BindingUtils methods in ActionScript.
BindingUtils.bindProperty(myText, "text", myTI, "text");
75. What is changewatcher?
it watches for changes on objects. Note that the properties that can be watched by the ChangeWatcher must be bindable. How to check if a property is actually watchable, this is done with the canWatch static function and returns a boolean .
There is another static function on ChangeWatcher that is worth a mention, it is watch. This is the bread and butter function of the class. This function allows you to watch a property and then run a function each time the property changes.
76. How do you create components dynamically?
By instatiating components at run time in action script.
77. What is the difference between mxml component creation and actionscript component creation?
In MXML we cant create components dynamically, where as using action script we can create components dynamically.
78. Can I create a button on click of a button? How?
Yes, by creating a button variable in button click handler and calling addChild(buttonVar) method on application.
79. How do you apply/remove styles for a dynamic component?
By using setStyle() and clearStyle() methods.
80. How do you listen to events for a dynamic component?
By writing addEventListener() method on that dynamic component.
81. What is depth level and how do you change it? (z-index for flex components?)
Determines the order in which items inside of containers are rendered. Spark containers order their items based on their depth property, with the lowest depth in the back, and the higher in the front. Items with the same depth value appear in the order they are added to the container. We can change depth level of a component by changing the depth property value of that partiular component.
82. What is the difference between array and arraycollection? 1.The elements of the ArrayCollection can be used in bindings that will be continued to be monitored. This is not the case with the normal Array class, once the element from an array is used in a binding, it is no longer monitored. 2. ArrayCollection provides a rich set of tools for data manipulation According to the Adobe flex liveDocs The ArrayCollection class is a wrapper class that exposes an Array as a collection that can be accessed and manipulated using the methods and properties of the ICollectionView or IListinterfaces. Operations on a ArrayCollection instance modify the data source; for example, if you use the removeItemAt() method on an ArrayCollection, you remove the item from the underlying Array. Apart from that, we can continuously watch the array for any changes at run time. Say, some user operation deletes a value from my ArrayCollection or Add a new item in my ArratyCollection which I am using as an dataProvider for a data grid. In that case, I can see the node getting disappear or visible at the same time. This cant be possible in the case of an Array.
83. What is an interface?
Interface is an abstract class, in which its members are not implemented. 84. What are access modifiers in actionscript?
an access modifier modifies what Classes can instantiate a particular Class or access one of its properties. They are,
Public, private, protected and internal. 85. How do you sort an array collection? Create a sortField object, give name property value of sortField. Create a Sort object and bind fields property with the array of above created sortField objects. Now call sort on arrayCollection with the Sort object.
var dataSortField:SortField = new SortField(); dataSortField.name = "data"; dataSortField.numeric = true; var numericDataSort:Sort = new Sort(); numericDataSort.fields = [dataSortField]; arrColl.sort = numericDataSort; arrColl.refresh();
86. How do you apply sorting for a datagrid?
Get the clicked column value of datagrid. Establish a sort object with sort field/s based on clicked column. Applay sort object to the dataprovider IcollectionView.
87. How do you filter data in datagrid?
Invoke filterFunction on Datagrid dataProviders ArrayCollection. We assign an external function to this filterFunction, with in that function we will write the functionality.
88. How do you drag and drop items from one list to the other list? 89. How do you drag an image on the stage/application?
Using DragManager.doDrag() or img.startDrag()
By setting dragEnabled and dropEnabled properties of List to true.
90. What are various ways to display the video?
Using videoDisplay we can displaythe video.