Too early to move to Flex SDK 4? - apache-flex

I'm beginning to learn flex, and it seems that now is right around the time when the sdk is moving from v3 to v4. I'm noticing that there's not much support or tutorials for the v4 sdk, or maybe it's just me. Is it too early to use the v4 sdk? have most people not caught up with it yet?

If you're not releasing a 'for real' product soon, I personally would go with Flex 4. Obviously, it's still in beta and things change frequently in the nightly builds (which is kind of fun ;-); in fact, a major namespace changed not too many builds ago. However, if you're just starting and have some time, the Spark framework components seem to me to be much 'lighter' and certainly separate the logic from the skin styling in a very nice understandable way. If you want to play a bit, Google "Flex 4 Beta in a Week" and work through the exercises.
On the other hand, if you've not done much OOP or Flash programming before, I'll vote for Flex 3 too as there's a ton of resources out there.

If you are learning, then I think it is good to stick with version 3 since, as you say, there are more tutorials and support for it. I don't see any problems in transitioning to version 4 when it is released or you feel comfortable with using software that is still being developed.

If you haven't started working with the Flex Framework yet, its best you start with Flex 4. There has been a major namespace change, but its for the better. You can also integrate other cool Adobe tools like Flash Catalyst only with the new Flash Builder.

Related

Migrating from flex 3 to flex 4 pros and cons [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
We have a very big application which built on flex 3 SDK. What are all the pros and cons if we don't migrate and continue using flex 3 SDK.
Here are some questions:
1.Can we sustain without migrating from flex 3 to flex 4 for at least 5 years?
2.Can we upgrade to Flash Builder 4.6 + SDK 4.11 ?(but continue to run the flash builder in backward compatibility mode)
3.Is there any future support issues for application that are built on Flex 3 SDK.
Here are some points i read in stackoverflow:
If Adobe didn't seem to be pushing so hard for us NOT to use Halo, I think I'd be comfortable with that. But since they say in the actual docs that we "shouldn't use such and such" Halo components and should use the Spark ones instead, it's worrisome. It also seems like support for Halo in FB has become an afterthought (I can't get design mode to display a Halo style, even with Halo selected as the theme), so Adobe's making it difficult just to continue using it. Personally I don't see why we can't have two parallel component sets since Halo's design may work better in some use-cases. – Crusader Aug 21 '10 at 2:59
1
Actually the wording Adobe authoritatively uses (say if you're going to use "Canvas") is "use spark.components.BorderContainer instead". Well what if we don't want to? They haven't explained why we should use Spark instead, and due to it's "half complete" status now with tons of missing components, I don't really like the idea of almost guaranteeing maintenance work and updates needed to my code once SDK 5 comes out. On the other hand if we just use Halo permanently (assuming Adobe isn't going to pull the rug from it later, who knows), the code is "done" the first time. Frustrating
Thanks in advance.
Two things I particularly like with Flex4 in contrast to Flex3 (No matter if Adobe or Apache Flex) is that the new Flex4 components (Called Spark components) are much more lightweight implementations. The coolest new concept introduced with Flex4 however are the skinnable components.
It allows you to implement your components completely independent from the look & feel of the component (Skin). You can locate a components skin in separate modules which allows you to implement an application and depending on the client to load a "desktop", "android", "ios" or whatsoever skin-module which completely changes how your component looks and is used. Most skinning approaches of other frameworks merely allow one skin or can only change the formatting (colory, borders, margins, font sizes). In flex you could have a dialog displaying 20 Input fields at once in the desktop skin, but on mobile one, you have a step-by-step wizard approach only displaying 5 of them per page (just as an example).
Especially with the FalconJS initialive at Apache Flex it will be possible to have the compiler generate not only flash, but also a HTML+JS+CSS based output. I doubt this will be possible for the old Flex3 components.
The downside is that if you get used to Flex4 and you have to work with any other technology, you will be missing a lot of stuff. I at least got addicted to some of the concepts pretty fast.
Adobe Flex 4 is dying, Adobe Flex 3 is already dead (hard to find developers, no patches, no new frameworks etc...), the only option I think is durable is to migrate to Apache Flex 4 as Adobe has stopped developping Flex and given it to Apache that actually has upgraded it on some points.
For the "Halo" case, if you want to use it in Flex 4 with your Flex 3 codebase you will probably get troubles such as layouts / fonts / texts that will need to be fixed. This is due to a change in font management in widgets and on some components whose properties have changed.
Also, the dependencies have changed in the SDK, be careful with produced swc as they can sometimes be only compatible with Flex 3 of only with Flex 4 (which is a pain). It will be more and more difficult to find libraries that will work with Flex 3!
There was a question a few months ago on Flex 3 with FB debug not working anymore with last Flash Player Debug, I don't know if you met this case.
To sum up, Flex 3 is already deprecated and Adobe won't support it anymore, maybe Apache will but it is not their main aim. Even Flash Builder development could be stopped, be warned. There are alternatives such as Flash Develop or Intellij hopefully.
I do agree mostly with the mail above about FLEX 3 as such it seem to be dead if it comes to the web item yet I myself will continue using it as long as it is possible! OK there mite be not much new yet I think that it has still enough life in it. People just talk too much about it all yet without that there are or where many Application on the web which seem to be build in FLEX!
I just saw on a German FLEX forum something Interesting which mentioned the very same as here discussed, but what came up and what I did not knew was that the FLEX AIR Application development is still with ADOBE & that it is fully further developed by them even so they gave FLEX itself away! regards aktell

Starting with Flex right now - should I go for Flex 3 (stable) or Flex 4 (beta)?

I apologize for making my first question not the hard-hitting code-related question I was hoping for, so I apologize if this question is out of bounds of SO:
I'd like to get started with Adobe Flex development. I've seen that there's been a Beta 2 of Flex 4 available since October (with Flex 4 supposedly being "even better!" than Flex 3, naturally), but obviously, most learning material (books, on-line tutorials etc.) available seem to focus on Flex 3.
This makes me a bit unsure about which version to go with in order to get started.
I realize Flex 3 would be the safer bet, but maybe Flex 4 is already stable enough? I would very much appreciate pointers from developers more experienced with the technology.
Thanks,
Hendrik
It depends on whether you think you need any of the new features for your particular application:
Remote services – autogeneration of
data models.
Flash CS4 support
Event handler autogeneration
Declarative graphics
Unit testing, Network monitor
If you don't need any of these, Flex 3 is the clear choice.
http://www.psyked.co.uk/adobe/flex/talking-about-flex-gumbo-new-features.htm
I don't know if it's so much a question of stability but one of market penetration. As you said most learning resources out there focus on Flex 3. That said the Adobe Devnet is filling up with new tutorials and resources for Flex 4.
I haven't moved towards Flex 4 because the libraries are targeted latest versions Flash and AIR, and my apps need to be targeted for older versions of the these runtimes. That and I have all the features I need using the Flex 3 along with FlexUnit, Degrafa, and other third party libraries.
I have starting with flash builder with the beta 1!!!! It's much better/easier/nicer as Flex Builder... But the important think is u can use the new sdk!!!!
that's much more iportant... because in the new compantents has many change u have in sdk 3 some components what u can't use in sdk 4...
so my result:
use the new flash builder and use the imortant think SDK 4 ;)

Do I need Flex Builder?

I am completely new to Flex.
Can I realistically develop, say, a medium complex application with the Flex SDK alone, or do I need Flex Builder?
Also, apart from the SDK, what will I need to get started?
Thanks for any help.
I was there a year or two ago, so here's my experience. In order by subquestion:
I am completely new to Flex.
I was new to Flex too - and Actionscript (although it's a superset of javascript, which I know pretty well; although it sure doesn't feel like javascript to me).
Can I realistically develop, say a medium complex application with the Flex SDK alone, or do I need Flex Builder?
Maybe, if you already know Flash and Actionscript pretty well. I didn't, so I found it sure helped. But it isn't any different from any other IDE-or-not decision.
Also, apart from the SDK, what will I need to get started?
Nothing, unless you want to use AIR, which is only a simple download. Everything else is in there. I was completely happy with my experience; no unpleasant surprises, and you're asking the same questions I did. YMMV.
You don't need it, but it can be helpful.
I've found FlashDevelop to be a much better IDE for coding ActionScript. It ties in with the (free) Flex SDK, so as long as you don't mind coding the MXML by hand then it should work great. I've created a number of smaller Flex apps using this, and it's worked great. I generally shy away from graphical GUI designers anyway, so it worked quite well for me.
FlexBuilder gets you two things that (afaik) you can't get elsewhere. A visual designer for the MXML, and a debugger. If you get the more expensive version of Flex Builder you also get a profiler.
The visual designer is good if you want to quickly prototype something, or if you're used to designing UI stuff that way (and I can see where it would be helpful once you start getting into more complex UI stuff).
The Flex SDK comes with a command line debug tool, but the GUI you get with FlexBuilder makes using it a lot easier. This is what made getting FlexBuilder worth it for me. I generally don't use FlexBuilder for everyday development, but when I need to debug it makes things much easier.
If you're the one who would have to pay for FlexBuilder, try it without FlexBuilder. If you start running into a situation where you feel having the graphical designer or debugger GUI would be helpful, grab the FlexBuilder trial. You'll have 30 days to try it out. If it helps you enough that you think it's worth the cost, then buy it. If you're getting along fine without it then you don't have to worry about getting it.
If your employer would be purchasing it and has the budget for it then it might be worth getting it sooner, but you could probably do the same thing I mentioned above so as to possibly save your company some money.
You don't need FlexBuilder to develop Flex applications, I use:
Flex SDK
Editor of your choice ( I use emacs on Linux, Notepad++ handles ActionScript well in Windows)
Ant (Flex SDK comes with Ant tasks)
I wrote a entire blog post on how to set up a Flex development environment:
http://blog.apterainc.com/software/setting-up-a-flex-development-enviroment-in-gnulinux/
While I blogged about setting this environment up in Linux, most of the steps can be directly transferred to a windows environment.
As to the other posters: Developing GUI components in Flex is no different or harder then using HTML to design a webpage. If you require a WYSIWYG editor for that, then you do not know Flex or HTML well enough.
FlexBuilder has been well worth the investment for me personally; it's probably paid for itself tenfold or more. No, far more. Easily.
A few key fetures I've most enjoyed:
Intellisense/code-hinting: Especially if you're new to Flex, this'll speed your learning process along surprisingly well;
The Profiler: The live memory/app profiler really helps keep an eye on what's happening inside the box;
The Debugger: It's tough to beat being able to set breakpoints, trace the stack, watch variables, etc. -- great stuff here;
Eclipse: Eclipse is just an excellent IDE, and Adobe has extended it beautifully for Flex and AIR.
Incidentally, I don't do any drag-and-drop stuff, myself; I code everything manually, and I still can't recommend FlexBuilder enough. If you can part with the cash, chances are you'll be happy with the product.
Flex Builder is really useful if your application involves lot of GUI. It provides you a nice IDE do draw GUI. If you are just building actionscript that transforms to swf, you don't need Flex Builder. Flex SDK with your favourite editor is enough.
You may have to learn Actionscript and MXML DTD.
It's not required but it certainly makes things easier.
However, having said that, when you're using the FlexBuilder, you'll probably still end up doing minor tweaks to the UI in the mxml code and not in the IDE.
G-Man

Community Server the new version do you recommend it? can you integrate new modules to it?

I am planning to use community sever for one of our projects, i used it in the past but we had a lot of problems customizing it and understanding how things work, im affraid to get into that again, and i would like to add some things to it but i dont know how flexible it is.
Based on the fact we've been working with CS ever since version 1.0 (and even before as ASP.Net Forums) I can tell you this - CS 2007 and 2008 introduces a great out-of-the-box community solution along with a very extensive platform you can develop on top of and extend.
If you're aiming at Microsoft technologies this is the place to be.
IMPORTANT - Don't rush into their SDK and start changing the moving parts, focus on learning their theming engine (Chameleon) and using it's large variety of controls that get you farther than you could imagine. Use the SDK only when you need a better understanding of the inner working of things and when you've reached the point of extending CS.
IMPORTANT #2 - When extending, remember that Telligent releases two major versions every year, usually including features you'd want for your project, remember to review your changes and develop outside of the product core for easier upgrade to future versions.
Good luck!

Actionscript 3 outside of Flash / Flex

I've just finished a flash project where I did the entire project in "pure" AS3, without the use of the Flex framework. I found very little written about this on the web, so I'm not sure if this is a common way to develop RIA's, or if I've jumped off the shoulders of giants and done something stupid that will bite me later.
It seemed like a good idea at the time (famous last words!), but was hoping to hear from someone who could confirm.
Thanks,
Marcus
There's nothing wrong with it. People do that every day using FlashDevelop and AS3-only frameworks like PureMVC. Doing a complex app without any framework to support may get difficult to support in the future, but should be OK if you adhere to well known best practices. Future maintainability, especially if it has to be maintained be someone else, can also be greatly improved by using common design patterns throughout your code and architecture. Barring all that, if you're really just slinging code to build something with any real complexity, you're probably screwed unless you documented every function and the overall architecture very very well. Maybe not today, maybe not tomorrow, but some day you're (or someone else is) screwed! ;)
Flex is nice if you want to create something that looks great real fast within the confines of what the Flex framework gives you.
We used to fight weird framework bugs which Adobe didn't seem to care about or took way too long to fix. So we opted to drop Flex in favor of our own UI framework and we've never looked back since.
Sounds like a perfectly good idea. Flex is really just an overlay of rapid-prototyping, and communication standards, on top of pure AS3.
What you gain in ease of development and a large library and API, you lose in streamlined, strength and simplicity.
I'm currently developing a medium sized app in Flex and although the first phase of development was a breeze, the later stages have been fraught with weird framework eccentricities.
It is definitely okay. For example, I've heard that the Issuu.com platform is not based on Flex but a custom framework.
Thanks all! I've been very happy with AS3, and like the amount of control I get, as opposed to using MXML/Flex. It's good to hear I'm not crazy!

Resources