Reputation: 1594
well, I just made such a "hello world" non-Flex app in FlashDevelop and packaged it as AIR. Looks like a fine tool for the "hello world" task :)
When online articles and tutorials focus on Flex when discussing AIR, is this purely because of Adobe propaganda that wants to steer people away from the tried-and-proven and towards their latest project? (that many people don't like, judging by 'flex sucks' googling). Or is there some actual solid reasons why AIR apps should be made with Flex and not with the widgets from previous libraries?
Upvotes: 0
Views: 565
Reputation:
I don't know why Adobe made these decisions, but certainly some AIR specific classes are only available in connection with Flex framework. For example, WindowedApplication
is a class commonly used for an entry point in projects that utilize Flex framework and target AIR runtime. It doesn't end with this particular class, there are couple other classes in AIR runtime that specifically target Flex framework.
You still can write a program for AIR that doesn't depend on Flex framework, but it looks like the marketing idea behind these two was to advance one combined with the other.
Upvotes: 0
Reputation: 14208
There is nothing preventing you from creating an AIR app using pure actionscript. In fact, in the Flash Builder 4 (made by Adobe), there is a discrete option to create an ActionScript only project targeting AIR. I don't think Adobe is trying to steer you away from using legacy Flash/AS3 code, but they will go to great lengths to promote their latest, greatest software. And since Flex and AIR are released in tandem, you are going to see lots of posts that tie them together.
When targeting AIR, you can use all the existing AS3 code you like, including MinimalComps, game libraries like flixel, or whatever you want. Bfxr-standalone is a good example of an AIR app using MinimalComps instead of Flex components.
Flex is great for applications that work with a lot of data or internet services. If you think you can benefit from some of the Flex components, then use them. If not, don't.
Upvotes: 3
Reputation: 19748
There's nothing that dictates you must use Flex when writing an AIR application. Furthermore I think you can google "any word here" sucks and find people who will agree, there's a lot of complaining on the internet. Depending on what you're trying to develop Flex can be a great platform for building on top of, that said if you already have a library of pure AS3 components that you believe will better serve your purpose then you can go right ahead and use those. Also take note that Flex is in the process of being migrated from Adobe to Apache, and as of Flex version 3 has been open source aside from the data-visualization (aka charting and the advanced data grid) which is also going to be open sourced and the source could be previously obtained using an extraction jar utility provided with the premium builder. So anything you don't like about the framework, also referred to as things that suck, you can fix, and if you become a contributor once the apache project is finalized you can contribute your fix and get others contributions.
Flex components generally are generally built so most of them can be used in all currently potential contexts, that is on the desktop or on any mobile device. The controls and other APIs included as part of Flex make this work easier in my opinion but don't stop you in any way from writing your own components (if you so choose you can use the framework for most things and write components the old way and make it work, however the framework has life-cycles that aren't inherent in AS3 or the player run-time itself). Keep in mind Flex is just another AS3 framework but it's one that's been worked on by Adobe engineers who have access to the player code as well as well as the flash player teams expertise.
I agree with the statement Flex sucks as much as I agree with the statement, jack-hammer's suck. Sure working with a jack-hammer isn't the most relaxing pleasant experience, and takes some time to get used to, but try breaking up concrete without one and you might appreciate it, hopefully the analogy makes sense to you. I'm not saying you always need a jack-hammer (ie nailing up paintings) but sometimes it makes more sense than a hammer (breaking up concrete). Choose the right tool for the job.
I'm working on a small game and doing it as a pure AS3 project wrapped in AIR for deployment to mobile, so I'm not saying always use Flex, I'm saying you should try to understand it's place and what components/features it offers then determine if you'll benefit from using it or not (you can always say you don't need it but that doesn't mean you'd be better off without it). And yes to some degree Adobe was undoubtedly trying to push extra tooling/technology at devs since that is in part how they make money.
Upvotes: 4