There has been a lot of talk about how web development is different from other types of development and how exactly it differs. I will try to answer this question in this post by describing how web application development is different from desktop, mobile, and native app development.
Web development is how software is developed for websites, mainly involving HTML, CSS, JavaScript/jQuery etc.
Desktop applications are designed to be used on the desktop environment of a computer with a keyboard and mouse. Desktop applications are written in languages like C++, Python, Java etc.
Exactly (adverb): expressed with the greatest possible degree of precision or detail; precisely
Mobile apps are designed to be used on mobile devices that have limited screen size and input options provided by touch screen technologies. Mobile applications are mainly written in java, objective-c etc.
Native apps are developed for a particular type of platform, whether it’s Windows, Mac OSX, iOS or Android. Native applications are written in languages like Java, Lua etc.
The main differentiating factor between all these types of applications is how they are distributed to users and how they function when installed on user devices. Web apps are usually hosted on web servers and accessed using the browser. Desktop apps are installed directly on PC or Mac machines via an installer that can be downloaded from a website or purchased on physical media like DVD. Mobile apps are downloaded from app stores and installed directly on mobile devices, while native apps can be installed using an installer that installs the application along with any dependent components included in the package (like Java/Lua runtimes) or installed via an application programming interface (API) provided by the target platform (like the Mac OSX or iOS “App Store” APIs).
The different types of applications differ in how they access and process data: Web apps send requests to backend servers via HTTP requests provided by browsers, where backend databases are stored. Desktop apps have full read/write access to their file system so developers can store application data on local drives and files. Mobile apps have read-only access to the file system so all data must be stored remotely in a backend server or cloud storage. Native applications can also store application data locally if they wish, but the difference is how much control the user has over this process: web and mobile apps typically don’t allow users to see how their data gets saved, desktop applications generally give users access to all the data that gets saved by how it’s been configured.
In conclusion, web development is how software is developed for websites using technologies like HTML, CSS and JavaScript/jQuery etc., while desktop apps are developed for Desktop PCs using languages like C++, Python, Java etc., mobile apps are designed to be used on mobile devices and written in languages like Java, Objective-C etc., and native apps are developed for a particular platform using languages like Lua. The main difference between the types of apps is how they’re distributed (web app: hosted, desktop app: installed via an installer, mobile app: downloaded from the app store, native app: installed via an installer that can install dependent components,) how they access and store data (web app: server, desktop app: file system, mobile/native app: cloud) how users can control how their data gets saved (desktop app: generally gives the user full control, web/mobile apps don’t give the user any control).