Linux有哪些像Delphi、WinForm、WPF的可視化編程環(huán)境?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
人們對(duì)于程序有一個(gè)執(zhí)念,那就是-“如果能動(dòng)動(dòng)鼠標(biāo),拖拉一些控件,一個(gè)程序就好了,那是個(gè)多么美好的世界!" 在Windows發(fā)布之后,這種感覺(jué)似乎更加強(qiáng)烈! Windows剛發(fā)布的時(shí)候,其實(shí)有一股程序員的“淘汰潮”。很多Dos程序在面對(duì)Windows復(fù)雜的API,都迷茫了。什么CreateWindow、什么GetMessage、各種Button,新的Windows機(jī)制讓很多Dos時(shí)代的程序員如同進(jìn)入了一個(gè)新的世界,程序復(fù)雜度急劇上升,難度變大! 這時(shí)候,有個(gè)軟件拯救了他們,那就是Visual Basic! 沒(méi)錯(cuò),就是我們的老朋友-VB。 很多人在使用過(guò)VB之后,再對(duì)比一下C語(yǔ)言的Windows程序,難易程度上下立判。一個(gè)基礎(chǔ)的Windows骨架程序,包含C代碼、Resoruce文件,代碼總行數(shù)在100+;類(lèi)似的功能的MessageBox VB程序,拖動(dòng)一下按鈕,然后編寫(xiě)一個(gè)“Click”方法就可以了,代碼行數(shù)3行。 從此,世界就進(jìn)入了一個(gè)可視化的世界! 對(duì)我們的影響有多深遠(yuǎn)呢? 現(xiàn)在到處都是“VB”化的環(huán)境,我們來(lái)說(shuō)一些他們的名字,大家一定耳熟能詳,譬如零代碼平臺(tái),譬如可視化大屏。 VB就像打了一扇大門(mén),給各位老板提了一個(gè)醒,打開(kāi)了一扇大門(mén),可視化拯救世界,程序編寫(xiě)如此簡(jiǎn)單,從此就走上了一條越來(lái)越卷的道路! 很快,其它語(yǔ)言的“VB”也很快推出,如同雨后春筍。 Borland推出了著名的Delphi,基于Object Pascal;Sybase推出了PowerBuilder,專(zhuān)注于數(shù)據(jù)庫(kù)領(lǐng)域,有自己專(zhuān)利的Data Window技術(shù)。 為了對(duì)抗Java,微軟在語(yǔ)言進(jìn)化到“自動(dòng)垃圾收集(GC)”的階段,推出了C#語(yǔ)言,以及基于C#的WinForm框架,隨后又出了高級(jí)的一點(diǎn)的WPF,然后是WinUI。 那么這股“GUI”框架在Linux上面有沒(méi)有對(duì)應(yīng)的實(shí)現(xiàn)呢? 其實(shí)是有的,并且有上面提到的各種編程語(yǔ)言的對(duì)應(yīng)版本。 1、GamBas(Basic) 這是一個(gè)老牌的Basic編程環(huán)境,可以提供非常多的程序模板,編寫(xiě)不同的程序。 在程序類(lèi)型方面,可以提供命令行、數(shù)據(jù)庫(kù)、Web等特定類(lèi)型的Template Project! 當(dāng)然,他提供真正的可視化編程環(huán)境,拖動(dòng)控件,編寫(xiě)響應(yīng)事件,一個(gè)程序就構(gòu)建起來(lái)了! 2、Lazarus(Pascal) 這個(gè)可以看做“Delphi”的Linux版本,和Delphi7非常類(lèi)似,提供了獨(dú)特的"多個(gè)窗體同時(shí)懸浮,一起工作”的界面。 這種界面,非常具有辨識(shí)度。因?yàn)槲覀兤毡槭褂玫腣isual Studio、Vs Code、IDEA等節(jié)目,都是多文檔+多Tab界面,而Lazarus的界面非常“Delphi”化,讓人一看便知! 很多人可能質(zhì)疑Lazarus的功能,覺(jué)得他類(lèi)似于一個(gè)“玩具”產(chǎn)品。其實(shí)這是一個(gè)有點(diǎn)過(guò)時(shí)的概念。 Lazarus更像是Delphi7的正宗延續(xù)。現(xiàn)在的Delphi似乎走上了一條不同的道路,在走多端融合,各種操作系統(tǒng)都支持的道路。走的結(jié)果,有點(diǎn)像Java的GUI程序。各種平臺(tái)都支持,但表現(xiàn)都比較差。則Lazarus則堅(jiān)持“Delphi7”路線(xiàn),精簡(jiǎn)實(shí)用! 功能方面,有的人甚至認(rèn)為L(zhǎng)azarus已經(jīng)比正宗的Delphi要好了。這可能是很多人意想不到的事情-開(kāi)源比正宗的商業(yè)作品好,它也說(shuō)明了一個(gè)道理-不作死就不會(huì)死! Lazrus比Delphi差的一點(diǎn),就是沒(méi)有那么多商業(yè)控件!目前這種情況,正在慢慢改變! 如果你是一個(gè)Delphi“遺老”,可以嘗試一下Lazarus,不要錢(qián),還好用,何樂(lè)而不為呢? 3、Avalonia(C#) 這個(gè)是C#的一個(gè)跨平臺(tái)Gui框架。 Avalonia,和微軟官方的WPF框架非常類(lèi)似。如果你是一個(gè)WPF的高手,Avalonia會(huì)讓你的技能在Linux也有用武之地! 相同的窗體(xaml),基礎(chǔ)的xml代碼可以直接拷貝使用。你可以在Windows上面設(shè)計(jì)Avalonia程序,然后在Linux上面即可! 當(dāng)然,如果是純正的Linux平臺(tái),可能需要你深厚的WPF功底了,手寫(xiě)一下xaml代碼。 4、Swing、JavaFX(Java) 談到跨平臺(tái),當(dāng)然少不了Java。 在這個(gè)方面,Java提供了Swing和JavaFX,Swing是比較老的框架;當(dāng)然JavaFX也不年輕了。 Java在GUI方面一直都不是很支持,處在一個(gè)“有,但是不怎么好用”的狀態(tài)。 該文章在 2024/12/17 12:26:30 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |