Question

i am pretty newbie in terms of flex/RIA frameworks. mostly done work on server side. as i search on internet , people are using a lot different framework, cairngorm to mate. so my question is , as i am baby stepping through flex, should i go for learning framework ? or without framework ? ( as of now , those DI,DAO,VO and IoC doesnt make much sense to me apart from full form. ) . i needed to do pretty serious stuff after around eight month or so. should that be enough time for learning flex ? thanks in advance. ( also any link or pointers are welcome -- althogh i have spend whole my day googling around and making hello worlds...) . how to become master of RIA FLEX ?

Was it helpful?

Solution

Before you jump into frameworks, learn Flex/ActionScript on its own. Figure out how to compose a real application and get everything working without the framework.

Once you're comfortable building an application from scratch, then start looking at Frameworks and pick the one that best suits your needs/methods.

That way you have a good foundation to build off of rather than relying on the Framework to do everything for you.

OTHER TIPS

I'm going to disagree with the other answers and say that you should start off with a framework. Any of the flex frameworks will come along with base of documentation that tells you how you should structure your code and a user culture following that tells you why you should structure your code that way. Starting off on your own won't expose you to some of the lessons that the designers of the different frameworks have learned and baked into their systems. Additionally, since prototypes tend to get pushed into production, starting with a framework now will save you a lot of time rewriting your code when you decide that you need to transfer over to a more defined structure from the ad-hoc application architecture you designed before knowing flex.

Right now I'm using a very lightweight framework that's (roughly) based on Swiz, but I also like Mate.

I would start without any frameworks so you can get use to creating forms, skin, classes and event handling. Once you are comfortable with that, then grab a framwork.

Check out Tour De Flex for some great examples of basic flex code.

I would suggest learn the technology first (concepts and syntax) and then use a framework.Since you mentioned you have done lot of serverside coding, i would suggest after learning the basics of flex (refer to http://livedocs.adobe.com/flex/3/html/help.html), learn cairngorm as it would naturally come to you, since it follows the same principles of regular MVC pattern.

In my experience I started flex with out any framework. In flex the event handling and other functionalities are very much good. So you can build small applications that not require any frameworks.In my experience if you are going to do everything using framework it will be much expensive. In the case of cairngorm you have to create a number of classes. But if you want to build a complex application it is better to go for frameworks. This will help you to build the application with a common look. And more over this will help you to debug the application later on.

All the best... Enjoy coding ;-)

Start without - the reason being that you may not even have a need for a framework for the projects you're working on. Even in the Java world, a lot of applications are just so small and simple that you're needlessly making it more complex by adding in architecture "just in case" or simply because it's a supposed best practice.

When you do select a framework, be very aware of the level of extra work it is creating (and most do take some extra time to use) and factor that into your decision making process. A small project probably doesn't need a heavyweight framework like Cairngorm or PureMVC.

When you do look at a framework for the first time, try something that lets you stay in control of the design. (Many so-called frameworks are actually micro-architectures, which Cairngorm correctly points out, which means they dictate parts of your architecture.) A lot of people like it, but I avoid Mate because it feels like too much configuration. Swiz is a nice "lightweight" choice to start with since it gives you dependency injection, and some other little useful tricks--yet it has a tiny footprint and doesn't really force anything on you.

Never listen to someone telling you that you have to do X because it's a "best practice" without having a concrete explanation for why it's a best practice. Even if it is a good practice, not all "good" practices apply to all situations.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top