Talking about the selection of Flash/Flex/HTML5 technology

Before the release of HTML5, the technical solutions in the RIA field have always been the strengths of various exhibitions, and there is no controversy. In Adobe system, what Flash can't do, Flex can do; .Net system decision makers choose Silverlight when they choose RIA solution.

Once I was obsessed with Flex to the point where I couldn't stop, and there were not a few people who had the same idea as me, and Flex also had a tendency to "unify the world". However, with the advent of HTML 5, Flex "changed hands" and Silverlight was "hidden", technical solutions in the RIA field began to become confusing.

HTML 5 is undoubtedly the "star of tomorrow". Former Apple CEO Steve Jobs praised it. Most smartphone browsers support HTML 5, and HTML 5-based websites have sprung up. These seem to herald the arrival of the HTML 5 era, and people are trying to convince policymakers that the Flash/Flex era is over and HTML 5 is the best solution in the RIA space. However, is this really the case? I've seen a project that planned to use Flex as a front-end solution, but due to the "prevalence" of HTML 5 at the time, the decision makers decided to move away from Flex in favor of HTML 5. What will happen next?

  • Due to the browser compatibility issues of HTML 5, many functions in the requirements design stage need to be rolled back and reworked.
  • In the implementation process, not only HTML 5 tags, but also CSS and JavaScript must be written. For the project, the personnel composition is increased, and the development cost of the project is also increased.
  • The HTML project can easily obtain the source code, so it needs to enhance the confidentiality and security design.
  • In terms of writing plug-ins and choosing frameworks, the difficulty is far greater than that of Flex.

From the above, it can be seen that HTML 5 also has disadvantages and is not perfect. Likewise, I could cite numerous examples of the benefits of HTML 5. So what exactly is "truth"?

there is only one truth:

HTML 5 and Flex are two very different technical solutions. The advent of HTML 5 has made Flex more focused in certain directions and areas. Therefore, they are complementary, not substitutes. Therefore, the term "replacement" is not accurate.

Although, the above example is only a small probability event. But the probability is small, it does not mean that it will not happen, and it does not mean that it is not typical. So, here I would like to talk to you about the technical selection of Flash, Flex, and HTML 5.

First of all, make a clear point: there is no established rule for technology selection, it is determined by many factors, such as: whether the technical knowledge structure of developers is competent, the development cost of the project, the composition of developers, the development cycle of the project, the properties, etc.

However, we can still start from the characteristics of these technologies to determine which solution is suitable for your application!

Features of Flash:

  • Advantage:

    • With the help of Time Line and Action Script 3.0, you can easily create any effect animation.
    • Complete development tools. (Flash Pro CS series development tools)
    • Complete workflow. (All Adobe CS series tools can be imported into Flash and edited again)
  • Disadvantage:

    • Flash Player does not support iOS.
    • Flash Player does not support Android 4.1+. (All systems below Android 4.0 are supported)

Features of Flex:

  • Advantage:
    • Complete support for a large number of controls comparable to C/S architecture (desktop software).
    • Perfect integration with Flash and Adobe CS series tools.
    • Complete enterprise development process and workflow (code writing, compiling, debugging, publishing, etc.)
    • A variety of frameworks are available and support advanced features such as: IoC, view binding, data binding real-time updates, etc.
  • Disadvantage:
    • The resulting SWF is too large. (Although there is a perfect "slim down" scheme, it is still much larger than the HTML scheme)
    • efficiency issues. (in some cases, less efficient than HTML 5)
    • Poor shuffle support. (It is not comparable to the mixed arrangement of images and texts in HTML 5, which is a common problem of the Flash system)
    • The reserve staff is still too small relative to HTML.

Features of HTML 5:

  • Advantage:
    • Complete technical personnel reserve. (The number of front-end developers is completely comparable to that of Java and .Net programmers)
    • With the help of many new features of HTML 5, Flash technology can be completely replaced in some aspects. (Flash is Plug-in, while HTML is natively supported by browsers)
    • Not inferior to Flex's vast array of controls. (Bootstrap, jQuery -based controls abound)
    • Full platform support in the true sense.
    • With Node.js, it can be competent in the background (front/background take all); with Coffee Script, it can be comparable to the syntax sugar coating of Ruby/Python.
    • Has a larger, more comprehensive, and more active community than Flex.
  • Disadvantage:
    • As an enterprise development, it does not have the workflow and development process comparable to Flex.
    • As a game development, it is not as good as Flash Stage3D in terms of supporting 3D and operating efficiency.
    • Writing HTML 5 applications, to a large extent CSS and JavaScript, has a higher learning curve than Flex for beginners.
    • HTML 5 still has browser compatibility issues. (With the split of W3C and WHATWG, it is estimated that this situation will be further deepened)
    • In large-scale HTML 5 projects, the problems encountered by Flex still exist in HTML 5 (for example: efficiency problems), and new problems such as browser compatibility and Ajax cross-domain communication are also added on this basis.

The following table describes the comparison of the three at some key points: (Figure 1)

<iframe id="iframe_0.8245040194952042" style="border: medium; border-image: none; width: 712px; height: 345px;" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22http://static.oschina.net/uploads/img/201208/14170710_9uus.png?_=3834158%22%20style=%22border:none;max-width:712px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.8245040194952042',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" frameborder="0" scrolling="no"></iframe>

The following diagram uses a differentiation method to identify technology options for an application: (Figure 2)

<iframe id="iframe_0.06365403204609848" style="border: medium; border-image: none; width: 712px; height: 451px;" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22http://static.oschina.net/uploads/img/201208/14170716_2ofM.png?_=3834158%22%20style=%22border:none;max-width:712px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.06365403204609848',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" frameborder="0" scrolling="no"></iframe>

The following table compares the pros and cons of the three from the perspective of "project attributes": (Figure 3)

<iframe id="iframe_0.92367594734007" style="border: medium; border-image: none; width: 712px; height: 321px;" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22http://static.oschina.net/uploads/img/201208/14170754_0K29.png?_=3834158%22%20style=%22border:none;max-width:712px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.92367594734007',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" frameborder="0" scrolling="no"></iframe>

Summarize:

  • Flash:
    • It is suitable for applications with strong interaction, strong effects, less data display, less graphic and text mixing, partial display/tool ​​attributes. For example: Flash interactive advertisement display, page game (Flash Game), etc.
  • Flex:
    • It is suitable for applications with strong interaction, appropriate effects, more data display, less graphic and text mixing, and partial tool attributes. For example: online modification of pictures, internal systems of enterprises, ERP systems, financial systems, etc.
  • HTML 5:
    • It is suitable for applications with strong interaction, appropriate effects, multi-data display, multi-image and text mixing, and partial application attributes. For example: Google website, various traditional websites, SNS website, etc.

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326462164&siteId=291194637