1 / 37

What’s Up With Flex?

What’s Up With Flex?. The last 15 months of Apache Flex and a look into the future Alex Harui Apache Flex PMC Chair August 4, 2013. Who am I?. One of the original Flex SDK developers at Macromedia VP of Apache Flex Apache Flex PMC Chair 30+ years experience 11+ years at Macromedia/Adobe.

wilmer
Download Presentation

What’s Up With Flex?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What’s Up With Flex? The last 15 months of Apache Flex and a look into the future Alex Harui Apache Flex PMC Chair August 4, 2013

  2. Who am I? • One of the original Flex SDK developers at Macromedia • VP of Apache Flex • Apache Flex PMC Chair • 30+ years experience • 11+ years at Macromedia/Adobe

  3. Disclaimer • Even though I am a full-time Adobe employee and spend my whole day on Apache Flex, everything I say here is just my opinion, and not an official statement on behalf of Adobe Systems Inc., or the Apache Software Foundation, or even the Apache Flex project itself.

  4. Adobe Flex Last Year • April 2012: 360|Flex Conference • Adobe Flex SDK 4.6 • Adobe Flash Builder 4.7 • Adobe Support available for 5 years

  5. Adobe Flex Today • August 2013: 360|Stack Conference • Adobe Flex SDK 4.6 still the latest release • Adobe Flash Builder 4.7 still the latest release • Adobe JIRA bug base retired. • Bugs have been migrated to Apache • To file a bug with Adobe, you must contact Adobe Support. • Before filing bugs at Apache, please test against the latest Apache Flex release • Adobe Support still available for at least 3.5 more years

  6. Apache Flex Last Year • April 2012: 360|Flex Conference • Apache Flex in incubation • SDK ActionScript code donated • Waiting on: • MXMLC Compiler • Mustella Test Suite • Falcon Compiler • FalconJS Cross-compiler • BlazeDS

  7. Apache Flex Today • August 2013: 360|Stack Conference • Apache Flex in incubation • SDK ActionScript code donated • Waiting on: • MXMLC Compiler • Mustella Test Suite • Falcon Compiler • FalconJS Cross-compiler • BlazeDS

  8. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Waiting on: • MXMLC Compiler • Mustella Test Suite • Falcon Compiler • FalconJS Cross-compiler • BlazeDS

  9. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Waiting on: • MXMLC Compiler • Mustella Test Suite • Falcon Compiler • FalconJS Cross-compiler • BlazeDS

  10. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Waiting on: • MXMLC Compiler - Donated • Mustella Test Suite • Falcon Compiler • FalconJS Cross-compiler • BlazeDS

  11. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Waiting on: • MXMLC Compiler - Donated • Mustella Test Suite - Donated • Falcon Compiler • FalconJS Cross-compiler • BlazeDS

  12. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Waiting on: • MXMLC Compiler - Donated • Mustella Test Suite - Donated • Falcon Compiler - Donated • FalconJS Cross-compiler • BlazeDS

  13. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Waiting on: • MXMLC Compiler - Donated • Mustella Test Suite - Donated • Falcon Compiler - Donated • FalconJS Cross-compiler - Donated • BlazeDS

  14. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Waiting on: • MXMLC Compiler - Donated • Mustella Test Suite - Donated • Falcon Compiler - Donated • FalconJS Cross-compiler - Donated • BlazeDS – Donated (Almost)

  15. Apache Flex Today • August 2013: 360|Stack Conference • Top-level Project at Apache • SDK ActionScript code donated • Source now in Apache Flex Git Repos: • MXMLC Compiler • Mustella Test Suite • Falcon Compiler • FalconJS Cross-compiler • BlazeDS – Soon

  16. Apache Flex Today • August 2013: 360|Stack Conference • FlexUnitdonatedby Michael Labriola • 3 Official Releases. 4.10.0 just went live! • Installer. 9000+ SDK downloads since 4/11/2013. • 200+ bugs fixed, especially in date formatting • Un-deprecated some features • FlipViewTransition and ZoomViewTransition • SVG transcoding • Support wider range of Flash Player and AIR versions.

  17. Apache Flex Today • August 2013: 360|Stack Conference • New components • PostCodeValidator and PostCodeFormatter • VectorList and VectorCollection • Callout and CalloutButton • Spark Alert • Spark Menu and MenuBar • Spark ColorPicker • Spark ProgressBar • Spark Accordion

  18. Apache Flex Today • August 2013: 360|Stack Conference • New Layouts • AccordionLayout, CarouselLayout, CoverflowLayout, StackLayout • New features • More locales • 480 dpi support in mobile • Locked rows and columns in Spark DataGrid

  19. Apache Flex Today • August 2013: 360|Stack Conference • 800+ folks on dev mailing list, 500+ on users mailing list • Automated testing server running over 30,000 tests • New website • Over 500,000 page views since February 2013 • ~3000 hits per day • 12 additional non-Adobe committers added • 30,000+ Adobe Flex bugs in JIRA migrated

  20. Apache Flex Tomorrow • More Bug Fixing • More Components • Improved Maven Support • Prototyping Flex on HTML/JS/CSS • Really? Flex without Flash?

  21. FlexJS • Use MXML and ActionScript to create either SWFs that run in Flash/AIR or HTML/JS/CSS files that run in browsers (or anywhere HTML/JS/CSS runs) without Flash. • IE8, 9, 10, Chrome, Firefox, Android, IOS • Mobile Apps via PhoneGap/Apache Cordova

  22. Several Approaches • Emulate Flash Player • Emulate current Apache Flex SDK • New framework

  23. Emulate Flash Player • Then you wouldn’t have to change any of your code. • But that’s a lot of work • Fidelity/Performance issues • See JooFlash • http://www.jangaroo.net/applications

  24. Emulate Flex SDK • Then you’d have to change code wherever you went straight to Flash APIs • useHandCursor • blendModes, filters • Still some fidelity/performance issues • Weak references • Dictionary • E4x • Embedded Assets

  25. FlexJS: New Framework • Designed to be cross-compiled • Doesn’t use AS/Flash features that are hard to implement in JS • New coding patterns support plug-ins and composition. • Incremental feature development • Better Performance • Smaller SWFs and JS downloads

  26. Practicality • Apache is an all-volunteer organization. Most contributors work in small snippets of time. The code patterns attempt to reflect that reality. Features are hopefully composed of small plug-ins. • So, instead of waiting for someone to create a Spark Button with 124 properties, the initial Button can just have a label and click event, then others can add enable/disable, default button, accessibility, etc. • Get basic functionality out now, work on harder stuff later.

  27. Backward Compatibility • If you have an app of 10,000 lines of MXML and 100,000 of ActionScript, you can rewrite all of it when porting to some other JS framework, or port much less of it when using FlexJS. • Would you have re-written it anyway? • XML handling is cumbersome in the browser. If you were going to port your app to some other JS framework, would you have switched from XML to JSON anyway?

  28. How much can you re-use? • To the extent your application is MXML components glued together with ActionScript that does not access Flash APIs directly, you will be able to re-use your code. • No chance if you require Flash-quality video • No chance right now if you require TLF • Scan your code for “import flash.*” and “embed” • Gives a good first estimate • Events are easier to port.

  29. Familiar Constructs • MXML DataBinding • Can be optimized where needed • MXML States • Component Names • Button • Label • DropDownList • Etc.

  30. What’s Different • Skinning Model • Bitmap-based, at least on IE8 and other non-HTML5 browsers • SVG-vector skinning support being investigated • FXG for AS, SVG for JS • Application is not a DisplayObject • Multiple Component Sets • Many different kinds of Buttons

  31. Browser-First • Wrap built-in HTML elements • Encapsulate and Present • Identify good practices in the JS world. Wrap and present as AS classes. • Multiple component sets means there can be components sets that wrap JQuery, CreateJS and other UI framework controls.

  32. Why SWF? • If you can still use Flash, it should save you a whole bunch of browser-specific testing and tweaking. • ActionScript is strongly-typed so will catch bugs sooner. • “The longer it takes to find a bug, the more expensive it is to fix it” • Leverage existing IDEs

  33. DEMO

  34. DEMO • http://people.apache.org/~aharui/FlexJS/DataBindingTest/bin/js-release/ • Shortened URL: http://s.apache.org/MQT • JS debug and SWF versions: • http://s.apache.org/ukh

  35. Next Steps • More components • More compiler work • Metadata • Interfaces and other introspection • Release early versions • Basic features first, more features later • Over time, we should be able to replicate most but not all of the current Flex SDK APIs

  36. Summary • We need help! • All kinds of contributions welcome on both current SDK and FlexJS and other efforts. • Testing • Development • Documentation • Examples • See FlexJS: Deeper Dive on Wednesday • Look for me in the Apache Flex Discovery Room

  37. Questions? • http://flex.apache.org/ • mailto:dev@flex.apache.org • https://cwiki.apache.org/confluence/display/FLEX/Alex%27s+FlexJS+Prototype

More Related