Cadres et bibliothèques pour le développement multiplateforme de programmes de bureau

Dans cet article, je vais vous parler de certains des frameworks les plus populaires qui vous aideront à développer des logiciels pour les ordinateurs Windows / MacOS / Linux. Si vous êtes un programmeur expérimenté, il est peu probable que vous trouviez quelque chose de nouveau dans cet article. Il s'adresse davantage aux débutants qui recherchent une solution simple à leur problème - écrire rapidement un bon programme multiplateforme (autant que possible).

Qu'est-ce que le développement multiplateforme?

Qu'est-ce que le développement multiplateforme? Si vous avez besoin que votre application fonctionne sur plusieurs systèmes d'exploitation à la fois avec des coûts de ressources humaines minimes, vous y recourrez très probablement. Vous développez un programme, écrivez un code et il s'exécute sur toutes les plates-formes prises en charge. Idéalement! Mais il convient de faire la distinction entre multiplateforme et nativité.

, — . . : , .

? -, ( 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


Dans cet article, je n'ai pas parlé de tous les frameworks, mais des plus populaires, activement pris en charge et adaptés à des projets et des tâches complètement différents. Je vous exhorte à dire dans les commentaires de votre expérience avec divers frameworks (mais uniquement ceux qui sont dans l'article), quels sont les avantages et les inconvénients que vous voyez dans le développement multiplateforme?




All Articles