473,388 Members | 1,408 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,388 software developers and data experts.

Application Architecture Question - Web Apps vs Smart Clients vs Windows Applications vs ???

Please note this is NOT a rant or complaint! And yes, I'm over-simplifying,
but intentionally. Here goes...

With ASP.NET Web applications I like that I can access data from anywhere
without installing anything on the client (but I hate HTML and markup in
general and it's limitations, the request/response model, state management,
etc).

AFAIK, Smart apps or smart clients or whatever we call them are simply
variations of Web applications that somehow decide which markup to send to
some dumb client (perhaps to a full browser or to a handheld device)... but
we're still dealing with the request-response model (AJAX notwithstanding).

Then there are Windows applications - ahhhh yes! The good ole message pump
and the full capabilities of the local machine, .NET Framework etc all at
our immediate disposal. No more request-response model to slow things down
and no HTML or other markup getting in the way of our UI design efforts.

WHAT I want is the best of all application types. What application type or
types should I create in order to have the best of each of these application
types [in one "system"]. For the sake of this question, suppose the
application to be written is a basic CRM app (client contact manager). It
needs to provide the users with the ability to insert/update/delete
companies, contacts, appointments and notes, generate reports, and send
e-mail. It must be accessible via the Web and because we all know that
Windows XP is rather prevalent, we can assume that a large percentage of
users will have the .NET Framework.

So, the scenario is that we need an application that is available on the
public Internet and accessible to people with uplevel Web Browsers (and
nothing else installed locally), but for those with Windows XP and the .NET
Framework we can give them a much better and faster user experience than is
available via a browser.

Do I need to create two application? An ASP.NET Web application and a
separate Windows application that talks to my Web site via a Web service or
..NET Remoting? What would be the most efficient way to satisfy the
requirements while giving users the best possible experience given their
local machine's capabilities?

Thanks for your thoughtful reponses!

-Jeff
Jan 2 '06 #1
4 1247
you're right, this is covering a lot of ground.

My advice is let the user worry about acceptable level of performance. If they're happy with dial up then so be it. When they are
ready, they will move to something better.

Anything pushed to the user's machine opens the ugly door to issues of version control, deployment , maintenance, security, etc....
Keeping everything on the server simplifies all of these . hence the development of Server technologies.

keep it simple

Jan 2 '06 #2
On Mon, 2 Jan 2006 14:11:27 -0800, "Jeff" <A@B.COM> wrote:

Jeff,

Read up on One Click Deployment. I have one of those apps on the web
and was extremely surprised at how easy it was to deploy. The user
doesn't get a copy on their machine and I can't see much difference in
performance between the deployed version and the one installed on a
local machine.

Otis Mukinfus
http://www.otismukinfus.com
http://www.tomchilders.com
Jan 2 '06 #3
The best solution would be to implement a web service to hold all the
application logic, and thin clients including an ASP.NET web site and a
Smart Client (winform app) consuming this service. I'm afraid your
understanding of "Smart apps" is incorrect. They are fully featured windows
applications (no "markup sending", nor request-response model). Starting
from .NET 2.0, we have "ClickOnce" technology, which would be best choice
for your Smart Client part of solution.
check out
http://msdn.microsoft.com/smartclien...clickonce.aspx

"Jeff" <A@B.COM> wrote in message
news:Oo****************@tk2msftngp13.phx.gbl...
Please note this is NOT a rant or complaint! And yes, I'm
over-simplifying, but intentionally. Here goes...

With ASP.NET Web applications I like that I can access data from anywhere
without installing anything on the client (but I hate HTML and markup in
general and it's limitations, the request/response model, state
management, etc).

AFAIK, Smart apps or smart clients or whatever we call them are simply
variations of Web applications that somehow decide which markup to send to
some dumb client (perhaps to a full browser or to a handheld device)...
but we're still dealing with the request-response model (AJAX
notwithstanding).

Then there are Windows applications - ahhhh yes! The good ole message pump
and the full capabilities of the local machine, .NET Framework etc all at
our immediate disposal. No more request-response model to slow things down
and no HTML or other markup getting in the way of our UI design efforts.

WHAT I want is the best of all application types. What application type or
types should I create in order to have the best of each of these
application types [in one "system"]. For the sake of this question,
suppose the application to be written is a basic CRM app (client contact
manager). It needs to provide the users with the ability to
insert/update/delete companies, contacts, appointments and notes, generate
reports, and send e-mail. It must be accessible via the Web and because we
all know that Windows XP is rather prevalent, we can assume that a large
percentage of users will have the .NET Framework.

So, the scenario is that we need an application that is available on the
public Internet and accessible to people with uplevel Web Browsers (and
nothing else installed locally), but for those with Windows XP and the
.NET Framework we can give them a much better and faster user experience
than is available via a browser.

Do I need to create two application? An ASP.NET Web application and a
separate Windows application that talks to my Web site via a Web service
or .NET Remoting? What would be the most efficient way to satisfy the
requirements while giving users the best possible experience given their
local machine's capabilities?

Thanks for your thoughtful reponses!

-Jeff

Jan 3 '06 #4
Thank you for your helpful response and link - especially the correction on
my apparent misunderstanding of smart apps.

"Lebesgue" <no****@spam.jp> wrote in message
news:OU*************@TK2MSFTNGP14.phx.gbl...
The best solution would be to implement a web service to hold all the
application logic, and thin clients including an ASP.NET web site and a
Smart Client (winform app) consuming this service. I'm afraid your
understanding of "Smart apps" is incorrect. They are fully featured
windows applications (no "markup sending", nor request-response model).
Starting from .NET 2.0, we have "ClickOnce" technology, which would be
best choice for your Smart Client part of solution.
check out
http://msdn.microsoft.com/smartclien...clickonce.aspx

"Jeff" <A@B.COM> wrote in message
news:Oo****************@tk2msftngp13.phx.gbl...
Please note this is NOT a rant or complaint! And yes, I'm
over-simplifying, but intentionally. Here goes...

With ASP.NET Web applications I like that I can access data from anywhere
without installing anything on the client (but I hate HTML and markup in
general and it's limitations, the request/response model, state
management, etc).

AFAIK, Smart apps or smart clients or whatever we call them are simply
variations of Web applications that somehow decide which markup to send
to some dumb client (perhaps to a full browser or to a handheld
device)... but we're still dealing with the request-response model (AJAX
notwithstanding).

Then there are Windows applications - ahhhh yes! The good ole message
pump and the full capabilities of the local machine, .NET Framework etc
all at our immediate disposal. No more request-response model to slow
things down and no HTML or other markup getting in the way of our UI
design efforts.

WHAT I want is the best of all application types. What application type
or types should I create in order to have the best of each of these
application types [in one "system"]. For the sake of this question,
suppose the application to be written is a basic CRM app (client contact
manager). It needs to provide the users with the ability to
insert/update/delete companies, contacts, appointments and notes,
generate reports, and send e-mail. It must be accessible via the Web and
because we all know that Windows XP is rather prevalent, we can assume
that a large percentage of users will have the .NET Framework.

So, the scenario is that we need an application that is available on the
public Internet and accessible to people with uplevel Web Browsers (and
nothing else installed locally), but for those with Windows XP and the
.NET Framework we can give them a much better and faster user experience
than is available via a browser.

Do I need to create two application? An ASP.NET Web application and a
separate Windows application that talks to my Web site via a Web service
or .NET Remoting? What would be the most efficient way to satisfy the
requirements while giving users the best possible experience given their
local machine's capabilities?

Thanks for your thoughtful reponses!

-Jeff


Jan 3 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

43
by: Davey | last post by:
I am planning on developing an application which will involve skills that I have very little experience of - therefore I would appreciate comments on my initial design thoughts. Overview on...
5
by: Barry Mossman | last post by:
Hi, can I detect whether my class is running within the context of a Console application, vs say a WinForm's application ? also does anyone know whether the compiler or runtime is smart enough...
4
by: tsui | last post by:
Dear all Someone say that past is Client/Server application, and now is distributed application, but i don't understand these terms Is it Client/Server application is mean two tiers, and only one...
4
by: nixon | last post by:
Hi there! Im trying to build a 3 tier application that uses a smartclient in the "view" layer. The communication between the smartclient and the server should be webservices because of potentiel...
15
by: limeydrink | last post by:
Hi all, I want to create a mobile field worker data solution. Let me explain... I work for a company that has some software used by call takers to enter information into a database about...
2
by: Jeff | last post by:
Please note this is NOT a rant or complaint! And yes, I'm over-simplifying, but intentionally. Here goes... With ASP.NET Web applications I like that I can access data from anywhere without...
1
by: HM | last post by:
Hi, I have an existing web application in ASP/VB which uses OCX controls. I want to replace them with a Smart client solution, but I do not want to change the whole application at the first go....
3
by: johnThemod | last post by:
Hi, Im new to these groups, Im wondering is it possible to develop a windows application(c#) and embed it into a browser. So if a user goes to this page, the application woudl be downloaded....
0
by: Kursat | last post by:
Hi, We have a network monitoring application wich generates some messages at unpredictable times. Our Windows Forms based client applications grab these messages and show them our clients. We...
15
by: (PeteCresswell) | last post by:
Some time within the next nine months, there's a pretty good chance I'll have the "opportunity" to port a bond trading system that I wrote - whose front end is currently MS Access - to .NET. ...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.