SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
SKITSANOS.COM




                         AJAX vs. FLEX
                       raw technology comparison
                                    Evgenios Skitsanos




                                                         2007




                HTTP://WWW.SKITSANOS.COM/
AJAX Pros and Cons

                AJAX                                                   FLEX
Advantages      Pre-built frameworks can be leveraged, familiar to     The Flash Platform provides a true application platform
                those who know HTML, JavaScript, etc. no need for      as a virtual machine that’s browser / platform
                additional software past an up-to-date browser,        independent, including a JIT compiler and strong typing.
                open standard.
                                                                       The very intention for the Flash Player was to provide a
                                                                       container to perform operations like rendering complex
                                                                       animations and filter thousands of data sets at the same
                                                                       time, thus providing a desktop-like experience with
                                                                       comparable performance on the internet.

                                                                       Very capable IDE, Images are part of a flash movie
                                                                       and can't be downloaded directly, supported by
                                                                       Adobe, XML based language, ability to leverage flash
                                                                       components into the application, great speed increase
                                                                       over previous versions of flash (if that was even
                                                                       possible).

                                                                       Moreover the code only needs to be written once
                                                                       instead of several times for each browser as is the case
                                                                       with JavaScript/AJAX.

                                                                       Flex Builder has design mode for those non-
                                                                       programmers interested in building Flex apps
Disadvantages   No IDE, no browser standards (slight alterations per   Needs the flash player, Need to learn and XML-based
                browser), hard to build components outside of          language and possibly ActionScript to build real
                frameworks (in general), images and other data         applications.
                open and available.
                                                                       Rare issue, but Flash 9 could be disabled or not
                JavaScript support might be disabled on end-user       installed {There are some solutions for software           2
                browser because of the security reasons.               deployment, like MS SMS.}



                                                                                    Skitsanos.com | http://www.skitsanos.com/
Ajax / DHTML applications are subject to each
                     browser’s implementation of the DOM and often
                     require developers to provide workarounds for each
                     variation thereof; this inherently creates additional,
                     unnecessary code and ultimately adds to the
                     development timeline. Large Ajax applications with
                     rich user experience = large development effort.

                     AJAX applications leverage the browser as the
                     application platform something it was never
                     intended to be used for. The browser is nothing more
                     than a text-based rendering engine, and was never
                     conceived as a container for client-side applications.


Development Models   AJAX is the mesh of several, common client-side             The Flex workflow and programming model follow a
                     technologies, overcoming the browser compatibility          more traditional approach familiar to application
                     issues often requires expert knowledge of each              developers. Flex applications are implemented using a
                     browsers interpretation of the DOM, and usually             combination of declarative tags (MXML) for the user
                     leads to hack-like workarounds. Even if you’re using        interface / presentation and a scripting language
                     an Ajax / DHTML toolkit, you’re still subject to the        (ActionScript) for complex business / application logic.
                     pains of cross browser issues.
                                                                                     ·   MXML is an XML based, declarative language
                     Ajax often entangles both HTML and JavaScript to                    that’s similar to HTML and is used for layout.
                     create rich user interfaces where the end result is a           ·   ActionScript is a strongly typed, classed based
                     tightly coupled client application that’s often difficult           OO language analogous to Java, but with the
                     to maintain and extend.                                             flexibility of a scripting language.

                                                                                 While the MXML and AS aren’t native to most
                                                                                 traditional app developers, the development paradigm
                                                                                 is a similar model to that of JSP and Java development,
                                                                                 making it an easy transition for seasoned developers.

                                                                                 Flex Builder offers a professional IDE based on Eclipse,
                                                                                 with the usual myriad of tools an application developer
                                                                                 expects.                                                   3

                                                                                     ·   Debugging is built on top of the Eclipse

                                                                                              Skitsanos.com | http://www.skitsanos.com/
Debugging Framework and provides common
                                                                               tools like setting breakpoints and watching
                                                                               variables
Cost            Some of them free, but AJAX frameworks that more       Free
                or less can be considered as compete ones with Flex
                are quite expensive, the cheapest one is Backbase      Flex 2 includes a number of free features, such as the
                with price starts from $6,000 per CPU.                 Flex SDK (software development kit). The real changes,
                                                                       though, are in pricing, where Adobe is looking to
                                                                       reduce the cost of simple Flex deployments.

                                                                       With Flex 2, Adobe is permitting free single CPU
                                                                       deployments of Flex applications using the Flex Data
                                                                       Services 2 Express or XML and Web Services.
                                                                       Previously, Flex users paid $15,000 per CPU to get
                                                                       started with the Flex SDK, which was part of the Flex
                                                                       Presentation Server.
Bandwidth       Sometimes requires transmitting application bits and   Less bandwidth for data, since it passing just data, with
                pieces as well with actual data.                       no need to pass application bits and pieces
Performance     Slow, bad code can affect performance of whole         Flash is much faster than JavaScript and Flash will
                application and even freeze browser.                   improve in the future as the flash player gets faster.
                                                                       JavaScript however will not increase in speed much in
                                                                       the future as it is an interpreted language.

                                                                       The performance implications of running a complex
                                                                       Ajax application are subject to the browser’s ability to
                                                                       interpret JavaScript and determine the type at runtime
                                                                       is it a string, a number, an object? Whereas ActionScript
                                                                       3 (AS3) eliminates type look-up because its strongly
                                                                       typed and compiled into bytecode rendered by the
                                                                       Flash Player VM this facilitates better responsiveness in
                                                                       your application.
Expandability   Hard to create custom components. Third-party          Easy to create own custom components and re-use them
                components might not work with existed ones,           within application.
                browse incompatibility issues.
                                                                       The Flex Framework provides a rich, robust, and
                                                                       extensible set of UI components that facilitate rapid UI    4
                                                                       development with MXML, the declarative presentation
                                                                       layer. Furthermore, MXML is simply an abstraction to

                                                                                    Skitsanos.com | http://www.skitsanos.com/
ActionScript (MXML is compiled to it’s complimentary AS
                                                                        objects under the covers — it’s analogous to what JSTL
                                                                        is for Java), enabling developers to create complex,
                                                                        custom components with a blend of MXML and AS.
Data           Ajax support XML. With Ajax, and XML in Flex, you        Flex supports XML (http or web services), AMF (a lot
               are creating and parsing xml on the client and           smaller and faster), RTMP (push), data services, native
               server. In general xml parsing is slow, you'll never     data type support, Value Objects.
               notice it will small records. But a grid with a couple
               of hundred or more records and you will notice it.       FDS (Flex Data Services) provides the ability to perform
               This is when AMF shines.                                 data push from the server in the form of pub / sub
                                                                        messaging; there’s a Java adapter that allows Flex
               AJAX typically requires some type of data                clients to subscribe to JMS topics and additional
               transformation in the middle layer and client side,      adapters can be written to subscribe to legacy / other
               adding an unnecessary performance overhead on            messaging systems. In addition, FDS provides data
               both sides of the wire, eg:                              synchronization, an API that abstracts the action of
                   · Client makes an asynchronous HTTP request          capturing all the data deltas on the client and persisting
                       for data                                         them to the server, thus enabling developers to focus
                   · Request is mapped to a servlet / JSP that          more on the application and business logic. FDS allows
                       uses JDBC to query your database                 provides data paging for large data sets and handles
                   · Data is transformed into an XML doc (or            temporary disconnects transparently to the developer.
                       JSON) and sent as an HTTP response
                   · Client receives the XML and must parse it
                       into useable data

               Flex can make calls directly to the back-end by
               invoking methods on Java objects, like POJOs or
               EJBs. These objects are transparently serialized and
               deserialized by the FDS application, mapping your
               client-side ActionScript objects to your back-end
               Java VOs, DTOs, or whatever other pattern(s) your
               architecture enlists; the developer is just left to
               expose the java objects to the flex client via a
               couple thin lines of xml in remoting-config.xml.

XML            Supports                                                 Supports                                                     5
Data pushing   Not supports. AJAX is browser based, and therefore       Supports
               limited by the “request/response” paradigm.


                                                                                     Skitsanos.com | http://www.skitsanos.com/
Somewhat functionality could be achieved with
                          Adobe Spry Framework for example, that does let
                          you hook up an XML feed to your front end and
                          automatically refresh it at a certain interval.
Streaming                 Not Supported                                     Supports
Access to media devices   Not Supported                                     Supports




                                                                                                                                   6




                                                                                       Skitsanos.com | http://www.skitsanos.com/

Weitere Àhnliche Inhalte

Was ist angesagt?

Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Ivano Malavolta
 
Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!
Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!
Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!Develcz
 
Software environment
Software environmentSoftware environment
Software environmentKinnudj Amee
 
Creativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio MilanoCreativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio Milanoroberto.design
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Jonas Bandi
 
TRWResume-10-2016
TRWResume-10-2016TRWResume-10-2016
TRWResume-10-2016Tommy Williams
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
Ember.js - Jak zatopit a neshoƙet!
Ember.js - Jak zatopit a neshoƙet!Ember.js - Jak zatopit a neshoƙet!
Ember.js - Jak zatopit a neshoƙet!Viliam Elischer
 
Windows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heavenWindows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heavenNoam Sheffer
 
Silverlight abhinav - slideshare
Silverlight   abhinav - slideshareSilverlight   abhinav - slideshare
Silverlight abhinav - slideshareabhinav4133
 
Web programming by kiran and team
Web programming by kiran and teamWeb programming by kiran and team
Web programming by kiran and teamHemanth Kumar N
 
Java interview question
Java interview questionJava interview question
Java interview questionsimplidigital
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutionsAndrea Tino
 
2013 04-02-server-side-backbone
2013 04-02-server-side-backbone2013 04-02-server-side-backbone
2013 04-02-server-side-backboneSC5.io
 
An Overview Of Wpf
An Overview Of WpfAn Overview Of Wpf
An Overview Of WpfClint Edmonson
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItVenketash (Pat) Ramadass
 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".SudhanshuVijay3
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver lightjayc8586
 

Was ist angesagt? (20)

Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!
Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!
Viliam Elischer - Ember.js - Jak zatopit a neshoƙet!
 
Software environment
Software environmentSoftware environment
Software environment
 
Creativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio MilanoCreativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio Milano
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 
TRWResume-10-2016
TRWResume-10-2016TRWResume-10-2016
TRWResume-10-2016
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Ember.js - Jak zatopit a neshoƙet!
Ember.js - Jak zatopit a neshoƙet!Ember.js - Jak zatopit a neshoƙet!
Ember.js - Jak zatopit a neshoƙet!
 
Windows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heavenWindows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heaven
 
Silverlight abhinav - slideshare
Silverlight   abhinav - slideshareSilverlight   abhinav - slideshare
Silverlight abhinav - slideshare
 
Web programming by kiran and team
Web programming by kiran and teamWeb programming by kiran and team
Web programming by kiran and team
 
Java interview question
Java interview questionJava interview question
Java interview question
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
 
2013 04-02-server-side-backbone
2013 04-02-server-side-backbone2013 04-02-server-side-backbone
2013 04-02-server-side-backbone
 
An Overview Of Wpf
An Overview Of WpfAn Overview Of Wpf
An Overview Of Wpf
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use It
 
Javascript handbook
Javascript handbook Javascript handbook
Javascript handbook
 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver light
 

Ähnlich wie AJAX vs. Flex, 2007

Introduction to Flex
Introduction to FlexIntroduction to Flex
Introduction to Flexnamero999
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupMurat Yener
 
Flex and Java
Flex and JavaFlex and Java
Flex and Javagueste65db38
 
Introduction to Adobe Flex
Introduction to Adobe FlexIntroduction to Adobe Flex
Introduction to Adobe FlexAngelin R
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Trainingguest25cec3
 
API
APIAPI
APIbashag2
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Riaravinxg
 
Flex RIA
Flex RIAFlex RIA
Flex RIArssharma
 
9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To Choose9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To ChooseAlbiorix Technology
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: OverviewTarun Telang
 
Evaluation Ria Frameworks
Evaluation Ria FrameworksEvaluation Ria Frameworks
Evaluation Ria FrameworksRishi Singh
 
Adobe¼ Flexℱ
Adobe¼ FlexℱAdobe¼ Flexℱ
Adobe¼ FlexℱUday Shankar
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?Antonio Correia
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web AppsAthhar Ahamed
 
Online furniture management system
Online furniture management systemOnline furniture management system
Online furniture management systemYesu Raj
 
Intro to Microsoft.NET
Intro to Microsoft.NET Intro to Microsoft.NET
Intro to Microsoft.NET rchakra
 
PHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
PHP vs .NET vs JAVA : The Right Tech for Your Next Big ProjectPHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
PHP vs .NET vs JAVA : The Right Tech for Your Next Big ProjectRosalie Lauren
 

Ähnlich wie AJAX vs. Flex, 2007 (20)

Introduction to Flex
Introduction to FlexIntroduction to Flex
Introduction to Flex
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
Flex and Java
Flex and JavaFlex and Java
Flex and Java
 
Introduction to Adobe Flex
Introduction to Adobe FlexIntroduction to Adobe Flex
Introduction to Adobe Flex
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Training
 
API
APIAPI
API
 
API
APIAPI
API
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
 
Flex RIA
Flex RIAFlex RIA
Flex RIA
 
9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To Choose9 Best JavaScript Frameworks To Choose
9 Best JavaScript Frameworks To Choose
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
 
Evaluation Ria Frameworks
Evaluation Ria FrameworksEvaluation Ria Frameworks
Evaluation Ria Frameworks
 
Adobe¼ Flexℱ
Adobe¼ FlexℱAdobe¼ Flexℱ
Adobe¼ Flexℱ
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Silverlight
SilverlightSilverlight
Silverlight
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
Online furniture management system
Online furniture management systemOnline furniture management system
Online furniture management system
 
Intro to Microsoft.NET
Intro to Microsoft.NET Intro to Microsoft.NET
Intro to Microsoft.NET
 
PHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
PHP vs .NET vs JAVA : The Right Tech for Your Next Big ProjectPHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
PHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
 

Mehr von Evgenios Skitsanos

Weaviate and Pinecone Comparison.pdf
Weaviate and Pinecone Comparison.pdfWeaviate and Pinecone Comparison.pdf
Weaviate and Pinecone Comparison.pdfEvgenios Skitsanos
 
Skitsanos Design brochure
Skitsanos Design brochure Skitsanos Design brochure
Skitsanos Design brochure Evgenios Skitsanos
 
Exercise: Building Node-webkit apps
Exercise: Building Node-webkit appsExercise: Building Node-webkit apps
Exercise: Building Node-webkit appsEvgenios Skitsanos
 
Blue pannels cheat sheet
Blue pannels cheat sheetBlue pannels cheat sheet
Blue pannels cheat sheetEvgenios Skitsanos
 
Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Evgenios Skitsanos
 
Data exchange between flex and java script, 2007
Data exchange between flex and java script, 2007Data exchange between flex and java script, 2007
Data exchange between flex and java script, 2007Evgenios Skitsanos
 
RIA Data and Security, 2007
RIA Data and Security, 2007RIA Data and Security, 2007
RIA Data and Security, 2007Evgenios Skitsanos
 
Accessibility guidelines for flex, 2007
Accessibility guidelines for flex, 2007Accessibility guidelines for flex, 2007
Accessibility guidelines for flex, 2007Evgenios Skitsanos
 

Mehr von Evgenios Skitsanos (11)

Weaviate and Pinecone Comparison.pdf
Weaviate and Pinecone Comparison.pdfWeaviate and Pinecone Comparison.pdf
Weaviate and Pinecone Comparison.pdf
 
LoggerDaisy RipeSENSE
LoggerDaisy RipeSENSELoggerDaisy RipeSENSE
LoggerDaisy RipeSENSE
 
Skitsanos Design brochure
Skitsanos Design brochure Skitsanos Design brochure
Skitsanos Design brochure
 
Exercise: Building Node-webkit apps
Exercise: Building Node-webkit appsExercise: Building Node-webkit apps
Exercise: Building Node-webkit apps
 
LoggerDaisy mobile app
LoggerDaisy mobile appLoggerDaisy mobile app
LoggerDaisy mobile app
 
Blue pannels cheat sheet
Blue pannels cheat sheetBlue pannels cheat sheet
Blue pannels cheat sheet
 
Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.
 
Implementing XBRL, 2005
Implementing XBRL, 2005Implementing XBRL, 2005
Implementing XBRL, 2005
 
Data exchange between flex and java script, 2007
Data exchange between flex and java script, 2007Data exchange between flex and java script, 2007
Data exchange between flex and java script, 2007
 
RIA Data and Security, 2007
RIA Data and Security, 2007RIA Data and Security, 2007
RIA Data and Security, 2007
 
Accessibility guidelines for flex, 2007
Accessibility guidelines for flex, 2007Accessibility guidelines for flex, 2007
Accessibility guidelines for flex, 2007
 

KĂŒrzlich hochgeladen

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

KĂŒrzlich hochgeladen (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

AJAX vs. Flex, 2007

  • 1. SKITSANOS.COM AJAX vs. FLEX raw technology comparison Evgenios Skitsanos 2007 HTTP://WWW.SKITSANOS.COM/
  • 2. AJAX Pros and Cons AJAX FLEX Advantages Pre-built frameworks can be leveraged, familiar to The Flash Platform provides a true application platform those who know HTML, JavaScript, etc. no need for as a virtual machine that’s browser / platform additional software past an up-to-date browser, independent, including a JIT compiler and strong typing. open standard. The very intention for the Flash Player was to provide a container to perform operations like rendering complex animations and filter thousands of data sets at the same time, thus providing a desktop-like experience with comparable performance on the internet. Very capable IDE, Images are part of a flash movie and can't be downloaded directly, supported by Adobe, XML based language, ability to leverage flash components into the application, great speed increase over previous versions of flash (if that was even possible). Moreover the code only needs to be written once instead of several times for each browser as is the case with JavaScript/AJAX. Flex Builder has design mode for those non- programmers interested in building Flex apps Disadvantages No IDE, no browser standards (slight alterations per Needs the flash player, Need to learn and XML-based browser), hard to build components outside of language and possibly ActionScript to build real frameworks (in general), images and other data applications. open and available. Rare issue, but Flash 9 could be disabled or not JavaScript support might be disabled on end-user installed {There are some solutions for software 2 browser because of the security reasons. deployment, like MS SMS.} Skitsanos.com | http://www.skitsanos.com/
  • 3. Ajax / DHTML applications are subject to each browser’s implementation of the DOM and often require developers to provide workarounds for each variation thereof; this inherently creates additional, unnecessary code and ultimately adds to the development timeline. Large Ajax applications with rich user experience = large development effort. AJAX applications leverage the browser as the application platform something it was never intended to be used for. The browser is nothing more than a text-based rendering engine, and was never conceived as a container for client-side applications. Development Models AJAX is the mesh of several, common client-side The Flex workflow and programming model follow a technologies, overcoming the browser compatibility more traditional approach familiar to application issues often requires expert knowledge of each developers. Flex applications are implemented using a browsers interpretation of the DOM, and usually combination of declarative tags (MXML) for the user leads to hack-like workarounds. Even if you’re using interface / presentation and a scripting language an Ajax / DHTML toolkit, you’re still subject to the (ActionScript) for complex business / application logic. pains of cross browser issues. · MXML is an XML based, declarative language Ajax often entangles both HTML and JavaScript to that’s similar to HTML and is used for layout. create rich user interfaces where the end result is a · ActionScript is a strongly typed, classed based tightly coupled client application that’s often difficult OO language analogous to Java, but with the to maintain and extend. flexibility of a scripting language. While the MXML and AS aren’t native to most traditional app developers, the development paradigm is a similar model to that of JSP and Java development, making it an easy transition for seasoned developers. Flex Builder offers a professional IDE based on Eclipse, with the usual myriad of tools an application developer expects. 3 · Debugging is built on top of the Eclipse Skitsanos.com | http://www.skitsanos.com/
  • 4. Debugging Framework and provides common tools like setting breakpoints and watching variables Cost Some of them free, but AJAX frameworks that more Free or less can be considered as compete ones with Flex are quite expensive, the cheapest one is Backbase Flex 2 includes a number of free features, such as the with price starts from $6,000 per CPU. Flex SDK (software development kit). The real changes, though, are in pricing, where Adobe is looking to reduce the cost of simple Flex deployments. With Flex 2, Adobe is permitting free single CPU deployments of Flex applications using the Flex Data Services 2 Express or XML and Web Services. Previously, Flex users paid $15,000 per CPU to get started with the Flex SDK, which was part of the Flex Presentation Server. Bandwidth Sometimes requires transmitting application bits and Less bandwidth for data, since it passing just data, with pieces as well with actual data. no need to pass application bits and pieces Performance Slow, bad code can affect performance of whole Flash is much faster than JavaScript and Flash will application and even freeze browser. improve in the future as the flash player gets faster. JavaScript however will not increase in speed much in the future as it is an interpreted language. The performance implications of running a complex Ajax application are subject to the browser’s ability to interpret JavaScript and determine the type at runtime is it a string, a number, an object? Whereas ActionScript 3 (AS3) eliminates type look-up because its strongly typed and compiled into bytecode rendered by the Flash Player VM this facilitates better responsiveness in your application. Expandability Hard to create custom components. Third-party Easy to create own custom components and re-use them components might not work with existed ones, within application. browse incompatibility issues. The Flex Framework provides a rich, robust, and extensible set of UI components that facilitate rapid UI 4 development with MXML, the declarative presentation layer. Furthermore, MXML is simply an abstraction to Skitsanos.com | http://www.skitsanos.com/
  • 5. ActionScript (MXML is compiled to it’s complimentary AS objects under the covers — it’s analogous to what JSTL is for Java), enabling developers to create complex, custom components with a blend of MXML and AS. Data Ajax support XML. With Ajax, and XML in Flex, you Flex supports XML (http or web services), AMF (a lot are creating and parsing xml on the client and smaller and faster), RTMP (push), data services, native server. In general xml parsing is slow, you'll never data type support, Value Objects. notice it will small records. But a grid with a couple of hundred or more records and you will notice it. FDS (Flex Data Services) provides the ability to perform This is when AMF shines. data push from the server in the form of pub / sub messaging; there’s a Java adapter that allows Flex AJAX typically requires some type of data clients to subscribe to JMS topics and additional transformation in the middle layer and client side, adapters can be written to subscribe to legacy / other adding an unnecessary performance overhead on messaging systems. In addition, FDS provides data both sides of the wire, eg: synchronization, an API that abstracts the action of · Client makes an asynchronous HTTP request capturing all the data deltas on the client and persisting for data them to the server, thus enabling developers to focus · Request is mapped to a servlet / JSP that more on the application and business logic. FDS allows uses JDBC to query your database provides data paging for large data sets and handles · Data is transformed into an XML doc (or temporary disconnects transparently to the developer. JSON) and sent as an HTTP response · Client receives the XML and must parse it into useable data Flex can make calls directly to the back-end by invoking methods on Java objects, like POJOs or EJBs. These objects are transparently serialized and deserialized by the FDS application, mapping your client-side ActionScript objects to your back-end Java VOs, DTOs, or whatever other pattern(s) your architecture enlists; the developer is just left to expose the java objects to the flex client via a couple thin lines of xml in remoting-config.xml. XML Supports Supports 5 Data pushing Not supports. AJAX is browser based, and therefore Supports limited by the “request/response” paradigm. Skitsanos.com | http://www.skitsanos.com/
  • 6. Somewhat functionality could be achieved with Adobe Spry Framework for example, that does let you hook up an XML feed to your front end and automatically refresh it at a certain interval. Streaming Not Supported Supports Access to media devices Not Supported Supports 6 Skitsanos.com | http://www.skitsanos.com/