And now for some common sense...
a.) Not neccessarily so...
It has proven very difficult if not impossible to replicate a Windows
application on the web. The web has not supported the rich and robust user
interface that has been available when using Windows controls so replicating
your Windows application on the web may prove very challenging to do well.
This is changing quite rapidly at this very point in time. While Microsoft
invented the initial functionality it was not supported by the "open-source"
communists because -- one must presume -- Microsoft's functionality required
supporting ActiveX. The open-source solution that finally emerged has been
called AJAX which stands for A(synchronous) J(avascript) X(ml). Microsoft's
current implementation no longer requires ActiveX and is called Atlas.
Basically, it allows the user interface of a web application to
asynchronously refresh itself or transporting data without rebuilding the
entire page on the web server. You will likely want to adopt the use of
Atlas [3].
To achieve the best results both AJAX and Atlas require significant
development skills using JavaScript (legacy C syntax and grammar).
b.) No need to deploy anything at a customer's site...
If your application is built to run on a web server and being offered to
customers as a hosted service you do not need to deploy anything to any
customer site. All they will need is a web browser. If I'm correct about
understanding your business objectives what you are doing is very popular
right now. Many many many applications are being redeployed so they run on
web servers rather than Windows applications running on the desktop.
What is called SaaS (Software as a Service) is a popular term right now. It
means you are providing a software application that runs on a web server and
you offer it as a service to your customers. Search the web for more about
the SaaS business model and how it affects the design of your application.
It sounds to me like you want to deploy using SaaS. If this is correct you
will host the application and database on your own servers accessible by
using Internet protocols or you will find a hosting service to host your
application and database on their servers which gives you more time to
continue working on developing and supporting your customers.
c.) Learn C# and ASP.NET 2.0 then move to ASP.NET 3.0 as soon as possible.
Use SQL Server 2005 and/or SQL Server Express 2005 as needed.
The syntax and grammar for web development requires a mastery of client-side
scripting (JavaScript) and server-side OOP (C#, VB.NET etc.). Those that use
VB are almost always not competent with the client-side programming as the
syntax and grammar of JavaScript is the same as that for C# and Java which
scares them and makes them, go pee-pee in their panties ;-) (its true
though)
There are exceptions and I know there are a good handful of VB developers
that are masters of their craft but I always recommend C# as elements of the
C syntax and grammar is also used by many other languages we need to use
with web development. XPath, XQuery, DLINQ and so on. You can prove these
assertions using common sense and checking out the facts at the defacto
standards body at W3C [1].
Nobody is designing any modern languages using VB syntax and grammar.
Nobody.
When it comes to web development nothing is "easy." Developing for the web
is challenging and there is much to learn about the browser
incompatibilities (client-side). This is especially true for page layout and
style using CSS (another web development languagethat uses legacy C syntax
and grammar) and this lso applies to the use of Javascript as I've
explained. As a server-side language C# is as easy to learn as any language.
Easier perhaps because it is clean and uncluttered with goofy terminology
like VB is. The real challenge is learning Object Oriented Programming
(OOP)and how to apply language skills using OOP with the .NET Framework.
Learn JavaScript and C# languages and get started by using Microsoft
documentation [2,3].
d.) Microsoft also has a solution called "Smart Client" development which
you may find to be perfect for you. Maybe not but I mention Smart Client
development because it supports Windows applications that replicate and
update themselves using Internet protocols to transparently connect to a web
server. This hybrid model may be what you need and you should study it.
e.) Now you've heard from a C# developer and a VB.NET developer.
<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL
http://www.metromilwaukee.com/clintongallagher/
[1]
http://www.w3.org/
[2] ASP.NET 1.0 and 1.1 documentation is at msdn.microsoft.com.
ASP.NET 2.0 and 3.0 documentation is at msdn2.microsoft.com. Note the
use of the msdn2 sub-domain! A typical google search would be composed like
this...
selecting a development language site:msdn2.microsoft.com
[3]
http://asp.net/