4 Replies Latest reply on Jun 6, 2014 9:46 AM by Flex harUI

    Flex and its future


      After I have spent close to 3 years designing an application (Flex and Air), my developer is now telling me that Flex as a language is dying and that I should consider a re-write using HTML and Java.

      My investment has been substantial, so this came as a shock to me - especially as I am close to launching the app on desktop and smartphone.


      Can somebody in this community reassure me (or confirm this), or perhaps give me some insight. The application in question is quite sophisticated and a rewrite just seems like a whole lot of work. I mean, who really knows what the future in software languages is, it seems to change on a sixpence.


      I would be grateful if someone could maybe look at the app, give me some insight.


      Many thanks (I will post the link if someone wants to look at the app).

        • 1. Re: Flex and its future
          pauland Level 4

          Where on earth have you been, wordtapper? This kind of question/discussion has run through the forums for some time now.


          If the app works and is usable on the target platforms, then I would go with it BUT bear in mind that the long-term future of flex as a programming language is very much in the balance. Adobe has little interest in it and the platform it runs on ( Flash runtime ) is not viable on Apple Mobile products within the browser and tenuous on other mobile browsers long-term.


          who really knows what the future in software languages is, it seems to change on a sixpence.


          Absolutely right, but it's not been so long since Mobile really took off and changed the whole game plan, so the tech world is mutating rapidly.


          If you are close to launching, personally I'd go ahead with Flex and then look at your options if the app takes off. Better to re-engineer if necessary with a successful app than delay it and gamble that all that re-engineering will be worthwhile.


          If your app runs in the browser and is targeting mobile, I'd be nervous.

          • 2. Re: Flex and its future
            wordtapper Level 1

            Been hovering in the background hoping my developer made the right choice of language. Occasionally I took a peek at what others were saying (mixed, both ends of the scale). Some are passionate about Flex. I cannot see it dropping out any time soon, so rather than labour the discussion, I think your response is balanced, reflective of what have read elsewhere. I will probably launch when it's as debugged as I can get it anyway (the mobile version is Air and emulates the browser version).



            <extraneous link removed - kglad>

            • 3. Re: Flex and its future
              pauland Level 4

              I think I would have agreed with your developer, up until the time Adobe open-sourced the project and stopped on-going development. Adobe dropped a grenade into the working lives of thousands of developers and made good people look like idiots for recommending and supporting the technology.


              Flex is/was a superb product and the unfortunate thing is that the world changed and not in it's favour. I really championed Flex from it's early days, amazed at what it could do, but now that world has changed.


              In fairness, there is an initiative to generate a HTML 5/Javascript project from a flex codebase, but it's in the works not a fully fledged reality. I would say that relying on it's gestation would be a risky strategy.


              The lesson here may be that projects that are three years in the making risk becoming obsolete before they see the light of day - overtaken by events, changes in the market or the emergence of rivals to fill that same gap.


              Good luck with it.

              • 4. Re: Flex and its future
                Flex harUI Adobe Employee

                One major Flex development shop that also does HTML5 development says that HTML5 development takes at least 60% more resources/time.


                With Flex now at Apache, one aspect of the "future" of Flex is essentially guaranteed.   You will essentially always be able to get a copy of an Apache Flex SDK and access the source to fix bugs in it if necessary.  Adobe (or any other corporation) no longer has any influence over that.


                Adobe (and other corporations) could cause Flash to stop working in future versions of the browsers it currently works it in, but for several years to come, that is highly unlikely as there remains significant important workflows that rely on the Flash plug-in.  But essentially, this aspect of the future of Flex is not guaranteed "forever" which is why I and several others in the Apache Flex community are hard at work on FlexJS, a version of Flex that does not require Flash.  It outputs HTML/JS/CSS instead of a SWF.  The alpha version is currently available.


                FlexJS would essentially guarantee that second aspect of the future of Flex, because applications built in FlexJS would run in any modern browser.  If you have designed your current Flex app properly, porting it to FlexJS should be significantly less work and less risk than a port to JS or any JS framework.  So make sure the code has good separation of UI from business logic.


                FlexJS may turn out to be a better way of creating HTML/JS/CSS apps.  Most people's experience is that straight HTML/JS/CSS is hard to work with, and lots of people have tried different ways of easing that pain.  TypeScript, GWT, and Dart recognize that the major pain is in the gluing of framework components together and present alternative languages.  FlexJS agrees and claims that ActionScript is as good as any of those languages, has the capability of offering runtime verification of your code (Dart and GWT can as well) and offers a declarative language (MXML) to make it easier to see what you are gluing together.


                In sum, if you can use current Flex to reach all of your customers, you are probably all set for at least a couple of years and are hopefully glad you aren't 60% further behind schedule.  Some folks cannot reach all of their customers with current Flex because they have significant users on Windows Phone, or need browser-based delivery to mobile phones and tablets, and they must choose HTML to get there now, but hopefully, they will have the choice of using FlexJS in the future.


                So, of course I'm biased, but my goal is to make sure your developer was not wrong by choosing Flex by eliminating the either/or question.  Hopefully soon it won't be Flex or HTML, but Flex outputting to SWF and/or HTML.


                That said, the Apache Flex community is always looking for more contributors to current Flex and FlexJS.  FlexJS will go from alpha to 1.0 sooner with more community involvement.