Tej zaum nws yuav siv sij hawm los tsim tus neeg siv interface los ntawm kos. Cov neeg siv interfaces koj tsim yuav tsum yooj yim siv, ua raws li cov cai ntawm hom, thiab tshwm sim tshiab thiab tam sim no.
Thaum koj ntxiv cov sijhawm kaw nruj thiab cov peev nyiaj tsawg rau kev sib xyaw, kev ua haujlwm yuav nyuaj dua. Txawm li cas los xij, muaj kev daws teeb meem rau qhov nyuaj no, thiab nws yog hu ua a cov neeg siv interface khoom siv.
Cov khoom siv sib txuas siv yog cov khoom siv uas tuaj yeem pab koj tshem tawm cov haujlwm rov ua dua thiab tso koj lub zog muaj tswv yim.
Hauv cov ntawv tshaj tawm no, peb yuav saib seb qhov khoom siv qhib UI yog dab tsi, nws qhov zoo thiab qhov tsis zoo, nrog rau cov npe ntawm cov khoom siv qhib qhov zoo tshaj plaws UI. Cia peb pib.
Dab tsi yog qhov qhib UI toolkit?
Cov khoom siv graphical user interface (GUI) yog cov ntawv sau ua ntej sau code uas tso cai rau koj los tsim GUI yam tsis tas yuav sau tag nrho cov cai ntawm koj tus kheej.
Ib feem ntawm lub interface uas tus neeg siv tuaj yeem cuam tshuam nrog, xws li cov nyees khawm, cov ntawv nyeem, cov ntawv qhia zaub mov, thiab lwm yam, raug xa mus rau GUI tivthaiv.
Muaj ntau ntau qhov qhib-qhov UI toolkits muaj rau ntau hom lus programming, yog li yog tias koj sau Java code, nws yog ib qho tsim nyog rau koj.
Cov cuab yeej UI yog ib qho khoom siv zoo heev rau cov neeg tsim qauv nrhiav kev txhim kho lawv cov khoom tsim tau. Nws nquag siv hauv lub vev xaib thiab tsim app txij li nws tso cai rau cov neeg tsim qauv ua haujlwm tau zoo dua thiab nrawm yam tsis tas yuav tsim UI ntsiab lus los ntawm kos.
Qhov zoo tshaj plaws Open-source UI toolkit
1. Ionic
Ionic yog qhov qhib-qhov chaw neeg siv interface lub hauv paus rau kev tsim cov khoom siv mobile thiab desktop zoo siv lub vev xaib thev naus laus zis xws li HTML, CSS, thiab JavaScript, nrog rau kev koom ua ke nrog cov qauv nrov xws li Angular, React, thiab Vue.
Daim ntawv thov interface, lossis cov neeg siv kev paub, yog lub hauv paus ntawm Ionic Architecture. Nws yooj yim rau kev nkag siab, sib koom ua ke, thiab siv yam tsis muaj tus ncej pem hauv ntej uas siv cov ntawv yooj yim uas sib txuas ntxiv cov tsev qiv ntawv lossis cov txheej txheem zoo li lub kaum sab xis.
Siv cov cuab yeej Ionic, cov apps tuaj yeem xa mus rau txhua qhov chaw, suav nrog hauv ib puag ncig virtual. Lub moj khaum Ionic muaj lub zej zog muaj zog, uas tso cai rau cov neeg tsim khoom nug cov lus nug thiab tau txais cov lus teb sai.
Ionic tuaj yeem piav qhia raws li kev sib xyaw ua ke txij li nws sib xyaw cov khoom hauv ib txwm thiab lub vev xaib.
pros
- Ionic yog qhov kev xaiv nrov tshaj plaws ntawm cov neeg tsim khoom vim nws ua haujlwm ntawm txhua lub platform, suav nrog Android, Windows, thiab iOS.
- Cov neeg tsim tawm feem ntau paub txog HTML, CSS, thiab JavaScript, ua kom yooj yim rau lawv los tsim cov lub moj khaum.
- Nws ua rau siv cov plugins, thiab yog tias nws tsis ua haujlwm hauv ib puag ncig ib puag ncig, lub moj khaum yuav raug tswj hwm los ntawm plugins.
- Hauv Ionic, daim ntawv thov desktop tuaj yeem hloov pauv mus rau hauv daim ntawv thov mobile.
- Ionic muaj ntau yam ntxiv, suav nrog cov ntawv qhia laub thiab PWA txhawb nqa.
cons
- Lub moj khaum yuav tsum nyob nruab nrab ntawm lub platform vim tias ib tus lej code server tau siv rau txhua tus.
- Ionic tsis haum rau kev ua haujlwm 3D lossis kev ua si.
- Thaum piv rau cov apps ib txwm muaj, Ionic daim ntawv thov siv sijhawm ntev dua los tso tawm.
- Kev ruaj ntseg ntawm Ionic built-in apps yog ib qho kev txhawj xeeb, tshwj xeeb tshaj yog rau kev lag luam thiab nyiaj txiag.
2. wxWidget toolkit
wxWidgets yog ib qho programmer's toolkit los tsim graphical user interfaces rau desktop thiab mobile applications (GUIs). Nws yog lub moj khaum hauv qhov kev txiav txim siab tias nws saib xyuas ntau ntawm kev ua haujlwm tsis txaus ntseeg thiab muab cov kev coj ua ua ntej tau teev tseg.
Lub tsev qiv ntawv wxWidgets muaj ntau chav kawm thiab txoj hauv kev uas tus programmer siv tau thiab kho. Feem ntau, cov ntawv thov tso saib qhov rais nrog cov kev tswj hwm ib txwm, tej zaum tsim cov duab tshwj xeeb thiab cov duab kos, thiab teb rau cov tswv yim los ntawm tus nas, keyboard, lossis lwm qhov chaw. Lawv kuj tuaj yeem siv los cuam tshuam nrog lwm cov txheej txheem lossis tswj hwm lwm yam kev siv.
Txhawm rau muab tso rau lwm txoj hauv kev, wxWidgets ua rau nws yooj yim tsim nyog rau tus programmer los tsim ib daim ntawv thov uas ua txhua yam ntawm daim ntawv thov tam sim no.
Thaum wxWidgets feem ntau hu ua GUI cov cuab yeej txhim kho, nws muaj ntau dua li qhov ntawd, suav nrog cov peev txheej muaj txiaj ntsig zoo rau ntau yam ntawm kev txhim kho kev ua haujlwm. Qhov no yuav tsum yog rooj plaub txij li qhov kev pab cuam wxWidgets yuav tsum tau nqa tau ntawm lub platform ntawm nws tag nrho, tsis yog GUI nkaus xwb.
Cov ntaub ntawv thiab cov kwj deg, ntau cov xov, cov ntawv thov teeb tsa, kev sib txuas lus sib txuas, kev pab online, kev nkag mus rau hauv cov ntaub ntawv, thiab ntau ntxiv yog txhua yam muaj nyob hauv wxWidgets.
pros
- wxWidgets muaj bindings rau python, Perl, PHP, Java, Lua, lisp, erlang, Eiffel, C# (.NET), BASIC, Ruby, thiab txawm JavaScript, ntxiv rau C ++.
- Cov ntsiab lus-sensitive translations kuj tau txais kev txhawb nqa.
- Nws yog ib qho ntawm cov khoom siv GUI zoo tshaj plaws muaj. Muaj ntau chav kawm siv hluav taws xob muaj.
- Kev siv tus kheej thiab kev lag luam yog ob qho tib si pub dawb.
cons
- Ntau yam kev lag luam siv tsis tau.
3. Balze UI
Blaze UI yog lub teeb UI Toolkit thiab pub dawb & qhib qhov chaw (MIT License) Lub moj khaum uas muab cov qauv zoo rau kev tsim cov vev xaib sai sai nrog lub hauv paus tuaj yeem tsim tau thiab ruaj khov.
Blaze UI cov khoom yog tag nrho cov xov tooj ntawm tes ua ntej, tso siab tshwj xeeb rau kev ua haujlwm hauv browser ib txwm tsis yog lub tsev qiv ntawv cais lossis lub hauv paus. Nws pab peb sai thiab muaj txiaj ntsig tsim lub vev xaib uas muaj peev xwm thiab teb tau zoo nrog tus qauv zoo ib yam.
Los ntawm kev ua haujlwm ntau yam Cheebtsam, Cov Khoom Siv, thiab Cov Khoom Siv, Blaze UI ua kom yooj yim rau kev tsim cov qauv yooj yim uas pab ua kom tag nrho lub vev xaib zoo nkauj thiab sib tham sib.
pros
- Ib lub moj khaum yuav ua, lossis tsis muaj dab tsi. Koj tsis raug kaw. Nws nyob ntawm koj.
- Blaze yuav tsis ua tswv cuab ntawm ib qho ntawm koj cov qauv tsim kom txog thaum koj thov nws.
- Qhov no yog ib qhov project dawb kiag li. Nws tau tuav ntawm GitHub thiab qhib rau pej xeem.
- Tag nrho cov khoom tau tsim nrog lub xov tooj ntawm tes hauv siab thiab sib xws nrog txhua qhov screen loj.
cons
- Tsis muaj teeb meem nrhiav pom.
4. GTK+
GTK + yog cov cuab yeej siv ntau lub platform rau kev tsim cov duab neeg siv interfaces uas tau tsim nrog Motif aesthetic hauv siab. Nws ua tau zoo heev zoo dua Motif.
Nws muaj cov widgets yooj yim thiab nyuaj xws li xaiv cov ntaub ntawv thiab xaiv xim. Nws tau pib ua ib txheej ntawm widgets rau GIMP (GNU Image Manipulation Program).
Nws tau tsim muaj txiaj ntsig zoo txij thaum ntawd los thiab tam sim no siv los ntawm a Cov kev pabcuam loj heev, nrog rau GNOME desktop project cov cuab yeej. GTK + yog ib feem ntawm GNU Project thiab yog software dawb.
GNU LGPL, ntawm qhov tod tes, tso cai rau txhua tus tsim tawm, txawm tias cov tsim cov software tsim, siv GTK + yam tsis tau them cov nqi ntawv tso cai lossis cov nuj nqis. GTK + tau tsim los ntawm hauv qab mus rau ua haujlwm nrog ntau hom lus, tsis yog C / C ++ nkaus xwb. Kev siv GTK + los ntawm cov lus zoo li Perl thiab Python (tshwj xeeb yog thaum ua ke nrog Glade GUI builder) tso cai rau kev txhim kho daim ntawv thov ceev.
pros
- Ntau hom lus tau txais kev txhawb nqa, suav nrog Java, JavaScript, C ++, Python, Pascal, FreeBasic, thiab Haskell, txawm li cas los xij, kev txhawb nqa rau C # thiab GO tsuas yog ua tsis tiav.
- Siv PyGi nrog Gtk Cov Ntsiab Lus los tsim cross-platform koom haum apps ua rau lawv zoo heev.
cons
- Raws li Gtk3 tsis txhawb cov cim thiab mnemonics, navigating menus nrog cov keyboard yuav luag tsis yooj yim sua.
5. QT toolkit
Qt yog ntau lub platform graphical user interface toolkit los tsim software siv hauv C ++. Nws muab cov neeg tsim khoom txhua yam ntawm cov cuab yeej lawv xav tau los tsim cov ntawv hla-platform nrog "lub xeev-ntawm-tus-kos duab" cov neeg siv cuam tshuam.
Vim tias Qt tau sau hauv C ++, nws yog cov khoom siv tag nrho thiab ua kom muaj kev sib koom ua haujlwm tiag.
Qt yog touted raws li "sau ib zaug, sib sau nyob qhov twg" lub moj khaum uas txuag lub sijhawm rau cov neeg tsim khoom los ntawm kev xav kom lawv tsuas yog sau thiab tuav ib tus lej code hauv qhov twg los xij lawv xaiv los tsim hauv, nrog rau cov haujlwm tiav ua tiav ntawm txhua lwm lub platform.
pros
- Los ntawm kev rov ua kom yooj yim dua, Qt app txoj kev txhim kho ua rau kev txav mus los ntawm qhov kev pab cuam rau ntau lub platform.
- Nws txhawb kev txhim kho kev ua tau zoo thiab txo lub sijhawm rau kev ua lag luam, kom ntseeg tau tias cov ntawv thov muaj pov thawj yav tom ntej.
- Siv Qt streamlines thev naus laus zis lub tswv yim thiab, vim li ntawd, txo cov nuj nqis.
- Txuag lub sijhawm los ntawm kev xa ib tus lej hla txhua qhov kev qhia thiab lub platform.
- C ++ programming muab cov neeg tsim khoom muaj kev ywj pheej ntau dua thiab muaj peev xwm ua haujlwm nrog ntau lub tsev qiv ntawv uas twb muaj lawm.
- Cov cai tau hloov dua siab tshiab rau hauv ib txwm binaries, uas ua tiav ntawm qhov nrawm (tsis tas yuav siv lub tshuab virtual)
cons
- Los ntawm lub neej ntawd, QT GUI Cheebtsam tsis muab qhov kev pom zoo thiab kev xav rau iOS thiab Android.
- Yog tsis muaj Qt Quick Compiler, uas tsuas yog muaj nrog Qt Commercial version, lub sijhawm pib ua haujlwm nce ntxiv.
- Rau Ad Networks loj, tsis muaj kev txhawb nqa Qt (tsuas yog 3rd tog tsev qiv ntawv, yog tias pom).
Cov txiaj ntsig ntawm kev siv UI toolkit
- Koj tsis tas yuav tsim GUI tivthaiv los ntawm khawb txhua zaus koj siv cov cuab yeej.
- Koj cov cai yuav yooj yim dua rau chaw nres nkoj hla kev khiav haujlwm yog tias koj siv cov khoom siv hla-platform.
- Txhua yam ntawm koj cov khoom yuav zoo ib yam thiab xav tias yog tias koj siv cov cuab yeej cuab tam, uas yuav ua rau koj qhov kev zov me nyuam saib ntau tshaj lij thiab polished.
- Nws yog feem ntau yooj yim los kawm txog kev siv cov cuab yeej qhib qhib, vim lawv tau sau tau zoo thiab suav nrog ntau yam piv txwv.
Qhov tsis zoo ntawm kev siv UI toolkit
- Qee cov cuab yeej siv tau loj thiab muaj txiaj ntsig zoo, ua rau lawv ntshai siv.
- Raws li qhib cov cuab yeej cuab tam feem ntau yog tsim los ntawm cov neeg tuaj yeem pab dawb, lawv qhov zoo yuav ua tsis zoo rau cov lag luam lag luam.
- Qee cov cuab yeej qhib tau muab faib nrog cov ntawv tso cai uas txwv lawv yuav siv thiab faib li cas.
- Yog tias koj siv cov cuab yeej cuab tam, koj yuav raug txwv los ntawm nws lub peev xwm thiab tej zaum yuav tsis tuaj yeem tsim cov kev sib cuam tshuam uas koj xav tau.
xaus
Thaum kawg, User Interface (UI) Cov Khoom Siv yog cov khoom siv npaj txhij-rau-siv cov neeg siv interface thiab cov cuab yeej rau online thiab mobile cov haujlwm. Nrog cov kev xaiv sib xyaw ua ke, cov neeg tsim qauv tuaj yeem hloov kho cov qauv sab hauv, cov qauv, thiab cov qauv tsim los tsim lawv cov neeg siv interface thiab tuav cov hom lag luam sib xws nrog tsuas yog ob peb clicks lossis luag-thiab-nco.
Xav txog koj cov kev xav tau thiab cov peev txheej uas koj tau npaj los nqis peev rau thaum xaiv qhov qhib UI toolkit. Qt lossis GTK + tuaj yeem yog lwm txoj hauv kev zoo yog tias koj xav tau cov cuab yeej muaj txiaj ntsig zoo nrog ntau yam haujlwm.
Sau ntawv cia Ncua