The Internet design of PC client

Source: Internet
Author: User

With mobile phone, tablet computer as the representative of the continuous development of the mobile Internet, cloud computing and the rise of cloud services, but also to promote the traditional enterprises continue to change the direction of the Internet. As a Windows client programmer, he is always vigilant: to abandon traditional software development thinking, and strive to learn the Internet thinking. Internet +, a new economic form full of opportunities, makes all traditional businesses feel challenged and hopeful. And finally can break the success, it is whether can use the Internet thinking to solve the problem.

Well, at the big level, it's time to focus on the specifics. Traditional PC Client development is based on c/S architecture, that is, server / client. For example, the client and the local database are installed on the user's computer, the client communicates with the server side, or the database is installed directly on the database server. The database used for its development is no more than MS sql2000 and Oracle , and database installation and maintenance is a challenge.

General PC client software almost integrates all functions, interface human-computer interaction and business processing logic are included, so because of code quality, site environment and user habits and so on, often prone to different errors. These need technical support to help customers, even to the customer site. Once the number of product users to a large order of magnitude, hehe, the company's operation and maintenance costs will be significantly improved. Not only that, the traditional software development cycle is lengthy, the process is cumbersome, has not adapted to the current internet rhythm.

Therefore, in order to more clearly explain the client's internet design, is now an example of the company's new product adoption of the new architecture design mode: Internet mode.

Dual-Process mode:

1, the main process is mainly used for interface display, user business data input and human-computer interaction, etc., using C + + interface Library to achieve;

2, the secondary process is an http Server, which is responsible for data processing, data storage and cloud interaction, is a data engine (cross-platform compilation, support Windows, Android and IOS platforms);

3, the request between them through the HTTP protocol to communicate, and in the Json data format for transmission.

Local Database:

Using sqlite3, it is a lightweight database that occupies small resources and is often used in embedded devices. No installation, very convenient.

Client architecture diagram:


system architecture Diagram:


Advantages:

1, business logic does not write dead on the client, put to the server-side operation, unified version, reduce fragmentation, enhance flexibility.

If the business logic is written on the client, once it changes, the client will have to modify the code, and the version will be upgraded. And we do not force users to upgrade, so that can not cover the entire network, resulting in version fragmentation (this is also a browser-side and the client of a difference);

2, clear division of labor, efficient development, focus on the details, more agile development to achieve rapid iteration;

The client is responsible for interface implementation, network core communication and basic business data processing, the server is responsible for database creation, processing, storage and communication interaction, everyone focus on the point is not big, but can let developers more energy and time design development.

3, with the cloud of interaction, cloud synchronization function can support multi-terminal, multi-location, and support local offline data, really do the anytime and anywhere to see the data.

In addition to the architectural model, the development process management should also be done by the Internet: rapid iteration, small steps to run, quick trial and error, large targets broken down into smaller targets. One of the most famous is Scrum Agile Development, which now describes its development model, as shown in.


What is Sprint?

Sprint is the meaning of a short distance race, which refers to an iteration, and the period of an iteration is 4 weeks .

Process Explanation:

1,pm determine the product Backlog(a list of products in order of priority), and then do the workload estimates and arrangements;

2. Select a story from the Sprint Planning Meeting as the goal of this iteration, the time period of the goal is 1~4 weeks, and then further refinement to form a Sprint Backlog;

3. Each Scrum team member is subdivided into smaller tasks based on the Sprint Backlog (the workload can be refined to 2 days);

4. Each Daily Scrummeeting (daily stand-up session) must be controlled in about a minute or so, and everyone should speak. To report what you did yesterday, and to promise what you are going to accomplish today, you can ask some hard-to-solve questions and then update your sprint burndown on the Whiteboard(Sprint Burndown chart);

5, every day to have a successful compilation, and can demonstrate the version;

6. When a Sprint Backlog is completed , we are going to srpint ReviewMeeting (Presentation review session). Product owners and customers to participate, each team member to show them their finished software products;

7. Finally, Sprint retrospectivemeeting (retrospective), taking turns speaking, summarizing the improvements and then putting them into the product requirements of the next sprint .

The Internet is a place full of magic and hope, whether you are developing a mobile app or Windows client , should not belittle yourself. We should be careful to do a good product, always stand in the user's perspective, following the trend of the times, the user experience and product experience to achieve the ultimate, then we are successful.

Come on, egg fried rice!



The Internet design of PC client

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.