The Nitty-Gritty of Desktop Application Development: Part 1
Desktop application development which I sometimes refer to as D.A.D is one of the most important programming forms which i feel hasn’t really gotten much appreciation as it warrants. Talking about it completely might seem a little bit encyclopedic and a bit tiresome to you guys so, i’ll be dividing it into two sections. This first section will be a clear understanding on the basic terms associated with D.A.D which will in return give you a better and much more broader understanding of the entire process of Desktop Application Development.
So relax, get a cup of coffee and let’s get started. Firstly
Desktop; ‘Whats a Desktop ?’
Whenever the word desktop is said, the first thing that comes to the mind of the ordinary person is that big device that doesn’t leave the house, the computer that’s positioned at the office desk that has another big box-like structure attached to it (that’s the CPU). So typically what we think is that a desktop is a desktop computer made up of the monitor and CPU structure only. But really… ?, well that’s actually correct but that’s not the only meaning of a desktop. The other meaning of a desktop which is of concern to us is that a desktop refers to the desktop environment, which is a Graphical User Interface metaphor that allows for interaction between the user and the operating system i.e the desktop is the means of communication between a computer user and the operating system which is the computer itself. So a desktop is both on a desktop computer or a laptop computer (also called screen on mobile devices)
Wow, now we know what a desktop really is so we can now move on
Desktop Application; ‘ What is a desktop application ?’
Firstly Simply put, an application is a type of software that allows you to perform specific tasks. Applications for desktop or laptop computers are sometimes called desktop applications, while those for mobile devices are called mobile application(or apps). So therefore we can say that a Desktop application is a stand-alone desktop (which has been explained above ☝️) or a laptop application. Examples includes our well known MS word (including all office tools), illustrator, Smadav etc. Oh why are i using these programs as examples …… okay other examples of desktop applications as it concerns us(developers/programmers) are our different IDE’s such as intellJ, Atom, Phpstorm, Eclipse, Android-Studio, Netbeams etc.
So what these basically means is that no desktop application developer, no programming and if no programming, it means no websites, no android applications, no more blogs, no browser and the list goes on an on. It therefore means that desktop application developers are vital and key to the survival of software development. So if you’re a desktop application developer you should be very proud right now reading this. As the only guys who can compete with you right now are the operating system developers.
“Yeahhhh… i’m a desktop developer wooow 😃”. Hey, I’m just kidding
Desktop Application Development: What is desktop Application Development?
With a complete understanding of a desktop and desktop application, we can now move into the entire process involved in desktop application development. Desktop application development refers to the requirements, resources and necessities that goes into building a specific-platform or cross-platform desktop application. The person who is involved in the entire desktop application development is a desktop application developer.
You’ll notice two key words in the definition specific-platform and cross-platform. Now lets take this one after the other.
Specific-Platform application: This refers to applications programs that run on a particular operating system. for example let’s say that MS Office which is a windows desktop application program, is a specific-platform. It means that Ms Office will not work on other platforms like the Mac, Linux, Solaris etc.
Cross-Platform applications: This refers to applications that can run or can be executed on more than one operating system. Cross-platform applications may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.
Although depending on the type of project in mind, the requirements, the platform that it’s being developed on or being developed for , there could be quite a list of programming language options for you to choose from which would be discussed in the part 2. But you should know that currently if you wanted to build an efficient desktop application, it will be more advisable to make it a cross-platform (which has already been explained above ☝️). The reason is that currently more and more people are beginning to use multiple operating systems and if you want your software to be used irrespective of the operating system being used, then you definitely need to consider building a cross platform application.
Well In my next post i’ll explain how the different programming languages can be utilized to create desktop applications. You’d be surprised that practically most, if not all programming languages can now be used to develop desktop applications. How?, well…. till then.
I hope this post was helpful, we’ll elaborate more on part 2. If you like this you could appreciate this with a ❤️