Saying, life-long learning, whether you have just entered the field of Flex development rookie, or already have a considerable development experience of the veteran, in front of you, there will always be you have not been involved in the field, or known as the blind area of knowledge. As if there is a famous saying, when you know more, you will find that you do not know the more. This quote is also fully applicable to us engaged in flex development work. Therefore, this article does not use the term master, it is difficult to become a master, most of us even have a lot of experience, can only be called the veteran only.
This paper tries to analyze what kind of learning curve we should take in the development of flex. Or, for developers at different stages (beginners, mid-level developers, advanced developers), what they should learn and care about. This analysis is difficult because it has a lot to do with the developer's own knowledge accumulation and technical literacy, such as beginners, a person who has no programming skills, and a Java veteran, and the speed of progress varies greatly. This article will be based on some of the experience of the author, try to start on this aspect of the discussion, if there are omissions, welcome to Pat Bricks and supplements.
1. Determine the stage you are at
From the table below, select a phase that has recently received your status, and then refer to the relevant learning suggestions:
2. Learning Suggestions
For different stages of the developer, the need for attention to the content of the focus is different; After a certain period of study, you may have jumped to the other stage, please see this table again, consider their own positioning, to find relevant recommendations.
2.1 Does not have the programming foundation
It may be difficult for you to learn flex, this is not because the flex is difficult to learn (Flex is easy to get started), but you lack the basis of too much, the proposal from the computer basics, at least computer operation to be proficient, and then choose a process-oriented language, such as C, must understand the process of the implementation of procedures, In addition, some conventional technologies in the field of Web, including B/s structure Application Data request process, html,javascript,xml,css and so on to learn and understand. In short, is to lay a good foundation, the foundation is not strong, the back is also not good to learn. This step is complete and goes to the next step.
2.2 With AS3 programming base
You already have the basics of programming, but there is no AS3 development experience, so you need to stop and learn AS3, because the Flex framework is built on the AS3, the Flex Project logic control also relies on the AS3 code you write, so before you learn flex, it is necessary to learn AS3 first. , it's important to be clear whether you have the basics of OOP (object-oriented programming), and if you're a developer of OOP languages like Java or C #, that's for sure, because ActionScript 3 is also an OOP language, and you're going to focus on the syntax details and APIs, This process is not difficult or time-consuming, and you will soon be able to apply and master the differences between the languages you have previously used.
If it's unfortunate that you will only write a process-oriented language, not familiar with OOP, then it doesn't matter, you don't have to go to the wrong way to fill an OOP language like Java, you can still learn AS3 directly, but you need to take a long time, because you need to fully understand how OOP in AS3 code is written.
Recommended Learning materials:
The book "The Way of ActionScript 3.0 Hall" Black Feather
2.3 With AS3 Foundation and a little flex base
You may already be an experienced AS3 programmer (a game, or minisite, or something), or just learn the AS3 for Flex, and you can start learning flex. However, with better AS3 development experience, learning Flex will be easier and easier to understand and master the logic control and event handling mechanism in flex.
What you need to learn and master include:
Flex Framework Concepts, mxml and AS3 relationships, Mxml and AS3 coding specifications, use of Flash Builder, different project types, use of flex common components, containers, layouts, navigation, state, custom components and project renderer, event Communications, Data collection and binding, data validation and formatting, RPC data communication methods, component styles and skins, animations and effects.
After learning these and being proficient in application, and at least 3 months of practical projects, you have become a Junior flex programmer.
Recommended Learning materials:
Free Video Tutorials: "A week of Learning Flex4" riameeting translation
Component Learning: Tourdeflex
Books no longer recommended, the introduction of a lot of books, you can choose their own
2.4 Primary Developers
Now that you have a solid flex base and some development experience, it's time to upgrade yourself to the next stage. You need to master some of the deeper application techniques in flex development to step into the next stage:
1. If you have been developing based on Flex SDK 3 before, it is recommended that you learn the new content of Flex SDK 4 as soon as possible, and master the ability to migrate existing FLEX3 projects to Flex4;
2. If you have just completed some small flex projects, then you may not have involved in a modular split of the project (MODULE,RSL in Flex, etc.), knowing that in large and medium flex projects, modular splitting is essential, and how the split modules develop load and destroy policies , how to complete the event communication, how to avoid a large number of module loading caused by memory leaks, and so on, these are you advanced to the next stage must master;
3. Some bad coding habits, or some hidden coding flaws can cause system crashes or memory leaks, so you need to be able to optimize the knowledge of Mxml and ActionScript code in the Flex project
4. Master the knowledge of implementing internationalization in Flex projects
5. You also need to familiarize yourself with the MVC design pattern and how to develop a set of most appropriate MVC implementation strategies for your current project, noting that MVC is most important to thinking, and that it is important to address current project architecture design issues rather than apply a set of MVC framework to your project.
6. You need to be proficient with one or more architectural frameworks, such as the parsley or spring as in the IOC framework, and understand its mechanism, because it is difficult to have a framework that is entirely appropriate for your project needs, and we usually do some extensions and additions based on one or more frameworks to make it more responsive
7. Adobe Air Technology, which provides a desktop API, allows you to expand the functionality of the project, enhance the user experience, many excellent RIA applications are based on air, so we recommend that you master air development capabilities
8. Understanding the internal mechanisms of flex's internal workings, including the compilation process, design patterns of components, lifecycle, skin and style injection principles, and so on to the ActionScript level, will help you to gain a fuller grasp of flex
These knowledge or skills are actually very biased in practice, so you need to have a lot of project experience in order to fully understand and grasp the above content. To meet these requirements, you are already a mid-level developer.
Reference Learning Materials:
Official: Adobe Developer Center (try to go to English station, less content in Chinese)
Folk: Each community (Riameeting,9ria,airia, etc.) and so on will have some information in this respect, but no system, need everyone to pay more attention to.
2.5 Intermediate Developer
Now that you have a solid foundation for flex, familiar with modular development, an architectural framework, and intermediate developers who can implement performance optimization, you need to improve your ability to fully control a large flex enterprise-level project development. In other words, as a soldier, you need to promote yourself as a general (a joke), and you need to be able to include:
1. Ability to integrate with back-end technologies: Although Flex is the front-end technology, although you have done well in front of the front-end, but if you are not familiar with the backend, you will not be able to achieve a greater upgrade, that is, if you are only familiar with the front-end, then the middle of the set here is your final realm of . For Java, blazeds or LCDs is a good choice, if it is. NET, there are weborb, you need to grasp the flex front-end and back-end technology architecture and integration capabilities.
2. Overall framework design and implementation of FLEX project: including the Flex front-end architecture design and backend architecture design, usually technical implementation is very easy, but it is difficult to design a good architecture, especially to apply to team collaboration, how to split to ensure that the team to play the most combat, is what you need to master
3. Project Management/Automated Build/test: How to implement an effective project management mechanism within a team (such as implementing agile development), if you choose to build tools, build servers, implement automated builds and unit tests, implement versioning, code quality assessment, and so on, are all you need to know and control
2.6 Advanced Developers
It's not easy to get to this step, congratulations. What to learn next, see your own interests, if you are interested in the internal operation of Flash Player, you can go to download AVM2 Open source code, change your own virtual machine
3. Summary
Since both ActionScript and flex are low entry thresholds, the previous section is smooth if we draw a learning curve, but over time, the subsequent ascent is more demanding and challenging for the developer itself, and the curve becomes steeper.
As developers, we still have to keep the thirst for knowledge and challenge their own desires, live to old, learn old. Apply the word of the Chowa Lord as the end of this article:
Stay hungry, Stay foolish
Data download:
Flex Code Specification
Flex Developer Learning and Advanced Guide
Special Note: This article is reproduced from the research community, I think this article is very good, special reproduced over, pure when learning to use the concept of mo. If offended, please leave a message, I will delete the article in time, please understand .