デスクトッププログラムのクロスプラットフォーム開発のためのフレームワークとライブラリ

この記事では、Windows / MacOS / Linuxコンピューター用のソフトウェアの開発に役立つ最も人気のあるフレームワークのいくつかについて説明します。経験豊富なプログラマーであれば、この記事で新しいことを見つけることはほとんどありません。問題の簡単な解決策を探している初心者向けです。優れた(可能な限り)クロスプラットフォームプログラムをすばやく作成します。

クロスプラットフォーム開発とは何ですか?

とにかくクロスプラットフォーム開発とは何ですか?最小限の人的資源コストで一度に複数のオペレーティングシステムで動作するアプリケーションが必要な場合は、おそらくこれに頼ることになります。1つのプログラムを開発し、1つのコードを記述すると、サポートされているすべてのプラットフォームで実行されます。便利!ただし、クロスプラットフォームとネイティブ性を区別する価値はあります。

, — . . : , .

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


この記事では、すべてのフレームワークについてではなく、最も人気があり、積極的にサポートされており、まったく異なるプロジェクトやタスクに適していることについて説明しました。さまざまなフレームワーク(ただし、記事にあるフレームワークのみ)での経験についてコメントで伝えることをお勧めします。クロスプラットフォーム開発では、どのような長所と短所がありますか?




All Articles