Wtf I hate Flex

Ok when I say WTF I mean why the fuck, and this post will explain why I think Flex is shit. Wow, those are harsh words. But I truly hate Flex. I must explain first that I don’t think Flex has been built for me. I mostly make nice looking stuff; games and rich experience websites. Flex is made to be functional, but making it looking good, and by that I don’t mean half-ass good looking, I mean flawless, is pretty hard. Harder than it would have been using just ActionScript in the first place.

I came to Flash because I didn’t want to do HTML. Why would you try to emulate HTML (MXML) with Flash? It makes no sense to me… HTML will always better at HTML, duh! Flash is better at being awesomely good looking easily. Anyway I digress, but I mean if you are building a game or a microsite (everything other than a web app, and a corporate one at that), please stop using Flex.

I rant here because I have been forced lately to use Flex where I work and I don’t really like it ( and I can’t say much because I just started). I feel like it is creating so much friction for what I want to do that it ain’t worth it. Believe me I am trying to stick to ActionScript as much as I can, but in order to use the fonts that are already embedded in the game, I need to build on the Flex display list. It means using UIComponents wherever I would use Sprites and using UITextfields wherever I would use a simple TextField. It adds a lot of overhead and for a game, I don’t think that is a good thing…

Flex is not smooth and it is not made for smooth people. Flex as been engineered for hardcore programmers that don’t really care about design. Plus now Adobe isn’t even supporting it anymore, it makes its future so hazardous… Anyway, what I want to say with all this, please stop using Flex, please…

  1. #1 by zproxy - October 30th, 2012 at 22:28

    Would you be interested in writing your flash control in C# instead?

  2. #2 by Mark Fuqua - October 30th, 2012 at 23:16

    Flex rocks…unless you’re making a game. But for hardcore programming, you’re right, its the best.

  3. #3 by zedia.net - October 30th, 2012 at 23:32

    @ zproxy Well C# is fun enough but the language is not the problem here, it is mostly the mxml layer that I don’t really like, because it is bloated and doesn’t really look good, no matter how much skins you tweak. It’s the idea that a button has 4 states that are either on or off (not animated) but who really cares about a mouse down state (except on a tablet). I am not sure what you mean by control, but if you mean components, I guess I would rather code them in ActionScript purely.

  4. #4 by zedia.net - October 30th, 2012 at 23:33

    @Mark Fuqua Not really sure about that, for hardcore programming wouldn’t you go with pure C, where you have control over everything (at the expense of your sanity, but hey, we did say hardcore)

  5. #5 by Nick Collins - October 31st, 2012 at 01:02

    No offense, but it sounds more like you’re trying to cram a square peg into a round hole. Flex is very good for what it was built for, and that is creating rich APPLICATIONS. Games are a different beast altogether than enterprise applications, and so naturally Flex is not a good fit. I realize from what you have said that the choice was made beyond your control, but don’t criticize the tool by complaining about how the dragster won’t corner in a drift race. You need to use the tool that is right for the job.

  6. #6 by Mat Janson Blanchet - October 31st, 2012 at 01:03

    Yeah, you are right about the part where MXML is trying to be HTML, this part is exactly why most (if not all) the stuff built in Flex should have been built in HTML in the first part. With Javascript functionalities. Good luck on that, I’m never touching that language with a ten foot pole.

  7. #7 by Dub4ek - October 31st, 2012 at 04:26

    Flex – it is framework for creating RIA-applications, not for games, animations and others. Flex – it is like Delphi, collections of UI components.

  8. #8 by Dan Carter - October 31st, 2012 at 04:45

    I don’t know where to start…..
    Flex makes developing large ‘enterprise’ apps much simpler than coding everything from scratch in AS3. It was not made with game development in mind, why would you expect it to be the perfect solution for this?

    I think the issues mostly arise from your lack of knowledge on how to correctly use the framework, not in the shortcomings of Flex itself.
    Are you aware you can load a normal AS3 .swf into a Flex app? You could then build your content in a way more familiar to you.

  9. #9 by Dan Carter - October 31st, 2012 at 04:46

    @ Mat Janson Blanchet
    MXML is not trying to *be* HTML, it is a markup language, they have similar goals, it’s not trying to be anything other than MXML

  10. #10 by Steve Buckley - October 31st, 2012 at 06:08

    As a senior tech lead with more than 15 years programming exprience, I am astounded by the ignorance of the comments here, Flex is designed to perform a niche role, if it really bugs you, build a component in CS6 as a UIMovieClip. As a platform for large scale enterprise development Flex has no peer, nothing scales as well for big (40+ developers) projects, but most of you don’t RTFM ( Read the *@* Manual, even so called Flex developers of 3 years exprience don’t understand the framework and component lifecycle. MXML is not trying to be HTML, its a shorthand XML for quick layout of views with the clever logic being written in Actionscript behind the scenes. would I build a game with it? Never in a million years. So its horses for courses, and play the strengths of what you are using. Use a variety of tools and take the time to really learn your craft in depth.

  11. #11 by Jay - October 31st, 2012 at 07:48

    You forgot to mention which version of Flex you are refering to. Flex 4(Gumbo) was pratically re-written from scratch mostly in order to make it great for creating custom looking interfaces(skinning).

  12. #12 by zedia.net - October 31st, 2012 at 10:27

    @Nick Collins
    I do admit that I am shitting on Flex because it was misused :) I guess it is why HTML people hate Flash as much

  13. #13 by zedia.net - October 31st, 2012 at 10:28

    @ Mat Janson Blanchet
    Totally agree, shit they even have a weak version of CSS!

  14. #14 by zedia.net - October 31st, 2012 at 10:30

    @Jay
    They are stuck using 3.6, because when they switch to 4, everything breaks… Now we can’t use the new Flash features specifically targeted for games…

  15. #15 by zedia.net - October 31st, 2012 at 10:45

    @Steve Buckley
    Funny thing is that most commenters that you are calling ignorant here actually agree with you ;) . I guess you were referring to me, no hard feelings anyway.

  16. #16 by Steve Buckley - November 9th, 2012 at 11:02

    @zedia.net
    No Man It was not aimed at you, I have just spent a week interviewing people that claim to have flex knowledge, to find that half don’t know you can package an app, half don’t understand Flex 4 skinning. Quite a few don’t have enough depth of actionscript knowledge.

  17. #17 by Paul Sanderson - February 13th, 2013 at 14:30

    We made this in flex, http://mountaindew.co.nz/ We use flex to make all our flash sites and games, it saves us a tone of time. We use “flash cs” as an asset builder and use those assets as components in the flex project.
    Admittedly this is flex4 and I wouldn’t dream of doing this in flex3.

    If you take time to learn flex4 it will supercharge your dev time.

(will not be published)
Subscribe to comments feed
  1. No trackbacks yet.