Top 10 Reasons for Developers to Create Smart Clients
Discover the 10 best reasons for developers to start building Smart Client applications:
Improved Reliability in Heterogeneous Network Environments
Smart Client application can store data locally and use the network in a smart way to provide functionality and reliable operation even when network is unavailable. This capability is especially important when the user is mobile and needs to be productive.
Increased Performance and Scalability
Smart Client applications use the capabilities of the local operating system and power of the local CPU for calculations. Having a dedicated CPU is important for achieving good performance. Furthermore, the capability to run local code off loads many task that are done by servers in a typical web application delivery. Increased Performance and scalability
Develop Applications Faster
Developers of all backgrounds are finding that Smart Client applications are easier to write. The development does not need to consider things like session management and server round trips. The intuitiveness of the programming model and the richness of the code already provided in the class libraries enable developers to reap huge productivity gains.
Access to Local Machine Functionality (such as DirectX)
In many cases applications need to use hardware functionality that exists a machine that can be accessed only through a Smart Client application. This functionality can be an I/O device or a graphic accelerator (as in the case of games).
Integration with Existing Desktop Applications and Systems
The simple interop mechanism provided with the infrastructure to build Smart Clients with the .NET Framework enables developers to program against them in a native way. Furthermore, applications built using the .NET Framework can connect with existing systems and packaged applications--regardless of their underlying platform.
Ease of Deployment and Security
With No-Touch Deployment, Windows-based Smart Client applications can be deployed and updated on target PCs simply by copying the necessary components to a Web server that can be accessed by the end users. Furthermore, using code access security can result in better control of the Smart Client code executed on the client machine resulting with the proper experience to be delivered to the appropriate users.
Mobility Support and Data Synchronization Capabilities
Smart client application can be delivered on various mobile platforms with various form factors (Smartphones, PDAs, Tablet PCs, Laptops) sharing a unified programming model. Furthermore, since network is not a reliable resource for mobile applications, developers can add data synchronization features into the application to ensure smooth operation.
Native XML and Web Service Support
The .NET Framework was designed from the ground up to support XML and Web services. This allows for easy manipulation of data and easy integration of the application with heterogeneous systems.
Better User Experience and User Interface
Smart client applications can use the functionality of the underlying operating system to provide a rich, responsive, and intuitive user experience that is not depended on server roundtrips or browser rendering capabilities.
Flexible Data Access and Local Caching of Data
Smart client applications can be smart as to the way data is handled within the application. According to different considerations, developers can choose to store and use local data or connect to remote databases in order to deliver applications that work whenever it is needed and not only when network connection is available.