From web developer to software developer - what do you need to know?

I am a web developer who is trying to break into software development. What should I know about desktop applications before developing and deploying them?

I understand that this question is a bit vague, but if that helps, I am looking for answers similar to " What should a developer know before creating a public network " strike " website .

+4
source share
6 answers

I would work on a deployment strategy, i.e. installers, ClickOnce, etc. It really worked the first time I deployed a desktop application.

+1
source

Debugging will get the LOT more "interesting." While most situations resolve themselves to a common scenario, just remember that essentially every desktop is unique at its discretion, and sometimes this installation or a special application that the user launches can affect your application in unknown ways. I am still encountering a problem with my application that uses windows "environment folders", but it does not seem to work on the Danish language version of Windows.

I'm not talking about this to scare you away, but more to make sure that you have some way to easily debug or get a dump of the situation if you need to troubleshoot the application on the user's computer.

+1
source

It really depends on your target application space.

Desktop applications were written anyway from Java to VB to C ++ to ASM, and even with the Octavian Good Boy.

You must allow the application to use the technology necessary for its development.

You are probably not going to write a 3D video game in VB. But then again, you are not going to write an account package in ASM.

Edit:

**Know** your customer. **Know** your application. **Know** what algorthms are necessary to implement your application. **Know** your requirements and goals up front. **Know** the platform. (Win32, Mac0S, Linux, JavaVM, etc...) Evaluate tools that will help you acheive project requirements and goals. Design your software. Implement your software. 

Another note occurred. Although this is an import, to begin with a clear definition of your requirements, you also need to know that the requirements may be in Flux during the development process depending on your client. Control the creep of the area as it arises, or it will bite you at the end.

+1
source

One separate note: data binding is usually different in the desktop model. Since the web model is disabled, you will always need to check for a new copy of your data or make sure that you go to your presentation level after an accident.

Typically, with the desktop applications, the language / frame that you use will check and update its bindings automatically, which makes it nice when you change the basic level of data, but can be confusing when you see your set / drop-down list and you did not expect this.

+1
source

Threading is becoming more explicit in desktop applications, so you should probably be familiar with the basic concepts.

+1
source

The desktop application is more OS-dependent, so you may need to know some properties of OS dependencies, such as process and thread management, installation services (I mean windows services), file system, etc.

0
source

All Articles