SlideShare a Scribd company logo
Apache Flex ...
… and the imperfect Web
          Presented by
         Sebastian Mohr

       July 5th 2012, Berlin
About me
●
     HTML / Javascript Developer (2000 - 2006)
●
     Flex Developer since Summer 2006
●
     Mate, Robotlegs, Parsley, Spring AS, Swiz
●
     Study of Cognitive Science, Osnabrueck
●
     W3C Fan, Semantic Web, Open Web
     Technologies
●
     Apache Flex PPMC since November 2011
    Homepage: http://www.masuland.com/
    Twitter: http://twitter.com/masuland
    LinkedIn: http://www.linkedin.com/in/masuland
The imperfect Web
Gary Oldman explains why “Graffiti“ - or the “imperfect Web“
respectively - is great for the world ...




              Watch video: http://www.youtube.com/watch?v=Tt1W0F0yObg
The imperfect Web is:
●   Webbrowsers: Firefox, Chrome, Safari, Opera
●   Markups: XHTML, SVG, SMIL, MXML (Flex), XAML
    (Silverlight), FXML (JavaFX), WebGL, X3D, XForm, XPath,
    XML, XSLT, XQuery, RDF, OWL, ...
●   Script-Engines: ECMAScript, Javascript, Actionscript,
    JScript
●   Ajax & JS-Libs: JQuery, ExtJS, Dojo, Prototype, MochiKit,
    PhoneGap, Rhomobile, Sencha, ...
●   Devices: Desktop, Mobile, TV
●   Mobile OS: iOS, Android, Windows Mobile

Recommended for you

Behavior Driven Development with Drupal
Behavior Driven Development with DrupalBehavior Driven Development with Drupal
Behavior Driven Development with Drupal

This document summarizes a presentation about Behaviour Driven Development (BDD) given by Alexandru Badiu. It begins by explaining some of the shortcomings of test-driven development (TDD), such as not being able to test full functionality and refactoring dependency on early tests. It then describes the key features of BDD, including using a common language that all stakeholders can understand, producing tests, documentation, and specifications, and supporting tools like Gherkin and Cucumber. The document provides examples of how BDD is implemented in PHP using Behat and in Drupal using the Behat Drupal Extension. It concludes by inviting the audience to discuss employment opportunities.

drupalsoftware testingbdd
Front-End 개발의 괜찮은 선택 ES6 & React
Front-End 개발의 괜찮은 선택  ES6 & ReactFront-End 개발의 괜찮은 선택  ES6 & React
Front-End 개발의 괜찮은 선택 ES6 & React

The document discusses the history and challenges of front-end development. It notes that initially there were many different front-end tools that made selection difficult. Frameworks became popular but could be incompatible and difficult to decouple. It suggests that ES6 and React provide a good foundation for building front-ends, as React code can be written in ES6 and they avoid issues of other frameworks.

es6reactfront-end
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo

JavaScript is a bigger world than a language these days. Time to take stock and find happiness in that world.

ndcoslondcoslo2018javascript
Web History (2005 - 2011)




Read article:
http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
The Web Today
                          HTML /                   Flashplayer            Silverlight 5      Java
                          Javascript               11                                        (Applets)

 Runtime                  Dependent on             GPU support            GPU support,       GPU support,
 Features                 Web Browser                                     Multithreading     Multithreading

 Markup                   XHTML 1.1,               FXG 2.0, MXML          XAML               FXML
 Language                 HTML5, SVG

 Scripting                Javascript               Actionscript           JScript            Java, JRuby,
 Language                                                                                    Groovy

 Interaction              Adobe Muse,              Adobe Flash            Microsoft          JavaFX Scene
 Design Tools             Adobe Edge,              Catalyst, Adobe        Expression         Builder
                          Adobe Proto              Flash Pro              Blend
 Developer                Eclipse, Adobe           Adobe Flash            Microsoft Visual   Eclipse
 Tools                    Dreamweaver              Pro, Adobe             Studio
                                                   Flash Builder

Read article: http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
Thank you Tim for ...
+++ HTTP
+++ www.domain.com
                                                                 http://www.emca-international.org

--- HTML




http://www.w3c.org

                     Tim Berners-Lee, http://en.wikipedia.org/wiki/Tim_Berners-Lee
Flash Everywhere?
         ●   Adobe AIR 4+ for Mobile
         ●   Flashplayer 12+ with
             Multithreading and better GPU-
             support
         ●   Flashplayer 12+ great for Flash-
             Games and Apache Flex



         ●   Adobe Open Screen Project?
         ●   Faster Mobile-CPUs each year →
             Flashplayer 12+ for Mobile again?
         ●   Flash-2-HTML Converter?

Recommended for you

Web Technologies
Web TechnologiesWeb Technologies
Web Technologies

This document discusses HTML5 and web technologies. It provides an agenda and overview of key topics including what HTML5 is, how it evolves HTML incrementally, and new APIs like drag and drop, forms, canvas, and web sockets. It also discusses cross-browser support, uses of technologies like CSS3, SVG and WebGL across devices, and references for further information.

browsershtml5firefox4
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web

This document discusses ways to improve how web developers learn best practices through browser and tooling improvements. It suggests that linting and inline insights directly in code editors could help prevent mistakes by flagging issues early. A tool called webhint is highlighted that provides one-stop checking and explanations of hints related to performance, accessibility, security and more. The document advocates for customizing hints based on a project's specific needs and environment. Overall, it argues for accelerated learning through context-sensitive, customizable best practices integrated into development workflows.

testingbrowserswebdevelopment
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...

Microservices, cloud, continuous delivery heavily influenced how modern teams build software systems. Come to this talk to learn how our team rebuild frontend stack of several newspapers significantly reducing cycle time and creating fun work environment that lets great developers be great. Some of the things I’ll share: - how respecting the Web makes us faster - what we learned running 12factor apps on Heroku - nuances of Continuous Delivery that you won’t find in books - thinking process behind our decisions and some of the change patterns we used Video: http://www.schibsted.pl/2015/07/enterprise-makeover-part-16-creating-lean-enterprise/ http://www.schibsted.pl/2015/07/enterprise-makeover-part-26-use-the-web-dont-abuse-it/ http://www.schibsted.pl/2015/07/enterprise-makeover-part-36-rethinking-agile-practices/ http://www.schibsted.pl/2015/07/enterprise-makeover-part-46-cloud-native-development-on-heroku/ http://www.schibsted.pl/2015/07/enterprise-makeover-part-56-continuous-delivery-orchestration/ http://www.schibsted.pl/2015/07/enterprise-makeover-66-organizational-change-summary/

12factorprogressive enhancementrest
What should we occupy?

                                        Occupy Wallstreet
                                               http://www.occupywallst.org




                             Occupy Flash & Occupy HTML 5
                               http://www.occupyflash.org            http://www.occupyhtml.org




                              Occupy W3C & Occupy ECMA Int.
                                   Not occupied yet:                          Not occupied yet:
                                  http://www.w3c.org                  http://www.emca-international.org

Read article:
http://masuland.wordpress.com/2011/11/28/where-could-flash-coding-be-in-the-year-2050/
Where is Apache Flex in 2050?
●
    Apache Flex might not be necessary if:
     ●
          Single Webbrowser / Webengine (Webkit?)
     ●
          RIA-HTML (Audio, Video, 3D, Text) (HTML 6?)
     ●
          Binary HTML (like SWF?)
     ●
          Semantic Web interface included into HTML
     ●
          Stronger Javascript / ECMAScript - Engine
            –   Typed Objects
            –   Packages / OOP

Read article: http://masuland.wordpress.com/2011/11/28/where-could-flash-coding-be-in-the-year-2050/
Spoon Foundation Ecosystem




See presentation by Justin Mclean:
https://docs.google.com/presentation/pub?id=1SsVcr2SLkBJMXk1N6U3-HpxloSUUa4pBX-2f4GrRL5M#slide=id.p57
Personal Survey (1)
  Which Model-View-Controller (MVC) Microarchitectures
  have you used in your Flex projects?




See personal survey: http://code.google.com/p/masuland/wiki/Statistics

Recommended for you

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019

We are obsessed with coding and creating automated workflows and optimisations. And yet our final products aren't making it easy for people to use them. Somewhere, we lost empathy for our end users and other developers. Maybe it is time to change that. Here are some ideas.

javascriptdevelopmentlearning
JS Module Server
JS Module ServerJS Module Server
JS Module Server

Why packaging javascript as a static asset leads nowhere on the long run? Possible solution is rethinking the way the javascript is served

modulesamdjavascript
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0

The buzz about the upcoming major reincarnation of AngularJS, with its hot mix of excitement and critics, has somehow shadowed the immediate gains enabled by the recent 1.3 and 1.4 releases. This code-based talk will introduce concepts such as the "Controller As" syntax, component-based directives, the new router and bind once, to demonstrate how mixing these currently available Angular features with good design patterns (and a bit of ES6) provides concrete improvements in performance, modularity, testability and developer productivity to our apps now. Furthermore, it will show how the main ideas at the basis of Angular 2.0 (API simplification, consistency, even more componentization and interoperability with ES6 and Web Components) can be applied to the design and implementation of 1.x applications, helping us both being more productive now & simplifying the upgrade to the "new" Angular.

javascripttypescriptangularjs
Personal Survey (2)
How many MXML files do you have in your latest Flex
projects?




See personal survey: http://code.google.com/p/masuland/wiki/Statistics
Goals for Apache Flex
●   Strengthening large-scale Flex applications
●   Highly productive and fast development environment
●   Flex code should be easily mergeable across different flex projects worldwide
●   Flex code should be based on coding standards
●   Flex code should be sustainable and easily maintainable
●   There should be more highly skilled Flex Developers around
●   Developer tools should be easy to be used and should help the
    designer/developer to be more productive
●   The Flashplayer - "Actionscript Virtual Machine" (AVM) respectively - should
    be as powerful as the "Java Virtual Machine" (JVM)
●   The Adobe Flash Catalyst should be as powerful as Microsoft Expression
    Blend

    Read article: http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
Masuland „Login Example“ for Web,
                           Desktop and Mobile




See code examples:
http://code.google.com/p/masuland/wiki/LoginExample
Is coding „fun“?
           At the beginning … probably true!
●   Coding is work
●   Goal-Driven Development … work, work, work, work, work, work -> HAPPY
●   Social-Driven Development – mental hygiene & social hygiene
●   An architecture often proves its quality at the end of the project
●   Desirable: Less frustrations and high success/motivation while working on
    bugs and features of your app
●   The more features in your app, the more dependencies you have to deal with
●   Testability of your code
●   Optimal development environment and configuration
●   Anarchy vs. coding conventions / design patterns
●   Artistic freedom of your software engineers

Recommended for you

Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!

This document discusses the challenges of large monolithic frontend applications and proposes microfrontends as an architectural approach to address these challenges. It describes different patterns for implementing microfrontends, including mini single-page applications (SPAs) separated by links, a single SPA with multiple independently developed components, and using web components for tighter integration. Key challenges discussed are performance, shared dependencies, and inter-component communication. Examples and demos of single-spa and Angular elements are also referenced.

programming
Do Try This At Home
Do Try This At HomeDo Try This At Home
Do Try This At Home

Presented by Brian Dillard (Pathfinder Development). This Web 2.0 Expo 2008 (San Francisco) session examines the ways in which standards bodies, browser vendors and library/plug-in authors are shaping the future of our foundational web technologies - and how individual developers can participate in that process. Brian's Blog: http://blogs.pathf.com/agileajax Brian's Company: http://www.pathf.com

expo2.0web
Firefox Developer Tools
Firefox Developer ToolsFirefox Developer Tools
Firefox Developer Tools

This document provides an agenda for Developer Tools slides presented by Tomoya Asai at a Mozilla Workshop in Tokyo on October 6th, 2011. The agenda includes introductions to the Web Console, Inspector (Highlighter), Style Editor, CSS Doctor, Scratchpad, GCLI (Graphical CLI), and Source Map developer tools. Links are provided for further information and video demonstrations of some of the tools. The presentation aims to demonstrate various developer tools and allow time for questions.

developerwebdevfirefox
Apache Flex Layers




Read article: http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
Architectural Pattern /
    Nanoarchitectures




See Nanoarchitectures:
http://code.google.com/p/masuland/wiki/Nanoarchitecture
Application Development
                     Procedure
1. Application Code that shows the working application with
source code available
2. Specification Document which explains the purpose of the
application and collects all its requirements
3. Application Coding Standard which consists of a collection
of Architectural Patterns and underlying Coding Conventions in
the code
     3.1. Architectural Patterns just like "Model-View-
     Controller" (MVC), "Model-View-Presenter" (MVP),
     "Presentation Model" (PM) ... etc.
     3.2. Coding Conventions on the basis of Flex 3 or Flex 4

Read definition page: http://code.google.com/p/masuland/wiki/ApplicationDevelopmentProcedure
Read definition page:
http://code.google.com/p/masuland/wiki/ApplicationDevelopmentProcedure

Recommended for you

A Period of Transition
A Period of TransitionA Period of Transition
A Period of Transition

Talk held on a Smashing Magazine Meetup February, 27th 2012 in Frankfurt (Germany) about current problems with developers, designers and clients in front-end development

smashing-meetuphtml5css3
2013 04-02-server-side-backbone
2013 04-02-server-side-backbone2013 04-02-server-side-backbone
2013 04-02-server-side-backbone

This document discusses using a proxy server to render single page applications for search engines and legacy browsers. It introduces the concept of a server-side backbone that runs the same backbone application code on both the client and server. This allows rendering the initial HTML on the server to avoid problems with robots and speeds up loading for users. It also discusses some of the challenges in implementing this approach like emulating the DOM and browser APIs on the server. Overall it presents server-side rendering as a way to solve crawlability and legacy browser support problems for single page apps.

backbone.js node.js cheerio jquery
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project works

This document summarizes a presentation about how the large open source Firefox OS project works. It discusses fundamentals like version control using Mercurial and Git, issue tracking with Bugzilla, continuous integration using Travis and TBPL/Jenkins for daily builds. It also covers collaboration tools like Wikis, emails, and video conferencing used by the geographically distributed team. The presentation aims to provide insights for other projects on building an open source project at Mozilla's scale.

firefoxos
Thank you!
Questions?
References
●   Apache Flex Community Revue July 2012,
    http://www.spoon.as/2012/apache-revue-july-2012/
●   Apache Flex 4.8 Release Candidate,
    http://people.apache.org/~cframpton/ApacheFlexRC/current/
●   Apache Flex News, http://incubator.apache.org/flex/news.html
●   Apache Flex Wiki,
    https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+(incubating)+Wiki
●   Apache Flex Mailing Lists, http://incubator.apache.org/flex/mailing-lists.html
●   Apache Flex JIRA, https://issues.apache.org/jira/browse/FLEX
●   Apache Flex Blog, http://blogs.apache.org/flex/
●   Adobe Flex, http://sourceforge.net/adobe/flexsdk/wiki/About/
●   Adobe Flex Roadmap, http://www.adobe.com/devnet/flex/whitepapers/roadmap.html
●   Adobe Flashplayer Roadmap,
    http://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html
●   Masuland „Login Example“, http://code.google.com/p/masuland/wiki/LoginExample

More Related Content

What's hot

The story behind PF2014 - Cordova
The story behind PF2014 - CordovaThe story behind PF2014 - Cordova
The story behind PF2014 - Cordova
Juraj Michálek
 
HTML & Browsers
HTML & BrowsersHTML & Browsers
HTML & Browsers
dynamis
 
How browser accessibility can enhance safe driving (AGL Summit Nov 2020)
How browser accessibility can enhance safe driving (AGL Summit Nov 2020)How browser accessibility can enhance safe driving (AGL Summit Nov 2020)
How browser accessibility can enhance safe driving (AGL Summit Nov 2020)
Igalia
 
Behavior Driven Development with Drupal
Behavior Driven Development with DrupalBehavior Driven Development with Drupal
Behavior Driven Development with Drupal
Alexandru Badiu
 
Front-End 개발의 괜찮은 선택 ES6 & React
Front-End 개발의 괜찮은 선택  ES6 & ReactFront-End 개발의 괜찮은 선택  ES6 & React
Front-End 개발의 괜찮은 선택 ES6 & React
지수 윤
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
 
Web Technologies
Web TechnologiesWeb Technologies
Web Technologies
dynamis
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
Christian Heilmann
 
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Mateusz Kwasniewski
 
Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
 
JS Module Server
JS Module ServerJS Module Server
JS Module Server
Szabolcs Szabolcsi-Tóth
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Carlo Bonamico
 
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
 
Do Try This At Home
Do Try This At HomeDo Try This At Home
Do Try This At Home
bdillard
 
Firefox Developer Tools
Firefox Developer ToolsFirefox Developer Tools
Firefox Developer Tools
dynamis
 
A Period of Transition
A Period of TransitionA Period of Transition
A Period of Transition
Jens Grochtdreis
 
2013 04-02-server-side-backbone
2013 04-02-server-side-backbone2013 04-02-server-side-backbone
2013 04-02-server-side-backbone
SC5.io
 
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project works
Fred Lin
 
HTML5 and web platform
HTML5 and web platformHTML5 and web platform
HTML5 and web platform
dynamis
 
Flexbox
FlexboxFlexbox
Flexbox
LindsayRec
 

What's hot (20)

The story behind PF2014 - Cordova
The story behind PF2014 - CordovaThe story behind PF2014 - Cordova
The story behind PF2014 - Cordova
 
HTML & Browsers
HTML & BrowsersHTML & Browsers
HTML & Browsers
 
How browser accessibility can enhance safe driving (AGL Summit Nov 2020)
How browser accessibility can enhance safe driving (AGL Summit Nov 2020)How browser accessibility can enhance safe driving (AGL Summit Nov 2020)
How browser accessibility can enhance safe driving (AGL Summit Nov 2020)
 
Behavior Driven Development with Drupal
Behavior Driven Development with DrupalBehavior Driven Development with Drupal
Behavior Driven Development with Drupal
 
Front-End 개발의 괜찮은 선택 ES6 & React
Front-End 개발의 괜찮은 선택  ES6 & ReactFront-End 개발의 괜찮은 선택  ES6 & React
Front-End 개발의 괜찮은 선택 ES6 & React
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Web Technologies
Web TechnologiesWeb Technologies
Web Technologies
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...Enterprise makeover. Be a good web citizen, deliver continuously and change y...
Enterprise makeover. Be a good web citizen, deliver continuously and change y...
 
Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
JS Module Server
JS Module ServerJS Module Server
JS Module Server
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 
Do Try This At Home
Do Try This At HomeDo Try This At Home
Do Try This At Home
 
Firefox Developer Tools
Firefox Developer ToolsFirefox Developer Tools
Firefox Developer Tools
 
A Period of Transition
A Period of TransitionA Period of Transition
A Period of Transition
 
2013 04-02-server-side-backbone
2013 04-02-server-side-backbone2013 04-02-server-side-backbone
2013 04-02-server-side-backbone
 
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project works
 
HTML5 and web platform
HTML5 and web platformHTML5 and web platform
HTML5 and web platform
 
Flexbox
FlexboxFlexbox
Flexbox
 

Similar to Apache Flex and the imperfect Web

Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
Nathan Smith
 
Universal apps lightning talk
Universal apps lightning talk Universal apps lightning talk
Universal apps lightning talk
Elyse Kolker Gordon
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
Manuel Carrasco Moñino
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
NAILBITER
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
Tilak Joshi
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
Gilad Khen
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
elliando dias
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
FarHanWasif1
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 
Building Rich Applications with Appcelerator
Building Rich Applications with AppceleratorBuilding Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
Matt Raible
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
Christian Heindel
 
Seattle bestpractices2010
Seattle bestpractices2010Seattle bestpractices2010
Seattle bestpractices2010
Olaseni Odebiyi
 
Swf search final
Swf search finalSwf search final
Swf search final
Duane Nickull
 
HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)
Kevin Gill
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
Romin Irani
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
brucelawson
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
chitrachauhan21
 
Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile parts
Francesco Fullone
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
Alphageeks
 

Similar to Apache Flex and the imperfect Web (20)

Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Universal apps lightning talk
Universal apps lightning talk Universal apps lightning talk
Universal apps lightning talk
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
Building Rich Applications with Appcelerator
Building Rich Applications with AppceleratorBuilding Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
 
Seattle bestpractices2010
Seattle bestpractices2010Seattle bestpractices2010
Seattle bestpractices2010
 
Swf search final
Swf search finalSwf search final
Swf search final
 
HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile parts
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
 

Recently uploaded

BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 

Recently uploaded (20)

BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 

Apache Flex and the imperfect Web

  • 1. Apache Flex ... … and the imperfect Web Presented by Sebastian Mohr July 5th 2012, Berlin
  • 2. About me ● HTML / Javascript Developer (2000 - 2006) ● Flex Developer since Summer 2006 ● Mate, Robotlegs, Parsley, Spring AS, Swiz ● Study of Cognitive Science, Osnabrueck ● W3C Fan, Semantic Web, Open Web Technologies ● Apache Flex PPMC since November 2011 Homepage: http://www.masuland.com/ Twitter: http://twitter.com/masuland LinkedIn: http://www.linkedin.com/in/masuland
  • 3. The imperfect Web Gary Oldman explains why “Graffiti“ - or the “imperfect Web“ respectively - is great for the world ... Watch video: http://www.youtube.com/watch?v=Tt1W0F0yObg
  • 4. The imperfect Web is: ● Webbrowsers: Firefox, Chrome, Safari, Opera ● Markups: XHTML, SVG, SMIL, MXML (Flex), XAML (Silverlight), FXML (JavaFX), WebGL, X3D, XForm, XPath, XML, XSLT, XQuery, RDF, OWL, ... ● Script-Engines: ECMAScript, Javascript, Actionscript, JScript ● Ajax & JS-Libs: JQuery, ExtJS, Dojo, Prototype, MochiKit, PhoneGap, Rhomobile, Sencha, ... ● Devices: Desktop, Mobile, TV ● Mobile OS: iOS, Android, Windows Mobile
  • 5. Web History (2005 - 2011) Read article: http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
  • 6. The Web Today HTML / Flashplayer Silverlight 5 Java Javascript 11 (Applets) Runtime Dependent on GPU support GPU support, GPU support, Features Web Browser Multithreading Multithreading Markup XHTML 1.1, FXG 2.0, MXML XAML FXML Language HTML5, SVG Scripting Javascript Actionscript JScript Java, JRuby, Language Groovy Interaction Adobe Muse, Adobe Flash Microsoft JavaFX Scene Design Tools Adobe Edge, Catalyst, Adobe Expression Builder Adobe Proto Flash Pro Blend Developer Eclipse, Adobe Adobe Flash Microsoft Visual Eclipse Tools Dreamweaver Pro, Adobe Studio Flash Builder Read article: http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
  • 7. Thank you Tim for ... +++ HTTP +++ www.domain.com http://www.emca-international.org --- HTML http://www.w3c.org Tim Berners-Lee, http://en.wikipedia.org/wiki/Tim_Berners-Lee
  • 8. Flash Everywhere? ● Adobe AIR 4+ for Mobile ● Flashplayer 12+ with Multithreading and better GPU- support ● Flashplayer 12+ great for Flash- Games and Apache Flex ● Adobe Open Screen Project? ● Faster Mobile-CPUs each year → Flashplayer 12+ for Mobile again? ● Flash-2-HTML Converter?
  • 9. What should we occupy? Occupy Wallstreet http://www.occupywallst.org Occupy Flash & Occupy HTML 5 http://www.occupyflash.org http://www.occupyhtml.org Occupy W3C & Occupy ECMA Int. Not occupied yet: Not occupied yet: http://www.w3c.org http://www.emca-international.org Read article: http://masuland.wordpress.com/2011/11/28/where-could-flash-coding-be-in-the-year-2050/
  • 10. Where is Apache Flex in 2050? ● Apache Flex might not be necessary if: ● Single Webbrowser / Webengine (Webkit?) ● RIA-HTML (Audio, Video, 3D, Text) (HTML 6?) ● Binary HTML (like SWF?) ● Semantic Web interface included into HTML ● Stronger Javascript / ECMAScript - Engine – Typed Objects – Packages / OOP Read article: http://masuland.wordpress.com/2011/11/28/where-could-flash-coding-be-in-the-year-2050/
  • 11. Spoon Foundation Ecosystem See presentation by Justin Mclean: https://docs.google.com/presentation/pub?id=1SsVcr2SLkBJMXk1N6U3-HpxloSUUa4pBX-2f4GrRL5M#slide=id.p57
  • 12. Personal Survey (1) Which Model-View-Controller (MVC) Microarchitectures have you used in your Flex projects? See personal survey: http://code.google.com/p/masuland/wiki/Statistics
  • 13. Personal Survey (2) How many MXML files do you have in your latest Flex projects? See personal survey: http://code.google.com/p/masuland/wiki/Statistics
  • 14. Goals for Apache Flex ● Strengthening large-scale Flex applications ● Highly productive and fast development environment ● Flex code should be easily mergeable across different flex projects worldwide ● Flex code should be based on coding standards ● Flex code should be sustainable and easily maintainable ● There should be more highly skilled Flex Developers around ● Developer tools should be easy to be used and should help the designer/developer to be more productive ● The Flashplayer - "Actionscript Virtual Machine" (AVM) respectively - should be as powerful as the "Java Virtual Machine" (JVM) ● The Adobe Flash Catalyst should be as powerful as Microsoft Expression Blend Read article: http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
  • 15. Masuland „Login Example“ for Web, Desktop and Mobile See code examples: http://code.google.com/p/masuland/wiki/LoginExample
  • 16. Is coding „fun“? At the beginning … probably true! ● Coding is work ● Goal-Driven Development … work, work, work, work, work, work -> HAPPY ● Social-Driven Development – mental hygiene & social hygiene ● An architecture often proves its quality at the end of the project ● Desirable: Less frustrations and high success/motivation while working on bugs and features of your app ● The more features in your app, the more dependencies you have to deal with ● Testability of your code ● Optimal development environment and configuration ● Anarchy vs. coding conventions / design patterns ● Artistic freedom of your software engineers
  • 17. Apache Flex Layers Read article: http://code.google.com/p/masuland/wiki/WhatsWrongWithFlex
  • 18. Architectural Pattern / Nanoarchitectures See Nanoarchitectures: http://code.google.com/p/masuland/wiki/Nanoarchitecture
  • 19. Application Development Procedure 1. Application Code that shows the working application with source code available 2. Specification Document which explains the purpose of the application and collects all its requirements 3. Application Coding Standard which consists of a collection of Architectural Patterns and underlying Coding Conventions in the code 3.1. Architectural Patterns just like "Model-View- Controller" (MVC), "Model-View-Presenter" (MVP), "Presentation Model" (PM) ... etc. 3.2. Coding Conventions on the basis of Flex 3 or Flex 4 Read definition page: http://code.google.com/p/masuland/wiki/ApplicationDevelopmentProcedure
  • 22. References ● Apache Flex Community Revue July 2012, http://www.spoon.as/2012/apache-revue-july-2012/ ● Apache Flex 4.8 Release Candidate, http://people.apache.org/~cframpton/ApacheFlexRC/current/ ● Apache Flex News, http://incubator.apache.org/flex/news.html ● Apache Flex Wiki, https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+(incubating)+Wiki ● Apache Flex Mailing Lists, http://incubator.apache.org/flex/mailing-lists.html ● Apache Flex JIRA, https://issues.apache.org/jira/browse/FLEX ● Apache Flex Blog, http://blogs.apache.org/flex/ ● Adobe Flex, http://sourceforge.net/adobe/flexsdk/wiki/About/ ● Adobe Flex Roadmap, http://www.adobe.com/devnet/flex/whitepapers/roadmap.html ● Adobe Flashplayer Roadmap, http://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html ● Masuland „Login Example“, http://code.google.com/p/masuland/wiki/LoginExample