Introduction of development practice of mobile phone network application client software

Source: Internet
Author: User
Tags touch

Network Application and client software

When it comes to mobile web apps, the first thing we think about in the last few years is WAP applications. Recently with the market on the mobile phone's programmable ability more and more strong, mobile phone software development platform and industrial chain gradually mature, mobile phone network application software gradually more up, such as Mobile QQ, PICA, palm communication and so on. These client software, with its rich application, user-centric experience and good business perception, has become another important network application after WAP business. The current development of mobile software has been gradually from the traditional embedded development relatively independent, mainly refers to the upper layer of mobile phone application software development, has recently become a new hotspot in the software industry.

As a business operation of the mobile phone network application client software requirements can be deployed to a large number of mobile terminals, and focus on the network server-side business, the current development of resources in this area are relatively few. Based on the mobile phone newspaper project, this paper discusses several key problems in the development of mobile phone network application client software, and hopes to help the new entrants. Suppose we need to develop a highly available mobile phone network application client software for online ordering and reading of the electronic newspaper business, covering the current mobile dream network users the highest share of the dozens of mobile phones, the following combined with Kjava development to introduce some of our practical experience.

User interface Design

Question: At present, few people have mobile phone client software user interface (UI) design experience, UI design and development principles and processes are what?

The UI design and development of the handset client software occupy a very important proportion in the whole software development process, for the team without related accumulation, we estimate that the software UI development occupies about 40% of the total workload of the software. As with other end-user-oriented software, the principles of client-side software UI design are: People-oriented, easy to operate, and compatible with the widest range of handheld devices. The current mobile phone user interface is mainly divided into two categories: through the navigation key to operate the single hand and touch screen mode. There is a big difference in how the two operate, but if the software's UI is not too complex in the actual project, the UI design can be used primarily for the mobile phone with the direction key, and it is also acceptable to make some changes to the touch-screen handset on the basis of the development cost. In addition, the handset client software UI development has the following several experiences:

Early intervention by program developers

At present, most of the mobile phone with high market share also only provides Kjava development interface, its advanced UI control is very difficult to meet our requirements, if we want to achieve the design effect, we need to implement it directly using the underlying API. In the process of UI design development, for teams that do not have UI development experience, it is recommended that the prototype interface be developed after the requirements phase, first to confirm the user's experience requirements, and to ensure that the UI designer's design effect is achievable within a defined time period through early intervention by the developer. 2nd, it is important that in a mobile phone such a limited resources and capabilities of the platform, if only from the perspective of the UI staff to design the interface, it is easy to be unable to implement on time or on the real machine effect too bad. The general process of UI development is this: the UI engineers and developers are free to discuss, define UI elements and approximate operational processes, followed by developers, and finally by the UI staff on the basis of the implementation of the aesthetic creation.

It is recommended to develop a UI design development process that is appropriate to the actual situation of the project, and that the UI-related functions must be tested on the real machine.

The limited design principle of program interface

Our client software is not a browser, it should always be kept in mind. Client software can handle the server side of the content and business processes are relatively limited, but also because the client application software for other aspects of the restrictions required to ensure that client applications to the browser to apply a better user experience. For example, in practice, whether the server returns the content format, or the level of client interface level, can be required to determine, other such as the software newspaper reading interface font size, spacing, can be pulled down the maximum length of the screen can be determined at the time of demand.

Support a variety of mobile phone platforms

Question: Kjava platform on the program away from "once written, running everywhere" is still very far: different mobile phone screen size varies greatly, the program needs to readjust the interface, different terminals of the ability of the level of uneven, even the same function, different models of mobile phones in the specific degree of support and the way there is a difference Some mobile terminals also have their own specific bugs. How do we get our programs to support these dozens of phones?

Generally, we develop a basic version based on Sun's standard WTK or a very typical and portable mobile phone (typically Nokia). Then on this basis, according to the target terminal of the large type of transplant, and then on the basis of a larger class to do a more granular transplant, The transplant process, like a tree, finally achieves the goal of supporting all target handset terminals. Here are some tips for developing and porting the process.

The MVC design pattern Model-View-controller (MODEL-VIEW-CONTROLLER,MVC) design pattern and its derivation is undoubtedly the best practice for the UI model, especially on mobile applications. The screen size of different mobile phones varies very greatly, the biggest difficulty in porting a mobile client application is the porting of the UI interface, which can well separate the UI interface from the data and control of the program, thus controlling the porting of later applications to the interface porting. The MVC design pattern is not covered here, and note that the limitations of the entire application size may constrain the implementation of the design pattern, and even the smallest class will increase the size of the entire application by 200 bytes. In practice, you might want to reduce the class hierarchy to keep the jar file within a reasonable size range, also try not to use a separate class or anonymous class to do the controller, our practice using a controller class to handle all the business logic, although this class looks a bit bloated, but under this restriction, Sometimes we have to make this concession.

Building a library of device libraries

It is very important to build a target mobile device database for the development of cross-platform applications, including at least the various terminal capability features that our application software uses. Online can find a variety of mobile phone terminals supported by the Java API and other data, which is very convenient but in addition to the size of the screen sometimes some parameters are not *, and mobile phone equipment, a wrong parameter or bug will delay our development and debugging process a lot of time. Depending on the terminal capabilities that our client applications are using, a test program can be used to test the support for these capabilities of each handset terminal, such as the RMS storage limit for the Kjava platform, maximum memory limit, screen size that the program can use, multimedia content types that support local playback, Support for network playback of multimedia types, support for networking capabilities, processing of phone calls during program runtime, support for push registry programs, and performance. We can use our own testing tools to build the database of these attributes on the target terminals, and expand them continuously. Note that the results of the operation on the real machine, many times the performance of the simulator and the performance of the real machine is inconsistent, basically the simulator has a "defect."

Specification using resource files

In order to facilitate the transplant, all UI interface images, hint text and other elements can be extracted as resource files, the use of resource files can make resources and code phase separation. In the design phase, be aware of naming conventions for UI element resources so that they can be easily replaced when porting. This "Skin" approach also facilitates the later convenience of changing the interface style of the program. The specification of UI element resources also facilitates the accumulation of material for UI developers.

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.