www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]上位機(jī)開發(fā) 常用的平臺及語言

一、有哪些上位機(jī)開發(fā)平臺(優(yōu)缺點(diǎn)和使用場景)

由于上位機(jī)概念的廣泛性,所以上位機(jī)開發(fā)平臺可以是任何開發(fā)平臺。這里介紹幾個(gè)常用的經(jīng)典的上位機(jī)開發(fā)平臺及其特性。

VB(Visual Basic)

開發(fā)語言:Basic(BASIC是一種直譯式的編程語言,在完成編寫后不須經(jīng)由編譯及連接等步驟即可執(zhí)行,類似腳本語言)

開發(fā)工具:Visual Basic(語言簡單易用,對面向?qū)ο缶幊毯投嗑€程編程支持不完整)

適用平臺:WINDOWS ALL

平臺特點(diǎn):以面向?qū)ο蟮乃枷腴_發(fā)可視化圖形界面的應(yīng)用程序。采用面向?qū)ο蟪绦蛟O(shè)計(jì)方法(Object-Oriented Programming),把程序和數(shù)據(jù)封裝起來作為一個(gè)對象,每個(gè)對象都是可視的。開發(fā)人員在界面設(shè)計(jì)時(shí),可以直接用Visual Basic 6.0的工具箱在屏幕上"畫"出窗口、菜單、命令按鍵等不同類型的對象,并為每個(gè)對象設(shè)置屬性。在流行的時(shí)候有大量功能庫可以使用,比如典型的數(shù)據(jù)庫管理控件。VB屬于在剛剛出現(xiàn)圖形界面開發(fā)階段的開發(fā)平臺。由于平臺老舊以及basic編程語言的缺點(diǎn),現(xiàn)在已經(jīng)沒有人使用了。雖然現(xiàn)在有了“Visual Basic .NET”但是使用的人很少。

VC(Virtual C++)

開發(fā)語言:面向?qū)ο笳Z言C++(微軟更具C++標(biāo)準(zhǔn)實(shí)現(xiàn)的微軟版本, 編譯器采用cl.exe)

開發(fā)工具:Visual C++

適用平臺:WINDOWS ALL

平臺特點(diǎn):以面向?qū)ο蟮乃枷腴_發(fā)可視化圖形界面的應(yīng)用程序。最大的亮點(diǎn)是MFC框架。是微軟公司提供的一個(gè)類庫,以C++類的形式封裝了Windows API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量??蚣鼙容^精簡,對于初學(xué)者理解電腦軟件開發(fā)框架有很大幫助。這也成了他的缺點(diǎn),導(dǎo)致使用MFC開發(fā)軟件效率相對很低(程序猿要做大量界面編碼工作)。MFC開發(fā)出來的軟件界面也很簡陋,主要原因是要想美化需要程序猿自己做大量美化工作(量大到不適合個(gè)人開發(fā)者做這個(gè)美化工作)。當(dāng)然在電腦端剛剛出現(xiàn)圖形界面開發(fā)時(shí)候,MFC這個(gè)框架簡直大量簡化了程序猿的工作量,并且提高了程序的質(zhì)量。因此一度非常流行,以至于現(xiàn)今(2020年)還有這個(gè)MFC開發(fā)平臺的身影(大多處于維護(hù)階段的老項(xiàng)目)。

Delphi

開發(fā)語言:Object Pascal

開發(fā)工具:delphi7

適用平臺:WINDOWS ALL

平臺特點(diǎn):Delphi 擁有一個(gè)可視化的集成開發(fā)環(huán)境(IDE),采用面向?qū)ο蟮木幊陶Z言O(shè)bjectPascal和基于部件的開發(fā)結(jié)構(gòu)框架。Delphi它提供了非常多個(gè)可供使用的構(gòu)件,利用這些部件,開發(fā)人員可以快速地構(gòu)造出應(yīng)用系統(tǒng)。開發(fā)人員也可以根據(jù)自己的需要修改部件或用Delphi本身編寫自己的部件。和VC相比,Delphi更簡單、更易于掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強(qiáng)大、更實(shí)用。 Delphi確實(shí)功能豐富開發(fā)效率高,到目前也還有人用。只是絕大多數(shù)是在做老項(xiàng)目的開發(fā)了,新項(xiàng)目基本上不會再用Delphi寫。主要原因是Delphi不是微軟自家的孩子。隨著微軟系統(tǒng)大量的系統(tǒng)更新,以及微軟自己的C#開發(fā)平臺興起,使得Delphi跟不上節(jié)奏了(Pascal編程語言本身也很少在其他開發(fā)平臺使用)。

WinForm

開發(fā)語言:C#

開發(fā)工具:Visual Studio

適用平臺:WINDOWS ALL

平臺特點(diǎn):WinForm是目前很流行的Windows應(yīng)用程序開發(fā)平臺,現(xiàn)在大部分windows應(yīng)用程序都是使用WinForm開發(fā),提供對最新windows系統(tǒng)特性的支持,且擁有大量的第三方類庫。全面支持各種開發(fā)技術(shù)。開發(fā)的程序?qū)indows所有系統(tǒng)都有非常好的兼容性和不俗的性能。屬于微軟的.net開發(fā),擁有強(qiáng)大齊全的各種封裝好的成熟類庫。借助優(yōu)秀的C#開發(fā)語言。是現(xiàn)階段Windows應(yīng)用程序開發(fā)的不二之選。由于使用的人和公司多,Winform開發(fā)有大量博客可以參考,工作機(jī)會也很多,相比于其他開發(fā)平臺更好找工作。(至于擔(dān)心發(fā)布軟件還需要安裝net運(yùn)行庫,沒有擔(dān)心的必要,微軟在系統(tǒng)中就自帶來常用的net運(yùn)動庫,同時(shí)安裝包安裝程序的時(shí)候還可以檢測是否缺net運(yùn)行庫,并引導(dǎo)安裝)。

WPF

開發(fā)語言:C#

開發(fā)工具:Visual Studio

適用平臺:WINDOWS ALL

平臺特點(diǎn):WPF是在Winform的基礎(chǔ)上,重新使用新框架開發(fā)的應(yīng)用程序編程平臺。對winform開發(fā)完全兼容。wpf引入了全新的界面布局框架XAML,可以輕松的創(chuàng)建出豐富美觀的界面,同時(shí)可以使用高級的動畫和特效,對屏幕自適應(yīng)比winform更好。wpf使用DirectX來繪制控件(使用顯卡繪制),winform使用GDI來繪制控件(使用CPU繪制),因此wpf現(xiàn)實(shí)效果好,且不會大量占用cpu。由于WPF比Winform所使用的技術(shù)新,目前還是使用Winform的多一些。當(dāng)然想要軟件最終效果好,更炫酷一點(diǎn),那么你就選擇WPF。

Qt

開發(fā)語言:C++ (編譯器:linux: g++、macos: clang、win32: mingw、msvc)

開發(fā)工具:Qt Creater、Visual Studio

適用平臺:WINDOWS ALL、Linux、 MacOS

平臺特點(diǎn):Qt是一個(gè)跨平臺應(yīng)用程序開發(fā)框架,用于開發(fā)桌面程序、嵌入式程序和手機(jī)app。支持的操作系統(tǒng)平臺包括:Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS等。Qt最大的特點(diǎn)是跨平臺開發(fā),即:一次編碼多系統(tǒng)編譯。就是說只寫一次代碼,然后把這個(gè)代碼拿到各個(gè)系統(tǒng)上分別編譯。即可生成各個(gè)系統(tǒng)下的原生應(yīng)用程序(并不是java那種依賴運(yùn)行庫的跨平臺)。因此Qt開發(fā)的應(yīng)用程序在各個(gè)系統(tǒng)下都可以獲得和原生應(yīng)用程序同樣的性能。其次Qt使用面向?qū)ο笳Z言C++開發(fā),因此運(yùn)行效率比C#高。適用于開發(fā)一些需要大量運(yùn)算的應(yīng)用程序。比如圖像處理軟件,特效制作軟件等。由于Qt使用C++語言編程,因此以前使用VC++寫的老項(xiàng)目可以輕松使用

Qt重新開發(fā)(C++庫可以直接使用,之前C++代碼寫的邏輯函數(shù)可以復(fù)制過來直接使用)。這么好的平臺為什么用的人和公司不太多呢。因?yàn)橹癚t是收費(fèi)的,用于開發(fā)商業(yè)軟件避免不了要交這個(gè)費(fèi)用(不交錢法律上吃官司)?,F(xiàn)在Qt支持LGPL協(xié)議,意味著可以免費(fèi)開發(fā)商業(yè)軟件了。qt也支持拖拽添加控件和布局軟件頁面。同時(shí)還支持使用qss動態(tài)修改控件樣式。再加上Qt的layout動態(tài)布局功能。可以實(shí)現(xiàn)非常好看的軟件。這一點(diǎn)比winform好。外觀高度定制修改和wpf是一個(gè)水平。這里需要說明Qt編寫程序跨平臺編碼的前提是統(tǒng)一使用Qt提供的系統(tǒng)庫函數(shù),如果你直接使用了Windows的系統(tǒng)庫函數(shù),那么這個(gè)程序就只能在windows下編譯并使用了,除非你在其他系統(tǒng)上編譯時(shí)候替換成其他系統(tǒng)相應(yīng)功能的系統(tǒng)庫函數(shù)。一般功能開發(fā)來說Qt提供的庫函數(shù)足夠豐富,除非是系統(tǒng)特有的功能需要Qt開發(fā)中特別處理。

Android

開發(fā)語言:Java

開發(fā)工具:Android Studio

適用平臺:安卓手機(jī)、安卓平板、安卓電視等

平臺特點(diǎn):安卓開發(fā)官方的開發(fā)平臺就是Android Studio,是開發(fā)安卓app的官方指定平臺。其他各個(gè)開發(fā)平臺雖然也能開發(fā)安卓app,但是實(shí)際開發(fā)效果和Android Studio沒法相比。因此你需要開發(fā)安卓的上位機(jī)客戶端,就不要用雜七雜八的開發(fā)平臺了,安心學(xué)習(xí)java和Android Studio吧。雖然現(xiàn)在的混合app開發(fā)技術(shù)很火爆,但是如果你的安卓app是配合硬件使用的,就不建議使用混合app開發(fā)技術(shù)了,因?yàn)槭沟庙?xiàng)目使用的技術(shù)變復(fù)雜了,即便是你能搞定,對于后續(xù)接手的程序猿維護(hù)開發(fā)就不方便了(對于以硬件為主的公司而言)。需要任意一臺電腦和測試手機(jī)或平板即可開發(fā)。

IOS

開發(fā)語言:Object-C、swift

開發(fā)工具:Xcode

適用平臺:蘋果手機(jī)、蘋果平板

平臺特點(diǎn):Xcode是開發(fā)IOS軟件的唯一且官方的開發(fā)平臺。如你公司的硬件設(shè)備需要開發(fā)IOS的app。那么這個(gè)開發(fā)平臺幾乎是唯一也是最好的選擇。開發(fā)需要一臺蘋果電腦、一個(gè)公司或個(gè)人開發(fā)者賬號(按年收費(fèi))、一臺蘋果手機(jī)或平板。

LabVIEW

開發(fā)語言:拖拽圖形開發(fā)

開發(fā)工具:LabVIEW

適用平臺:Wondows、MacOS、Linux

平臺特點(diǎn):LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),LabVIEW與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言編寫程序,產(chǎn)生的程序是框圖的形式。LabVIEW開發(fā)環(huán)境集成了工程師和科學(xué)家快速構(gòu)建各種應(yīng)用所需的所有工具,旨在幫助工程師和科學(xué)家解決問題、提高生產(chǎn)力和不斷創(chuàng)新。也就是說LabVIEW是幫助硬件開發(fā)工程師測試硬件的工具。通過拖拽畫圖即可運(yùn)行出一個(gè)相當(dāng)于上位的客戶端。其集成的眾多控件都是和硬件相關(guān)的,因此只適用于硬件開發(fā)測試,不適合其他任何上位軟件開發(fā)。LabVIEW開發(fā)的軟件也可以打包成獨(dú)立的安裝包。

MATLAB

開發(fā)語言:MATLAB

開發(fā)工具:MATLAB

適用平臺:Wondows、MacOS、Linux

平臺特點(diǎn):MATLAB是工程師和科學(xué)家使用的一個(gè)高級數(shù)學(xué)工具軟件。雖然是個(gè)工具但是他具有開發(fā)圖形交互界面以及計(jì)算機(jī)通信的全部功能。因此也在這里稍微介紹一下。MATLAB主要用于計(jì)算機(jī)視覺、信號處理、機(jī)器人等控制系統(tǒng)、模型設(shè)計(jì)以及算法驗(yàn)證。提供了Python、Java、C、C++等外部語言接口,可以供外部其他程序調(diào)用(用于調(diào)試與驗(yàn)證算法)。因此在開發(fā)特殊行業(yè)的上位機(jī)軟件時(shí)候需要用到MATLAB。可以利用MATLAB單獨(dú)開發(fā)一個(gè)測試上位機(jī)端,也可以和其他開發(fā)平臺聯(lián)合開發(fā)上位端。MATLAB支持把MATLAB算法轉(zhuǎn)換成C/C++代碼、HDL、和CUDA代碼,便于算法的應(yīng)用。

二、硬件工程師做簡單的上位機(jī)軟件,應(yīng)該選擇哪個(gè)平臺

對于硬件開發(fā)工程師來說,想要做一個(gè)上位機(jī)軟件無論你選哪個(gè)開發(fā)平臺都不簡單,就像要上位機(jī)程序猿開發(fā)嵌入式硬件一樣難,都需要深入學(xué)習(xí)。除非你使用LabVIEW。

由于硬件工程師做一個(gè)上位機(jī)一般需求也不會太復(fù)雜,他的需求就是“怎樣用最少的精力開發(fā)一個(gè)基本能用的上位工具軟件,我也不打算深入去開發(fā)專業(yè)的上位機(jī)軟件”。

根據(jù)這個(gè)需求,從最簡單到復(fù)雜依次推薦的開發(fā)平臺如下:

LabVIEW:

優(yōu)點(diǎn):投入最少的精力即可學(xué)會,而且可以快速開發(fā)出可用的上位機(jī)軟件

缺點(diǎn):僅適合硬件特別相關(guān)的功能,不方便定制開發(fā)常用軟件

Qt:

優(yōu)點(diǎn):可以滿足所有高級軟件功能開發(fā)。使用C++語言開發(fā),與硬件開發(fā)者使用的C最接近,相對容易上手開發(fā)。這里不推薦GTK+,是因?yàn)镚TK+雖然是使用C語言編程,更加方便硬件工程師開發(fā),但是因?yàn)榭蓞⒖嫉奈臋n和例子太少,讓硬件開發(fā)人員去讀GTK官方文檔并理解軟件開發(fā)上的一些概念,實(shí)在不理智。這里不推薦VC++,是因?yàn)閂C++畢竟老舊了各種類庫也不如qt豐富,且學(xué)習(xí)VC++所需要的精力和學(xué)習(xí)Qt所用的精力沒有多少區(qū)別。因此還不如學(xué)習(xí)更好的qt?,F(xiàn)在也可以在網(wǎng)上找到很多qt的例子和博客,不用像以前擔(dān)心參考示例太少。

缺點(diǎn):除了學(xué)習(xí)C++語法之外,還需要學(xué)習(xí)電腦軟件開發(fā)的一些概念,以及學(xué)習(xí)Qt框架知識和Qt庫函數(shù)使用方法

C#WinForm:

優(yōu)點(diǎn):可以滿足所有高級軟件功能開發(fā)。使用高級語言C#開發(fā),開發(fā)效率高

缺點(diǎn):需要全新學(xué)習(xí)C#語言,以及電腦軟件開發(fā)概念以及圖形界面庫函數(shù)功能

三、開發(fā)商業(yè)軟件應(yīng)該選擇哪個(gè)開發(fā)平臺

商業(yè)公司開發(fā)的軟件是給眾多客戶使用的,軟件的好壞對應(yīng)著公司的收益。因此,開發(fā)商業(yè)軟件要選擇開發(fā)平臺的時(shí)候,就比個(gè)人開發(fā)者面臨的限制多很多。一般面臨的限制如下:

開發(fā)平臺的普遍性:是否有很多人用,是否能隨時(shí)招聘到對應(yīng)平臺的程序猿

開發(fā)平臺的穩(wěn)定性:開發(fā)出來的軟件是否穩(wěn)定、安全、易用

開發(fā)平臺是否收費(fèi):是否收費(fèi)也很重要,有些平臺收費(fèi)很貴,每賣一個(gè)軟件都有交使用費(fèi)用就很不合算

開發(fā)平臺是否持久:開發(fā)平臺的公司是否對這個(gè)開發(fā)平臺做持續(xù)維護(hù)和新技術(shù)更新

以上為一個(gè)公司選擇開發(fā)平臺基本考慮要素。除此之外,所選平臺只要能滿足功能需求即可。

目前滿足以上基本考慮要素的PC軟件(偏上位機(jī)軟件)開發(fā)平臺有:

C#_WinForm

C#_WPF

C++_QT

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉