In this article, I will tell you about some of the most popular frameworks that will help you develop software for Windows / MacOS / Linux computers. If you are an experienced programmer, you are unlikely to find anything new in this article. It is more for beginners looking for a simple solution to their problem - quickly writing a good (as much as possible) cross-platform program.
What is cross-platform development?
What is cross-platform development anyway? If you need your application to work on several operating systems at once with minimal human resource costs, then most likely you will resort to this. You develop one program, write one code, and it runs on all supported platforms. Conveniently! But it is worth distinguishing between cross-platform and nativeness.
, โ . . : , .
? -, ( DotNet , Swift/objective C ), -> .
โ , , . , , , . GUI. :
Electron JS
, Electron JS "Hello World". " " . , Electron . Electron JS โ JavaScript , Web โ HTML & CSS, JS. Electron JS Chromium . Electron'a , โ , , . , Chrome, . : Electron'e โ Slack, Skype, Discord, VSCode, Atom, Postman, Insomnia .. , ยซ ยป. ,
Web
( "")
( )
GitHub
( )
NW.JS
Electron, NW.JS Web . NW.JS Intel, . NW.JS Electron, . Electron, NW.JS Chromium . NW.JS Electron, - . .
Web
( "")
( )
GitHub
( )
Qt/QML
Qt โ ++ Python ( Ruby, PHP, C# . ). Qt , : 2 Android, Kaspersky Internet Security, Virtual Box, Skype, VLC Media Player, Opera . - KDE Qt. Qt โ Qt Creator, Qt Designer . , ( , , ) . Qt , .
( Python C++, ) ->
windows
GTK
GTK Qt X Window Systems. Gnome Foundation GNU. (Gnome, xfce MATE, Cinnamon, AfterStep, Marco ), , : Chromium, FireFox, MonoDevelop, Gimp . GTK C, (C, C++, Python, Java ). Gtk - Glade
( "" Gtk - )
Avalonia
, Microsoft . Avalonia XAML. Avalonia WPF/UWP. C#. XAML Avalonia . , , .
(+ )
, , (, )
WPF ( WPF , , WPF )
( CSS, )
( , , )
( , , )
WxWidgets/WxPython
wxWidgets ( wxWindows) โ - , (GUI). , GUI. , HTML, XML , , , , , , , , , . Python -WxPython. : FileZilla, AudaCity, BitTorrent .
Tkinter
Tkinter - - - ( Python), , Python. Tkinter Python, Tk. Tk (graphical user interface โ GUI), Tcl (Tkinter ).
( Tk )
GUI Python
In this article, I did not talk about all the frameworks, but about the most popular, actively supported and suitable for completely different projects and tasks. I urge you to tell in the comments about your experience with various frameworks (but only with those that are in the article), what are the pros and cons do you see in cross-platform development?