Summary of progress, visual interface GUI application Development summary: Android, IOS, Web, Swing, Windows development, etc.

Source: Internet
Author: User

Visual interface software is the most mainstream application type in the 21st century, black screen console is not suitable for ordinary users.
About 2004 years, as the ordinary netizen, the nature of contact is visualized, exactly is windows that set.    At that time, Microsoft Windows 98, Red Police, QQ was 3 impressive software.    After the university, entered the line, successively studied the Windows programming (C Language API development), MFC, Java swing,html web,android and iOS.    Overall, now that HTML web and Java Swing are familiar, the Android and iOS interfaces are in deep learning, and Windows and MFC are basically obsolete. Learning so many visual interface application development, looking back, many places, are the same. So, deliberately summarized below. My idea is that summing up makes people progress. The total process: 1. Entrance, starting point of the applicationJava Swing, Windows, IOS, is the main function.ANDROID,ANDROIDMANIFEST.XML specifies activity, which can be considered as "Android" hidden by the program entrance.Web, the portal is a domain name that corresponds to a URL. The backend, like Java, is web. 2. Start the process encapsulation and interfaceOnce the application has a portal, it can start executing.The process of executing is usually the initialization logic that is executed first.Initialization logic is usually more complex.Application development platform, will be the entire process, clear and low definition, and then set aside a lot of extension interface for developers.Part of the interface is optional and part of it must be implemented.Java Swing This main function, relatively simple, according to the code we write, step by step to it. The development platform encapsulates less.Java Web This, XML, various configuration, Tomcat and other servers, according to Web. XML configuration, initialization of the basic environment, servlet,listener, etc., for the initialization of the developer, by configuring the servlet, and so on.    My understanding is that this type of web development will be more initialized. Android, like Java Swing, is not a lot of initialization for developers. In the process of execution, resources are required and then initialized.IOS, soon learned, and Android basically consistent.Therefore, it is divided into 3 main categories:Java Swing application, as per main step, initialization is very few.Java Web, initialization of a wide variety of configuration files.Android and iOS, the initialization is also very few, can come as needed.(personal feeling is not accurate ah, for reference only) 3. Initialization, Developer extension interfaceApplying the initialization process will leave many "extended interfaces" for the developer to add their own programs and logic.   In the Java Web, for example, with the SPRINGMVC framework, Dispatchservlet intercepts all URLs and assigns them to each controller we write. In Android, configure service and activity, and so on. 4. Draw the interface. Java Swing constructs the interface with a variety of UI components, APIs, and layouts.   Android, IOS, Windows, it's pretty much the same. Web HTML, it is more HTML and CSS. 5. Bind the event. The Web front end, JavaScript bindings click, and so on, can also be hyperlinks to the click, to understand the standard of the own events.   Android, Java, etc., are similar. binding, removal, and so on. 6. Event Response. It can be said that the incident response, is the focus of the program, developers involved in the most places.   Each event requires a response, a response logic, where the interface resources, animation effects, and business logic are handled. For example, a user clicks on a button and submits a form. Capture this event, save the form to a database, give the user a feedback, or jump to another interface. three types of mechanisms: 1. For 1 interface components, bind to 1 explicit function codes. 1 to 1For example, in JavaScript, $ ("#submitBtn"). On ("Click,function () {}"); This approach is quite clear and very common.2. For 1 class interface components, bind 1 events. 1 to many. For example, in JavaScript, $ (". Action"). On ("Click,function () {}");In this way, the code is concise and suitable for the same class of events. More on the web side.Android mobile, Java swing, etc., with less, not how to see.3. Do not explicitly bind to a function, using a purely message mechanism. The impression is that in Windows programming, events are real opportunities for "messaging".Click on a button, this event is treated as a message.In the code, there is a special place to process the message.As we often see, binding an event to a function is the result of a simplified framework such as Android.From the Windows programming, we can see that the listener events are usually "looping" or "Waiting" state.   As a result, the UI usually has a "main thread".   Event response, it is possible to open a new thread. Otherwise, click on the 1th button, then click on the 2nd, will not respond. SummaryTotal Flow: Ingress-System initialization-developer initialization-interface-binding events-responding to events or capturing messages-processing business logic-returns results.   Limited to experience and expression ability, can only be written about this. To be specific, it requires a particular technology, such as Android, to be explained by a professional God. finallyFrom the above, we can see that in different programming languages and GUI platform framework, the whole process is similar.  Before 2000, such a model was established, and even the new one was followed by a general idea.    We can call it "GUI design pattern".  In addition, in different languages, data structures, algorithms, business models, grammar, and many other places there are many similarities. Understand these commonalities, and then find a business trip, learning new programming languages and other technical skills, much faster. A person's learning ability, and summary, find the law, there is a great relationship. repeated learning the same similar content, spent a lot of useless, understanding is not deep enough.
Now look back, understand junior high school "comprehend by analogy" and other learning realm, said should be this truth.
Now, back to think about our early learning methods and knowledge, a lot of valuable.
Knowledge, or to ingenious.
Hope that through this article, can bring some inspiration to the relevant friends. Ray Fansunion-focuses on internet technology and financial investment December 6, 2015
In the previous article, said before December 7, today is finally no delay ~   

Summary of progress, visual interface GUI application Development summary: Android, IOS, Web, Swing, Windows development, etc.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.