邊隻lang 寫GUI program 最好?

115 回覆
1 Like 50 Dislike
2022-01-06 19:31:01
ubs
2022-01-06 19:45:33
其實最快都係C/C++,不過有個問題係如果free漏memory就好大鑊,你會debug de到你懷疑人生,唔知邊個位free漏,但而家好似有smart pointer可以理解一下

有幾個係跨平台C/C++桌面開發
wxWidgets
Qt Widgets
Qt Quick and QML
gtk
Duilib

另外Qt Quick同QML係新嘢,qt widgets係舊

上面wxWidgets同Qt都有python版本

MFC比較舊,可能冇乜人用,學嚟都已經冇咩意思

如果你要做啲windows specific嘅嘢,可能要用到win32 api,其實如果你唔用上面堆framework去做,直接用win32 api都可以砌晒所有嘢出嚟,不過可能極之複雜,所以我通常會用framework,如果framework提供唔到嘅功能,先至去直接用win32 api去做配合配搭,呢個應該係最好嘅選擇
2022-01-06 19:58:32
另外我嗰陣好鍾意研究點寫windows gui,所以我都知java都有唔同嘅gui framework

Swing,SWT,AWT,SwingX,JGoodies,JavaFX,Apache Pivot,qtjambi

不過java最大嘅問題係要部電腦安裝java,同埋樣衰同慢,佢有啲只係模仿windows個樣,同windows真正個樣其實都有少少唔同,例如swing咁,如果用佢原本個樣真係樣衰都仆街,但可以透過set look and feel去整到有啲似windows個樣,但實際上你會發覺,同真正windows個樣都係有少少分別,因為佢個樣只係畫出嚟

而SWT嗰啲就真係用返Windows啲元件,但係有個好重要嘅問題,就係佢有幾個唔同嘅jar,分別係win 32bit、win 64bit、linux 32bit、linux 64bit,最大嘅問題係假如部機裝嘅係32bit jvm你用64bit jar係用唔到嘅,即係話你每次寫完之後,如果想喺唔同系統使用,你就需要build 4個versions出嚟,佢唔同C++咁,C++有啲寫完之後,你就算係32bit定64bit都一樣可以行到,呢個問題我至今都未諗到方法去解決,可能根本就解決唔到,真係要build 4個versions先得
2022-01-06 20:00:50
Vb
2022-01-06 20:04:32
間間都係禁
2022-01-06 20:12:28
Vscode 都係用electron
2022-01-06 20:14:18
另外,因為我以前好鍾意研究windows gui,所以我以前都試過用C# Winform去寫,但係其實佢都有個問題㗎,就係.net version問題,假設你寫嘅時候係用Microsoft .NET Framework 3.5,但係另一部機係新Windows版本,咁新嘅Windows入面其實已經冇咗3.5 version,可能得veriosn 4或者包含version 4.5,你需要安裝3.5 version先可以run到你寫嗰個program,但問題係如果你喺嗰部機冇權限去安裝,最後你寫嗰個program就等於廢咗武功,掉返轉頭嚟講,假設你用新機寫,係用緊version 4,假設你掟去啲舊機,你同樣需要安裝version 4先得,我記得唔知係咪WinSCP都有呢個問題,要你安裝個.net framework

就好似上面java嗰個情況咁,你都可以喺寫之前下載Microsoft .NET Framework 4或者Microsoft .NET Framework 4.5,之後根據逐個version去build一個屬於佢嘅version,不過就好麻煩咁
2022-01-06 20:26:46
睇你取捨 VSCode用electron 係因為想cross platform 同可以比多d人寫plugin. 如果追求performance就寫返native.
2022-01-06 20:53:50
其實要即食多啲libraries用,我估js同python最多,github度勁多opensource嘢同教學,js用npm,其次係C++同java,java其實好多jar可以用,之後先到C#同VB,可以用NuGet,最後先到rust、go、lua嗰班

喺github有時有啲page寫住awesome XXX就已經包含咗嗰隻language嘅一堆經常用到同主要嘅libraries

例如話Awesome .NET!就包含咗一堆.net嘅libraries
https://github.com/quozd/awesome-dotnet#algorithms-and-data-structures

重有其他,例如
Awesome Java
https://github.com/akullpp/awesome-java

Awesome Python
https://github.com/vinta/awesome-python

Awesome Rust
https://github.com/rust-unofficial/awesome-rust

Awesome JavaScript
https://github.com/sorrycc/awesome-javascript

Awesome React
https://github.com/brillout/awesome-react-components
https://github.com/enaqx/awesome-react

Awesome Redux
https://github.com/brillout/awesome-redux
https://github.com/xgrommx/awesome-redux

awesome-gui
https://github.com/zoubingwu/awesome-gui

Awesome Go
https://github.com/avelino/awesome-go

重要幫你分埋類,簡直係應有盡有,如果冇都可以喺github或者google搵其他,stackoverflow都提供到好多library嘅線索
2022-01-07 15:11:40
C++除咗比較出名嘅wxWidgets同Qt之外,其實重有一大堆,例如IUP、libui、boost ui之類

呢個網有個list

https://www.reddit.com/r/cpp/comments/babfl5/a_pretty_big_list_of_c_gui_libraries/

不過我估大部分都係小眾使用
2022-01-07 15:28:35
其實重有幾樣嘢叫aardio、directui、soui、nim duilib,不過呢堆好似係大陸嘢嚟
2022-01-07 15:39:34
重有樣嘢叫Delphi,一間公司叫Borland整出嚟,以前好似好出名,用Object Pascal寫,當然而家應該都冇乜人用pascal,除咗中學可能會用嚟做入門教學之外,所以Delphi而家應該少人用

呢間公司後尾重整咗樣嘢叫C++ Builder,用C++寫

不過上面嗰兩樣嘢如果只係自己使用就係免費嘅,但係喺公司用就有商業版license

佢係咁樣寫的:

「5.我是一名開發人員,想為公司使用社區版,我可以這樣做嗎?
是的,但要遵守以下概述並在許可協議中所述的限制。如果您是小型公司或組織的員工,每年收入不超過5,000美元,則可以使用社區版。一旦公司的總收入達到每年5,000美元,或者您的團隊擴展到5個以上的開發人員,您就必須購買無限制的有償商業許可證。」
2022-01-07 15:46:27
印象中Delphi依家寫到android native, 覺得間公司好撚癲
2022-01-07 15:52:22
我寫開pthon

我做過幾個project仔 (GUI)
python + pyqt
python + kivy
python + pywebview (react + tailwind css)

因為我寫開web野多用洛去 python + pywebview 最順手 又系全平台可用

平時D 即食bot仔 直接用ipynb in vscode算了

要寫server side cli program
我會用 python + typer + rich

webserver 我就用 FastAPI 做API server / Client UI 用 react 寫
2022-01-07 15:55:43
其實如果寫啲極少gui嘅,我以前重睇過一種叫VBScript 簡稱佢做vbs
2022-01-07 16:11:00
如果喺excel,可以用vba,我聽講而家可以喺excel入面直接用JavaScript api定typescript,不過功能上可能因為佢係新嘅所以只能夠做到啲基本嘢,不過睇落都ok

https://medium.datadriveninvestor.com/excel-javascript-api-stock-data-521ba4f1af7a?gi=c2be067e90d5
2022-01-07 16:30:54
期實也可用python 做excel

收費有live stream data PyXLL, xlwings
唔洗live stream Only gen excel report
可以用 pyexcel 簡單易用

不過MS 官方真接support JS 會更好
2022-01-07 16:31:02
其實我重想講吓libui,之前我見呢隻嘢好似好有野心咁,一次過整咗好多隻language binding出嚟,例如python、C++、C#、lua、go之類,不過我見佢好幾年都冇更新到,睇嚟已經玩完咗,我感覺上就係因為佢野心太大,冇辦法專注去整,結果就好似恆大爆煲咁玩完咗

https://github.com/andlabs/libui#libui-a-portable-gui-library-for-c
2022-01-07 16:42:33
係得,我試過用xlwings,不過我覺得呢啲都係自用好啲,我發覺佢有時會俾防毒擋住,好似係喺vba入面call出去嗰陣,但係出面直接用python反而冇問題

所以Microsoft直接整JavaScript係比較好
2022-01-07 17:56:30
其實重有隻嘢叫quasar framework,用electron結合vue
2022-01-07 17:57:54
大陸嗰邊有隻叫易語言,我未用過,不過我見佢哋係用中文嚟寫code,都真係幾黐線
2022-01-07 18:00:23
同埋我見過大陸有個黐線佬自己一條友整咗隻嘢出嚟,叫做gaclib,要用visual studio去寫
2022-01-07 18:14:21
electronjs
2022-01-07 20:48:40
你要問「邊隻language +邊隻framework 寫 xxx platform 既GUI 最好?」
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞