If I say 'web programming is more challenging than windows programming', I am sure lots of windows programmers are going to disagree with me. Ofcourse this is an arguable topic. Both windows programming and web programming has its own challenging areas. My intention is to explain some of the challenges faced by programmers when they switch from windows programming to web development.
Since this is an ASP.NET tutorials site, my topics are based on ASP.NET development.
Learn a new technology
You may be a great C# or VB.NET developer. But if you want to do web development, you need to learn a new technology called ASP.NET. ASP.NET is the latest Microsoft technology for web development. To learn more about the ASP.NET technology, read the chapter titled < ahref='Tutorials.aspx?TutorialId=56'>What is ASP.NET ?.
Note: ASP.NET is just one of several technologies available for web development. ASP, PHP etc are other examples for web development.
Do not know the users
If you develop a windows application, you know who is going to use it. You can always give special instructions to the user on how to use it, how to work around if there is any problems in the program etc.
But in case of a web application in internet, you will not know who is going to use. Any user can visit your web site and access the application. You do not get any chance to give any special instructions to the user. The application must be self explaining and easy to use. You must have very good error handling so that even if the user enters wrong values, application must respond accordingly and guide user to correct the values.
Familiarity with application
Most of the windows applications will be accessed by the same users again and again. Over a period of time, the users will become familiar with the menu, screens and various features of the application.
But in case of an internet web site, new users may be visiting the site every day. The web application must be self explaining and should be easy to navigate. Most of the users will take a quick look at the site and try to find what they want. If they cannot locate what they want in few seconds, they will simply leave your site!
There are several hackers looking for opportunities to hack systems in the internet. There are several security issues you must consider when you develop a web site so that you can secure your web site from hackers.
Bad users! Bad data!!
You cannot expect all users will use your web application the way you want to. Users may try all bad data or try to find loop holes in your application. Your application must be more secure and should have strict validation of user inputs.
You do not know what kind of system a user will have. Some users may have Windows XP and some others may have Windows 98. Some people may be accesing your site using Internet Explorer and others may be using Netscape browser. Even, within in Internet Explorer, there are several versions available. You must take care of all these and make sure your application works well with most of the known browsers and should support multiple versions of the version. Also, application should work well with different screen resolutions.
Slow and fast internet connectivity
Not all users have high speed internet. Your web application should work well with low speed internet too. If you use lot of graphics, then it may be very slow to load in low speed internet connections. But if you completely avoid graphics, you will not be able to make the application attractive to many users. You must choose a balanced approach, considering the majority of your users.