用于桌面程序的跨平台开发的框架和库

在本文中,我将向您介绍一些最流行的框架,这些框架将帮助您开发适用于Windows / MacOS / Linux计算机的软件。如果您是一位经验丰富的程序员,那么在本文中几乎找不到任何新内容。对于初学者来说,这是他们的问题的简单解决方案-迅速编写一个良好的(尽可能多的)跨平台程序。

什么是跨平台开发?

无论如何,跨平台开发是什么?如果您需要应用程序以最小的人力资源成本一次在多个操作系统上运行,那么您很有可能会诉诸于此。您开发一个程序,编写一个代码,然后它就可以在所有受支持的平台上运行。方便!但是,值得在跨平台和本地性之间进行区分。

, — . . : , .

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