Most popular programming technology stacks
Published: 2021-09-05 20:29:52

If you are on the start of your programming career, you are probably thinking about what technology stack you should to learn.

You can be:
- Application developer(multiplatform or specific platform)
  - Desktop (Windows, Linux, MacOS)
  - Mobile (Android, iOS)
- Web developer (Firefox, Chrome, Safari, Edge) 
- Backend Service developer
- Game developer
- System developer

As application developer you can choose if you want to develop software for some specific platform (Mobile, Desktop, Web) or for all platforms as Multiplatform software developer.
Here is list of the most popular programming technology stacks:

# Desktop
### Windows
If you want to develop only for Microsoft Windows, you will need to go into Microsoft stack:
Language: C#
Framework .NET and Windows Forms
Editor: Microsoft Visual Studio
OS family: Windows 
This technology is good for every fans of Microsoft.

### MacOS
If you want to develop only for Apple Mac OS, you will need to go into Apple stack:
Language: Swift
Framework SwiftUI
Editor: Xcode
OS family: MacOS
This technology is good for every fan of Apple.

# Mobile
### iOS
If you want to develop only for Apple iOS, you will need to go into Apple stack:
Language: Swift
Framework SwiftUI
Editor: Xcode
OS family: iOS
This technology is good for every fan of Apple.

### Android
If you want to develop only for Android, you will need to go into Android stack:
Language: Java or Kotlin
Framework: Android SDK
Editor: Android Studio
OS family: Android
This is good for every fans of Android applications and you can develop your software on any operating system.

# Web
### Pages
Language: JavaScript
Framework: jQuery, Wordpress
Editor: Any editor (MS Code, WebStorm or Atom)
OS family: Browser in any platform
This is for everybody who love web technologies but want to create only simple web pages (blog, personal or company page, eshop, etc).

### Application
Language: JavaScript or TypeScript
Frameworks: React, Vue, Angular or Svelte
Editor: Any editor (MS Code, WebStorm or Atom)
OS family: Browser in any platform
This is for everybody who love web technologies and want to create PWA (Progressive web application) or SPA (Single Page Application).

# Cross-platform
If you want to develop for Android, iOS, Windows, MacOS, Linux and Web browser with only one code, you can choose from this stacks:

### Any Mobile
Language: TypeScript
Frameworks: React Native
Editor: MS Code
OS family: Android, iOS
This is for everybody who already know React with web technologies and want to create some multiplatform mobile applications.

### Any Desktop
Language: TypeScript
Frameworks: Electron
Editor: MS Code
OS family: Windows, MacOS or Unix like OS
This is for everybody who already know web technologies and want to create some multiplatform mobile applications.

### Any OS (All mobiles and all desktops)
Language: Dart
Framework: Flutter
Editor: Android Studio or MS Code
OS family: Android, iOS, Fuchsia, Windows, MacOS, Unix like OS
Dart is very universal programming language and with Flutter it is very strong technology for creating really multiplatform applications.


# Other alternatives
### GNU/Linux
If you want to develop for some Linux distro, you will need choose from two technologies:

**Gnome:**
Language: C/C++/Vala
Framework: GObject
Editor: GNOME Builder
OS family: Any Linux distribution

**KDE:**
Language: C++/QML
Framework: Qt
Editor: Qt Creator
OS family: Any Linux distribution

This is good for everyone who is fan into Free & Open Source software and want to develop software for freedom world.


### Alternative mobile phones (Ubuntu phone, Plasma mobile, Sailfish, pureOS)
Language: C/C++/QML/Vala/Python
Framework: GObject or Qt
Editor: GNOME Builder or Qt Creator
OS family: Any Linux distribution
This is for every fans who love open source software and any mainstream alternatives.


## Conclusion
I know it is a lot of technologies which you can learn and use.. But this is only for programming Mobile, Desktop or Web applications..
We have also a lot of technologies for develop Games, Backend services or Embedded systems.
These I want to add into my next articles. If you are interested in about this so you can follow me and you will be notified for my next articles.. ;-)