Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Web vs Desktop Development (Online vs. Smart-Client)

Tags:

I work at a company with a large SAP investment, and we also have dozens of large .Net systems (mostly internally for engineering systems), and Java platforms (mostly for external web applications). As such, we have large development shops on ABAP, C#, and Java EE.

We have decent standards for which platform to use in which domain, but we don't have a lot of clarity around when to use web UIs and when to use desktop UIs.

I've seen some excellent research on this topic in the past (like this), but I'd like something a little more structured

I'd like to build a decision tree based on best practices to help with this question.

Some of the criteria I've seen in the past include:

  • Is the application targeted to users with different OS configurations?
  • Does the application require OS-type functionality for sorting and editing data? (I know that AJAX / asynchronous JS has made possible much richer desktop-like functionality to web applications, but some would argue the desktop is still king in this area)
  • Will a web application be able to provide the availability, responsiveness, clarity, and utility that can be delivered with a desktop application?
like image 709
Kaiser Advisor Avatar asked Mar 16 '09 15:03

Kaiser Advisor


People also ask

Which is better desktop application or web application?

Better performance In general, desktop applications are faster than web-based ones, run independently on your computer, and do not require proper connection to the Internet. In this case, independency from web brings a positive result.

What is difference between desktop and web application?

The difference in desktop and web applications is explained in a very simple manner. Desktop application is a computer program that runs locally on a computer device like a desktop or a laptop whereas a web application needs an internet connection or some sort of network to work properly.

Is a smart client technology for the .NET framework?

A Smart Client is an application that uses local processing, consumes XML Web Services and can be deployed and updated from a centralized server. While the . NET Framework (Windows Forms) and the .


1 Answers

I think we are seeing the separation between Web and desktop applications softened quite a bit. Rich internet applications (with Flex, Silverlight, Ajax) started this trend, and WPF with XBAP is taking the user experience of browser-based applications to another level. It is becoming a bit more involved to have this argument, because there are now more flavors in the spectrum between Web and desktop apps.

Some more questions to ask:

  • What is the primary objective of the app - data manipulation, or data viewing?
  • What is the number of data points/records that need to be viewed/edited together on one screen?
  • What is the organization's IT infrastructure look like? Will they be able to accomodate new deployment models?
  • Will users work with a central database from remote locations?
  • Does the organization have a VPN infrastructure of off-site users, and how do users authenticate?
  • Are there existing applications that the same user group is working with, and how are these applications deployed?
  • Does the application need offline capabilities?
  • Given that they are so different, what is the skill set of the development team for web and desktop APIs?
like image 165
cdonner Avatar answered Sep 30 '22 18:09

cdonner