/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
API - GUI - Framework ?
Fra : Torben W. Hansen


Dato : 07-06-02 07:53

Davs,

Hvad meget dækker de forskellige termer/grænseflader mere præcist over:

Da jeg forsøger at danne mig et overblik over hvad der er nødvendigt at vide
om både "operativsystem" og "hjælpeværktøjer" for at komme igang med
Windows Programmering i C++ er jeg stødt på en række forskellige udtryk som
API, GUI, Framework osv...

Uden at være sikker mener jeg at huske at API betyder noget i retning af
"Application Interface" og GUI "Graphic User Interface" ligesom "Framework"
vist nok er en række færdige biblioteksrutiner mv.

Det står lidt uklart for mig - eksempelvis:

er API en del af styresystemet ?

er GUI ligeledes en del af styresystemet og er GUI en del af API ?

kan Microsoft Foundation Classes (MFC) betegnes "Framework" ?

Hvis nogen har nogle gode forklaringer er disse meget velkomne - På forhånd
tak...

med venlig hilsen
Torben W. Hansen




 
 
Mogens Hansen (07-06-2002)
Kommentar
Fra : Mogens Hansen


Dato : 07-06-02 08:46


"Torben W. Hansen" <mail@ins-intersoft.com> wrote

[snip]
> Det står lidt uklart for mig - eksempelvis:
>
> er API en del af styresystemet ?

Application Programming Interface.
Det er de funktioner som en applikation har til rådighed for at bruge en
given funktionalitet.
F.eks. er
"CreateWindow" en del af Win32 API'et (og dermed MS-Windows
operativsystemerne), og den bruges til at oprette et nyt vindue.
"CreateThread" end del af Win32 API'et, og den bruges til at oprette en ny
tråd.
En database har f.eks. også et API, som man bruger når man skriver database
applikationer.
Et API kan være en del af et styresystem, men er det ikke nødvendigvis.

>
> er GUI ligeledes en del af styresystemet og er GUI en del af API ?
>

Graphical User Interface.
Der findes typisk et API til at lave et GUI med.
Win32 er et eksemplet på det et API til at lave et GUI med. Qt er (vist nok)
et andet eksempel.

> kan Microsoft Foundation Classes (MFC) betegnes "Framework" ?
>

Ja.

Venlig hilsen

Mogens Hansen



Torben W. Hansen (07-06-2002)
Kommentar
Fra : Torben W. Hansen


Dato : 07-06-02 10:30

> Application Programming Interface.
> Det er de funktioner som en applikation har til rådighed for at bruge en
> given funktionalitet.
> F.eks. er
> "CreateWindow" en del af Win32 API'et (og dermed MS-Windows
> operativsystemerne), og den bruges til at oprette et nyt vindue.
> "CreateThread" end del af Win32 API'et, og den bruges til at oprette en
ny
> tråd.
> En database har f.eks. også et API, som man bruger når man skriver
database
> applikationer.
> Et API kan være en del af et styresystem, men er det ikke nødvendigvis.

Hvis jeg har forstået det rigtigt så er API'et altså en del (tilgængelige
funktioner) af den applikation man skriver program til: Dvs. skriver man til
Windows så bruges Win32 API'et - eller til en database så bruges
databaseAPI'et ?

> Graphical User Interface.
> Der findes typisk et API til at lave et GUI med.
> Win32 er et eksemplet på det et API til at lave et GUI med. Qt er (vist
nok)
> et andet eksempel.

Er GUI'et f.eks. menuer, dialogbokse osv. og skal der forståes at GUI'et kan
være en del af et "Framework" f.eks. MFC ?

Venlig hilsen
Torben W. Hansen




Mogens Hansen (07-06-2002)
Kommentar
Fra : Mogens Hansen


Dato : 07-06-02 18:55


"Torben W. Hansen" <mail@ins-intersoft.com> wrote

> Hvis jeg har forstået det rigtigt så er API'et altså en del (tilgængelige
> funktioner) af den applikation man skriver program til: Dvs. skriver man
til
> Windows så bruges Win32 API'et - eller til en database så bruges
> databaseAPI'et ?
>

Nemlig.

> > Graphical User Interface.
> > Der findes typisk et API til at lave et GUI med.
> > Win32 er et eksemplet på det et API til at lave et GUI med. Qt er (vist
> nok)
> > et andet eksempel.
>
> Er GUI'et f.eks. menuer, dialogbokse osv. og skal der forståes at GUI'et
kan
> være en del af et "Framework" f.eks. MFC ?
>

Ja, GUI er menuer, dialogbokse osv.
MFC er et framework til (primært) at lave GUI applikationer til MS-Windows
(primært).
Ofte traditionelle applikationer med "File|Open", "File|Save", "Print
Preview" funktionalitet som er understøttet i MFC's Doc/View model.

Venlig hilsen

Mogens Hansen



Bo Lorentsen (07-06-2002)
Kommentar
Fra : Bo Lorentsen


Dato : 07-06-02 21:20

In <adpuna$2n33$1@news.cybercity.dk>, Torben W. Hansen wrote:

> Hvis jeg har forstået det rigtigt så er API'et altså en del
> (tilgængelige funktioner) af den applikation man skriver program til:
> Dvs. skriver man til Windows så bruges Win32 API'et - eller til en
> database så bruges databaseAPI'et ?
Det har du helt rigtig fat i !

Et API er blot udtryk for et offenligt interface, indeholdende både
functioner, structerer, macroer og disses brug.

>> Graphical User Interface.
>> Der findes typisk et API til at lave et GUI med. Win32 er et eksemplet
>> på det et API til at lave et GUI med. Qt er (vist
> nok)
>> et andet eksempel.
>
> Er GUI'et f.eks. menuer, dialogbokse osv. og skal der forståes at GUI'et
> kan være en del af et "Framework" f.eks. MFC ?
Rigtigt, GUI er alle de grafiske elementer man bruger til at lave Gtk, Qt
eller Windows applicationer (for nu at nævne nogle stykker) i.

Et framework er også et API, men man bruger framework om OO kode og især i
forbindelse med GUI, fordi man så og sige udvider dette framework, og det
bestemmer en hel del mere over din kodes opbygning end et gammeldags API.
Men ud over det er der vist ikke defneret nogle faste grænser for hvornår
det hedder et API eller et framework.

/BL

Torben W. Hansen (08-06-2002)
Kommentar
Fra : Torben W. Hansen


Dato : 08-06-02 20:04

Tak Mogens Hansen & Bo Lorenzen for jeres interessante svar...

Med reference til din e-mail Mogens Hansen, udvikler jeg produkter
(www.ins-intersoft.com) - HDW og SW - bla. baseret på 8051 familien. I den
forbindelse har jeg programmeret i ASM, PLM men mest C. Desuden har haft
nogle få projekter i C til DOS. Har ingen højere uddannelse
(Radiomekaniker), og har som privatist studeret matematik -
infinitisimalregning, komplekse tal, mm. samt noget Laplace Transformation,
reguleringsteknik, filterteknik, fysik og en mindre del digital
signalbehandling.

>F.eks. er
> "CreateWindow" en del af Win32 API'et (og dermed MS-Windows
>operativsystemerne), og den bruges til at oprette et nyt vindue.
> "CreateThread" end del af Win32 API'et, og den bruges til at oprette en
ny
>tråd.

Da jeg i sin tid stødte på udtrykket "Multi Task -Multi Thread", fik jeg
ikke rigtig opklaret hvad "Thread" gik ud på, men har hørt det adskillige
gange i forskellige sammenhænge.

Måske et lidt dumt spørgsmål - Hvad er det nu at en "tråd" er ?

>Rigtigt, GUI er alle de grafiske elementer man bruger til at lave Gtk, Qt
>eller Windows applicationer (for nu at nævne nogle stykker) i.

Bo Lorenzen - Hvad er Gtk og Qt ?

Venlig hilsen
Torben Hansen













Mogens Hansen (08-06-2002)
Kommentar
Fra : Mogens Hansen


Dato : 08-06-02 21:41


"Torben W. Hansen" <mail@ins-intersoft.com> wrote

> Måske et lidt dumt spørgsmål - Hvad er det nu at en "tråd" er ?
>

En "thread" er det samme som et "task".
En selvstændig eksveringskontekst.
Et multi-threaded program har flere tråde, der udføre (mere eller mindre)
uafhængigt af hinanden.
F.eks. kan een tråd tage sig af håndtering af en seriel port, men en anden
tråd tager sig af udprintning.

Venlig hilsen

Mogens Hansen



Bo Lorentsen (10-06-2002)
Kommentar
Fra : Bo Lorentsen


Dato : 10-06-02 22:01

In <adtkom$2lpe$1@news.cybercity.dk>, Torben W. Hansen wrote:

> haft nogle få projekter i C til DOS. Har ingen højere uddannelse
> (Radiomekaniker), og har som privatist studeret matematik -
> infinitisimalregning, komplekse tal, mm. samt noget Laplace
> Transformation, reguleringsteknik, filterteknik, fysik og en mindre del
> digital signalbehandling.
Det lyder ikke som om du er dårligt rustet

> Da jeg i sin tid stødte på udtrykket "Multi Task -Multi Thread", fik jeg
> ikke rigtig opklaret hvad "Thread" gik ud på, men har hørt det
> adskillige gange i forskellige sammenhænge.

> Måske et lidt dumt spørgsmål - Hvad er det nu at en "tråd" er ?
Mogens'es beskrivelse er ganske rigtig, men som hardware mand tænker du
nok lidt på hvorfor man gør noget sådant, der er jo kun en CPU ? Det er
fordi en CPU meget ofter venter på et eller andet, og hvis man nu kan
udnytte det på program nivaue vil det jo ikke være dårligt

>>Rigtigt, GUI er alle de grafiske elementer man bruger til at lave Gtk,
>>Qt eller Windows applicationer (for nu at nævne nogle stykker) i.
>
> Bo Lorenzen - Hvad er Gtk og Qt ?
Gtk og Qt er di grafiske frameworks der findes til Linux/X11. Hvor Qt er
næsten C++ og Gtk+ har en Gtkmm som er et rent C++ framework. Der findes
en del flere til linuxen (VDK fks.), men dem kender jeg ikke noget til.

/BL

Torben W. Hansen (11-06-2002)
Kommentar
Fra : Torben W. Hansen


Dato : 11-06-02 16:32


> > Bo Lorenzen - Hvad er Gtk og Qt ?
> Gtk og Qt er di grafiske frameworks der findes til Linux/X11. Hvor Qt er
> næsten C++ og Gtk+ har en Gtkmm som er et rent C++ framework. Der findes
> en del flere til linuxen (VDK fks.), men dem kender jeg ikke noget til.

OK og tak...
--
med venlig hilsen
Torben W. Hansen




Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste