I like the idea of leveraging HTML5, I'm not sure whether it should be part of the SDK though.. It sounds more like a good 3rd party library to me. Which makes me wonder whether we need to create some sort of "official Flex SDK extensions" to make room for all these really nice to have additions.
Cheers! -- Joan Llenas Masó CTO Garnet Works SL T. 93 848 57 27 -- @joangarnet (es) @joanllenas (en) http://joan.garnet.io On Tue, Jul 10, 2012 at 1:08 AM, Om <bigosma...@gmail.com> wrote: > I am using HTML5 in a general sense here, but looking at the new > functionalities, I can see a few of them that Flex can benefit from. HTML5 > + stack really is a collection of new elements like Canvas, SVG based > animation and supporting functionalities like geolocation, client > storage,etc. Of these, I think the following features can be exposed via > JavaScript and made available as Flex APIs. As a start, I can think of the > following: > > 1. Geolocation > > We know that GeoLocation is available out of the box for AIR apps. But for > flash player based Flex apps, we can write javascript hooks and expose Flex > APIs using ExternalInterface. We could do something nice like providing an > abstraction layer that encompasses both flash.sensors.GeoLocation and > HTML5's GeoLocation APIs. Or, we could do something like > > 2. Client Storage > > Flash player has Local Shared Objects, but they default to just 100Kb > before a prompt is displayed to the user. HTML5 client storage (per > session + across session apis) has a default of 5MB. This one seems to be > the most easy one to implement using ExternalInterface. > > 3. IndexedDB or Web SQL(?) > > AIR has SQLLite, but FlashPlayer does not have something like this. Again, > an abstraction class that lets you write/read from the browser supported > database would be cool functionality. > > 4. Offline access > > This feature enables apps to be run without a network connection. We can > add a generic Cache Manifest file in html-template folder and add a > reference to it in the index-template file. Our default Cache Manifest > file could look like this: > > *Contents of ${application}.appcache* > > CACHE MANIFEST > ${aplication}.swf > ${application}.html > /assets/images/* > > The IDEs could probably add some tooling that lets developers interactively > add files to cache. > > Overall, my goal is here to leverage the cool things that HTML5 brings to > the table that is not (yet) available to the Flash Player. As long as Flex > apps runs only on the Flash Player (on the browser), we need to do > something like this to make sure that we stay competitive with HTML5. What > better way than to leverage HTML5 itself? > > These are just basic ideas and I dont know if they will work. My biggest > concern is that there is no uniform implementation of these features across > browsers. The key IMHO is abstraction and failing gracefully. Please > respond with any other features you think could be brought into Flex. Or > if you think that this is a stupid idea ;-) > > I plan to start writing code to add these functionalities in my whiteboard > going forward. > > Thanks, > Om >