Silverlight Online: Silverlight applications in occasionally connected environments

Source: Internet
Author: User
Tags connect requires silverlight

People live in a world that is online, at least in some people, for a certain amount of time. Some day in the future, perhaps bandwidth will be more than we need, let us always online, but today is not possible. Today, we can only connect occasionally, and occasionally have enough bandwidth. No one can predict what will happen in a moment.

In the face of this reality, in order to design an application that brings the best user experience, we have countless architectures to choose from.

Both fat and thin mode smart clients have a common feature that is deployed on the local computer, so they do not need to connect to the network to run these applications. On the other hand, a traditional browser-based application must be connected to a remote WEB server to run.

Between these two extremes, there are more and more options. All of these options provide different capabilities for the application to run offline, with varying degrees of flexibility and interactivity in the UI design, as well as various levels of security restrictions. We will discuss the latest developments in occasionally connected applications that can provide a highly interactive user experience and can be run either inside or outside of the browser. We will provide code examples for network connection detection, and background work programs for uploading and downloading data when online.

Background

Let's look at the evolutionary process of the general application involved in this discussion. Our example starts with a simple FAT client application that runs only on the Windows operating system. Although the program allows users to work offline, the limitations of the initial solution are increasingly obvious:

Requires support for multiple operating systems. The first edition only supports some potential users.

Deployment issues cause differences in the versions of the user group installation.

The application is rewritten as a simple thin client HTML application because of the increasing need for a lightweight solution that can work across multiple operating systems to minimize deployment problems. However, this leads to a number of other issues:

The application's UI features are limited, and the visibility is reduced.

Requires a long time browser compatibility test.

Performance on the network infrastructure of many users is poor. For example, a large amount of reference data is downloaded each time a user needs to fill out a form, and a large number of scripts are required to provide the logic involved in validation.

Users cannot use the application offline.

Obviously, this version is not up to standard.

In this case, the ideal and only solution is a rich Internet application (RIA) with an intuitive, flexible UI. This application requires users to manage large amounts of data while online and perform asynchronous data uploads and data validation without locking the UI. It should support working offline and accessing the data store on the client side. It should integrate hardware devices on the client, such as cameras. Finally, the ideal solution should start with the "Start" menu or the application icon, rather than being confined to a Web browser.

Silverlight can meet these requirements. Silverlight 3 introduced the concept of "out of the browser experience" and was extended in Silverlight 4. Also, Silverlight 4 introduces the ability to interact with a particular folder, such as My Pictures, and a hardware device, such as a webcam. (Applications that use this enhancement will prompt the user that the application needs to raise the trust level and obtain user consent to install.) For more information about trusted applications, see msdn.microsoft.com/library/ee721083 (v=vs.95). In this article, we will focus on the general issues that are encountered when building an application architecture that can work both online and offline.

Figure 1 shows a rough architecture that can be a candidate scenario.

Figure 1 Advanced architecture for candidate

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.