Thursday, August 25, 2011

List of Open Source Tools for Apache Flex

ActionScriptImage via Wikipedia
Below is the list of Open Source tools for Apache Flex.
  • FlexUnitAn open-source unit testing framework for Flex developers.
  • FlexLib - a community effort to create open source user interface components for Adobe Flex 2, 3 and 4.
  • AS3CoreLibAn ActionScript 3 Library that contains a number of classes and utilities for working with ActionScript 3. These include classes for MD5 and SHA 1 hashing, Image encoders, and JSON serialization as well as general String, Number and Date APIs.
  • Granite DSGranite Data Services is a free, open source alternative to Adobe LiveCycle (Flex 2) Data Services for J2EE application servers.
  • FlexCoverprovides code coverage instrumentation, data collection and reporting tools for Adobe Flex and AIR applications.
  • FlexmonkeyFlexMonkey is a free Adobe AIR application used for testing Flex and AIR based applications. Providing the functionality to record, playback and verify Flex UI interactions, our test automation tool also generates ActionScript-based testing scripts that you can easily include within a continuous integration environment. 
  • as3mathlib -The Flex/Actionscript Math Library (as3mathlib) is intended to provide a rudimentary numerical analysis toolkit for the Actionscript/Flex programming environment.
  • as3statslib -A library of statistical functions and data analysis routines for AS3. Also includes integration and matrix functions. Still under development.
  • standingwave -StandingWave is an AS3 code library designed for high level control of Flash Player 10's SampleDataEvent API for streaming audio output.
  • as3-scaffoldas3-scaffold is a lightweight as3 framework with an accompanying set of scaffolding scripts to automate the tedium of setting up new as3 projects, with support for PureMVC.
  • redlib-as3RedLib is an ActionScript 3 (AS3) library that contains classes and utilities for working with AS3 and other AS3 libraries. In other words, code that helps me with my day-to-day AS3 tasks.
  • right-click-managerIntegrate the tricks of javascript and actionscript found on the internet to provide a simple way to add the ability to listen to right mouse button click event for Flex application,
  • bendpixelsBendPixels is a Flex library that allows you to use PixelBender filters as Flex effects
  • flexgdsgenFlxgdsgen is an ant based generator that creates Flex/Air projects. The project uses GraniteDS for the communication between the client and the server. As the server side framework it uses Spring. The generated project is an Ant/Ivy based project that contains all the necessary files (.project, .classpath, ...) that allows you to import the project in Eclipse/Flex Builder.Flxgdsgen is an ant based generator that creates Flex/Air projects. The project uses GraniteDS for the communication between the client and the server. As the server side framework it uses Spring. The generated project is an Ant/Ivy based project that contains all the necessary files (.project, .classpath, ...) that allows you to import the project in Eclipse/Flex Builder.
  • flex-blazeds-spring-archetypeThe flex-blazeds-spring-archetype can be used to generate a multi-module Maven 2 project which integrates Flex, BlazeDS & Spring.
  • flex-codegenThe CodeGen creates all necessary files for getting the base of an application started with easy access to the database, for all database operations. All code is generated from a schema.xml file that holds the applications databases schema. Any changes to the database or tables or fields usually would required a developer to go through the classes they made for that table or database and make the correct changes reflecting the new changes. But with the CodeGen all one would need to do is run the generator again and the newly updated tables will be re-written in the schema.xml file thus generating new php classes for the CRUD operations, therefore your application never runs out of sync.
  • flex-colorfuldatechooserColorful date chooser component for Adobe Flex
  • flexundoredo e Flex UndoRedo Framework provides all the facilities that you need for implementing undo and redo within your applications.
    The Flex UndoRedo Framework was built with the following goals in mind:
    • Provide a robust, extensible framework that would work without modification for basic needs
    • Support for different groups of undo events (one group per flexMdi window for example)
    • Allow undo and redo of an unlimited number of events
    • Integrate cleanly and transparently into applications with or without Cairngorm
    The Flex UndoRedo Framework is an open source project available for all to use. For more information, please see the links in the sidebar.
  • flex-databasemanagerFlex MySQL Monitor, Manager, Query Builder,
  • flex-helperOpen Tools/Components to help flex applications be more accessible for the handicapped.
  • flex-compileFlex project management tool and wrapper for the Flex compiler for fast compilation
  • flex-object-handlesUser resizeable container for flex components.
  • flex-iframeAn IFrame which you can embed into Flex applications to show an html page
  • htmlwrapperWrapper is a cross-browser compliant HTML/CSS rendering engine written in ActionScript that sits on top of your standards compliant HTML page. Wrapper eliminates cross-browser issues and makes integrating ActionScript and HTML/CSS projects possible without needing to compile every change.
  • picasa-flex-api Picasa Flex API is easy way to access your images posted to Google Picasa from Flex and Flash Application. AIR is supported as well.
    The library provides service which works directly with Google Data API feeds and hides all complexity of parsing and processing, makes developing much more easier.
  • as3flickrlibThe Flickr library is an ActionScript 3.0 API for the online photo sharing application, Flickr. It provides access to the entire Flickr API.
  • flex-diagrammerWith this Flex library you can build your own diagrammers and easily extend nodes and links adding custom functionality.
  • flex mmorpg engine - This is a mmorpg engine using adobe flex framework. The game application server bases on scala liftweb framework and media transport server bases on Red5.
  • as3djvuas3djvu is a library supporting decoding and rendering of DjVu files in ActionScript 3 and Flex based projects. DjVu is an excellent compression method for scanned documents which generally outperforms PDF and JPEG formats.
  • as3xls - Read and write Excel files in Flex
  • BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe® Flex® and Adobe AIR™ applications for more responsive rich Internet application (RIA) experiences.
Flattr this

Free eBooks on Adobe Flex

Graph of internet users per 100 inhabitants be...
Image via Wikipedia

Register at this link to get a free copy of "Fast Track to Developing Rich Internet Apps" delivered to your inbox.



Rich Internet applications (RIAs) offer a rich, intuitive and engaging experience that improves user satisfaction and increases productivity. Using the broad reach of the Internet, RIAs can be deployed across mobile devices, browsers and desktops.


Pro Flex on Spring is about building rich Internet applications (RIAs) that combine the interactive user experiences of Adobe Flex with the delivery of back-end services through the Spring Framework.


Wednesday, August 24, 2011

For Whom Do I Write ?

Software Development CommunitySoftware Development Community (Photo credit: Michael Kappel)

Background

In 2005, I was building Java based Web applications for fetching information using SAP services. To execute my application I need to deploy it to Java EE Server and when the user requests the app.
It would require an small JavaScript footprint to load and HTML code generation in backend before the application screen would be displayed to the user. Users can perform operations on SAP systems by performing actions such as clicking a button or submitting a form, the input data was send to SAP back end in the form HTTP request with XML payload, and after processing this input the result would be delivered to the user via HTTP responses again in XML format which needs to be interpreted in the client side to be displayed in human readable form.

The available technologies was unable to provide satisfactory experience to my customers as lot of delay was involved at the client side for loading high volume data. Presentation of data in charts and graphs was often resulting in browser crashes. The results were often ugly and uninteresting to look at.

I started evaluating different technologies to improve my existing applications. I didn't wanted to use plain JavaScript / HTML due to code manageability issues as my applications would have large and complex code base, was requiring enterprise quality. 

I did some prototypes using open source framework OpenLaszlo. But found it little risky to invest my time and effort into it as I was not sure about the roadmap and commitment of open source community. Flex was a great alternate to openLaszlo as it was backed by enterprise (started by Macromedia and later Adobe till 2011).

I started working on Flex Framework and results were impressive cross browser and cross platform web user interfaces (later desktop integration through AIR and mobile also arrived). 


Now as many competitive technologies have matured and its worth reviewing Flex and what lessons we can learn from this great developer friendly technology.


Who should read my Blogs
  • Java Project Managers and Architects working on Java projects.
  • Product manager & Product owners working on Web & Mobile applications / products
  • Enterprise IT team members. 
  • Tech-savvy managers, architects and developers looking for the best Rich Internet Application platforms for their projects
  • Senior professionals from software development organization units exploring about benefits of mobility and RIAs and what it takes to port existing applications for mobile devices and to RIAs.
  • and Finally for Decision makers responsible for the success of their online businesses, (both external  or internal facing).

Thursday, August 4, 2011

17 Awesome Frameworks for Adobe Flex


The model, view, and controller (MVC) pattern ...
Image via Wikipedia

How to architect a Flex application ?

Key Feature of a good Flex application are:
  1. easy maintainability, 
  2. extensible and
  3. re usability
Architectural Best Practices
  1. Instead of a single monolithic interface, break up the interface into separate views (that are typically separate MXML components); 
  2. build collections of independent, loosely coupled components that define and broadcast custom events that the rest of the application can then listen for and respond to. 
  3. organize your data, logic, views and notifications, or by using one of the many microarchitectures, including Cairngorm, PureMVC, Parsley, Mate or Swiz.

Frameworks:

1.Caringorm - An open-source micro-architecture (collection of design patterns) for Flex developers.

2.PureMVC - PureMVC is a framework for creating applications based upon the well-established Model, View and Controller design pattern.

3.Model-Glue : Flex -
Model-Glue: Flex brings implicit invocation, Model-View-Controller design, and cleaner, less repetitive integration with backend services to Flex 2.0 and AIR applications.

4.Foundry - quick an easy framework for Flex 3 development

5.Guasax Flex Framework - Guasax is an ease of use programming framework which provides the creation of an ordered and scalable application with Adobe Flex. Lifecycle of guasax framework is based in the MVC pattern to take on our program actions. Guasax framework helps you to maintain your business logic tier highly decopled from your presentation logic tier. Guasax takes reflection and introspection techniques as well as IoC pattern to execute the operations which we have pointed at and to make a decision about itselves. 

6. ARP - ARP currently supports Macromedia® Flash® and Flex™-based RIA Development in ActionScript 2 and ActionScript 3. ARP is designed to be simple to use and lightweight.

7. Flest Framework - Flest is an ActionScript3 / Flex application framework for building enterprise level RIAs. It uses such design pattern as Controller, Factory, Command, etc. High efficiency, simplicity and practicality were set as its mandatory design features.

8.Mate - Mate is a tag-based, event-driven Flex framework. Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered. In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need.

9.Swiz - Swiz is a framework for Adobe Flex that aims to bring complete simplicity to RIA development. Swiz provides Inversion of Control, event handing, and simple life cycle for asynchronous remote methods. In contrast to other major frameworks for Flex, Swiz imposes no JEE patterns on your code, no repetitive folder layouts, and no boilerplate code on your development. Swiz represents best practices learned from the top RIA developers at some of the best consulting firms in the industry, enabling Swiz to be simple, lightweight, and extremely productive.

10.Penne Framework - The Penne Framework is a light weight framework used for enterprise Adobe Flex 3 Applications.

11.Gaia is an open-source front-end Flash Framework for AS2/3 designed to reduce development time.

12.robotlegsRobotlegs is a pure AS3 micro-architecture (framework) with a light footprint and limited scope. Simply put, Robotlegs is there to help you wire your objects together. It provides the glue that your application needs to easily function in a decoupled way. Through the use of automated metadata based dependency injection Robotlegs removes boilerplate code in an application. By promoting loose coupling and avoiding the use of Singletons and statics in the framework Robotlegs can help you write code that is highlytestable.

13.thin-red-line - This is an extension of the Cairngorm Flex framework created to address all the issues not covered by Adobe. The source code contains both the actual framework and a very simple Flex app demonstrating how the whole thing works.

14. flex-slide - Slide is an application framework for projects built in Flex 2 or 3.
Key features:
  • Uses familiar design patterns
  • Robust MVC structure
  • View state management decoupled from view implementation
  • Flexible approach to model and controller access, eliminating need for singleton classes.
  • Separate view presentation from view functionality
  • Incorporated debugging and development tools
Benefits:
  • Helps with project planning through visual design to production
  • Increases the proportion of your codebase that is easily testable
  • Makes dependencies transparent (appropriate abstraction and decoupling, not unhelpful indirection)
  • Plays to Flex's strengths, reducing the quantity of code
  • Encourages convention, but does not depend on it
  • Simplifies view management

15. dunelox - Dunelox is a library of components and utilities to implement Flex applications designed around Conversations.

16. mainline-flex - Mainline is a simple Dependency Injection / IoC framework for Adobe Flex, Air, and ActionScript. It does what it needs to, but otherwise stays out of your way.


17. Parsley is an application framework for Flex/Flash/AIR applications written in AS3.

Spicelib is a suite of independent AS3 libraries that Parsley builds upon, but that can also be used separately.

Parsley features:
  • Flexible IOC Container: Supports configuration with AS3 Metadata, MXML, XML files, ActionScript
  • Dependency Injection: Injection by type or id - for constructors, methods or properties
  • Decoupled Bindings: Bindings where source and target are fully decoupled, based on a publish/subscribe mechanism
  • Messaging Framework: Fully decoupled senders and receivers, can serve as a basis for MVC architectures
  • Dynamic View Wiring: Easily wire Flex components to objects declared in the container
  • Advanced container features: Asynchronously initializing objects, object lifecycle, modular configuration contexts
  • Integration with Flex Modules: Allows configuration to be loaded and unloaded alongside Flex Modules
  • Localization: Integrates with Flex ResourceManager for Flex Applications, contains its own Localization Framework for Flash Applications
  • Extensibility: Easily create your own configuration tags, a single implementation can be used as AS3 Metadata, MXML or XML tag
  • And much more...


A Video on Mobile Application Development with Flex and Flex Builder

One tool, one framework, multiple devices
  • With increased internet connectivity over mobile and more services moving to the cloud, RIAs are becoming increasingly popular on mobile devices. 
  • With onslaught of so many different types of digital devices from PCs, laptops, smart phones, and tablets cross platform user  engagement has also became an import aspect of RIA development.
Develop high performance mobile applications for the iPhone®, iPad®, Android™ devices and BlackBerry® Playbook™ with one code base. Please find below a video about "Mobile application development with Flex and Flash Builder" from Adobe TV presented by Adobe Developer Connect.



Delivering an app for multiple devices no longer requires writing separate code for each platform. Flex and Adobe® Flash® Builder® 4.5 software let you develop & debug dynamic, high performance apps for
multiple platforms.

Many mobile application developers build custom components and custom navigation patterns to enhance the application’s user experience.

With the following the best practices in mobile development your application performs well on all platforms.
• List optimization
• Item renderer optimization

Create data-intensive apps for iPhone®, iPad®, Android™ devices and the BlackBerry® Playbook™
Flex and Adobe® Flash® Builder® 4.5 make the developing of enterprise mobile apps with data visualization both easy and cost effective.

This video demos how to develop high performance mobile apps that connect with major back-end systems and web services.


Mobile Application Development can be very interesting, fun and lucrative experience. Please keep sharing your experience through your comments.

Anyone who can build an Flex content can now build mobile applications for growing number of devices and platforms.

For more details one should vidist the Mobile and tablet Development page in Adobe Development Connection (http://www.adobe.com/devnet/devices.html).

Related Links

Which is better React Native or Native iOS and Android Development for building Mobile applications ?

  React Native vs Native (iOS, Android)   Properties/Feature React Native   Native (iOS) – Swift / Object...

Labels