Flex Forward

» Posted

The Battle of Technologies

HTML/JS versus Flex arguments are absurd. This is not about one or the other. That is a construct of the media and sensationalism, not the needs of the software we craft for our clients. As developers, it is our responsibility to choose the tools most appropriate for the job. Choosing tools for any other reason is irresponsible.

It is a spectrum. Right now, HTML/JS solutions are not practical for building and maintaining applications of the same size and scale as those that we routinely build. Flex is. The scalability of applications built with HTML/JS will increase over time through the efforts of organizations such as Apple, Adobe, Google, Microsoft, and a vibrant open source community. As the capabilities of technology change, you will have a choice. Choose the technology that best suits your needs.

Flex in an Open Development World

Flex is becoming an open development project. As a community driven project we can:

  • Use the significant volunteer and sponsored workforce to tackle defect and performance issues.
  • Consider barriers that prevent the extension of the framework and the building of external libraries as defects that need to be fixed.
  • Encourage the next generation of component developers to build with confidence.
  • Provide world class testing of the code base
  • Provide fixes in nightly builds within days of an issue’s submission.

Raising the Bar

In 2007 Bruce Eckel, of Thinking in Java fame, mentioned that he saw Flex as a Domain Specific Language(DSL) for building user interfaces in Java. This is an interesting perspective. What if Flex is a Domain Specific Language (DSL) for building user interfaces, and what if it were unbound from a particular mid-tier or virtual machine. Imagine what that would mean to you as a developer.

Modern browsers have a virtual machine built in which can do a tremendous job of executing JavaScript. While they don’t do everything the Flash Player does, they are gaining ground and can perform a growing subset of the functionality. The phones we carry have powerful native runtimes. So then, why should this proven DSL be tied to any specific environment?

Flex can be independent of the Flash Player. Developers should have options when compiling their applications; target Flash, AIR or any technology that suits your purpose. We want to allow you to unlock the power of Flex as a DSL.

Build your UI with Flex. Deploy it wherever you want.

Flex is an extremely effective tool for building applications and has potential in the future as a DSL, untethered to a specific runtime.

Michael Labriola

  • http://twitter.com/s9tpepper Omar Gonzalez

    That sounds like a great vision…

    …make it so!

    Can’t wait to participate, any time frame on when we can start expecting more info on getting this ball rolling? Days, weeks, months?

  • Matt

    A simple example of doing something like this (even on a small scale) would go a long way to slowing the mass exodus of developers from the Flex platform. Adobe is bleeding developers right now. They’ve publicly mentioned the Falcon JS Flex compiler but haven’t given any sort of sneak peaks. If ever there were a time to ‘show off’, I believe this is it.

  • Adrian

    While I like the concept of moving Flex towards being a DSL I just can’t follow the scalability comments. Scalability of JavaScript and HTML has never been an issue for us. Scalability has been more of an issue in the business and data layers.

    I would be interested in seeing how Flex can become a DSL. Good thought.

    • Mike Labriola

      Adrian,

      We have applications with 100k classes in application layer built upon several framework layers all ActionScript all nicely checked by the compiler when we refactor. How do we make that same application as maintainable in JavaScript today?

      Mike

      • Adrian

        For us we use continuous integration, unit testing, strict architecture and rules in place in our client architecture. It’s not always easy as we have 80+ devs and 35+ web apps. We keep or clients light, even our Flex ones.

        For JS it’s become more of us doing manual stewardship and building decoupled modules. So I can see the safety of the compiler, we deal with those concerns with dynamic languages as well.

        Thanks for clarifying.

        A

  • http://www.facebook.com/skovalyov Sergey Kovalyov

    Is it about Falcon JS? Conceptually, it is a great idea. But I think it is necessary to be pragmatic rather than optimistic to make it viable. The whole idea to make any existent Flex application compiled to HTML application is wrong like previously running Flash Player as a plug-in in mobile browser. In my opinion there could be some new class hierarchy to replace DisplayObject and its derivatives. Eventually something similar to Ext GWT.

  • Martin Weiser

    Hi,
    This is ofcourse the only way to keep Flex relevant,
    I wonder if anyone knows or uses Jangaroo (www.jangaroo.net) ?
    Martin

  • http://twitter.com/dannyGeek Daniel Ramos

    Like grails with groovy, i thought “it will be great to do so on Flex”, 2 year later , it will be come true, DSL/Flex sounds great

  • Carlos Rovira

    That visón is shared by all Flex developers. HTML5 vs Flash is marketing. Our problem is not with runtime succeed. Our problem is increase our ease of development and don’t loose OOP, IoC, AOP, debugging, profiling and so on. If Flex can avoid to depend on flash this could allow slow transición to HTML5 ondemand and not due to the marketing and hype generated by some companies. Michael we strongly believe in you , apache and spoon. Nos we need to support The project and get more people from The community and from other companies.

  • Anonymous

    Excellent. Decoupling Flex from the Flash Player is the only sane way to move forward, especially if the Flash Player isn’t going to be open sourced along with the Flex SDK.

    But what will the tooling look like that makes this possible? Is someone working on a full-featured AS3 ByteCode -> JS converter? Is someone creating a server-side runtime for non-DisplayList functionality? (I’ve always thought that would be cool – an AS3 runtime that lives on the server, streams DisplayList to browser or where ever.)

    Eager to hear more!

  • Anonymous

    Weird. I tried to post as my twitter account and it pulled this from somewhere. Consider this and the above post signed by Mykola – http://www.twitter.com/mykola

  • http://twitter.com/borekb Borek Bernard

    (I’m not sure how to contact Spoon project or if there is a mailing list so I’ll ask here.) What you guys know about FalconJS? It’s supposed to be donated to ASF too but the author, according to this blog post: http://blogs.adobe.com/bparadie/2011/11/19/what-is-falconjs/, can’t give any details on it. Is Adobe discussing Falcon JS with you or are they keeping it secret? If so, any ideas why?

    • http://spoon.as Michael Labriola

      they announced it will be donated to Apache but details are pending