Avatar billede challenge Praktikant
27. februar 2009 - 23:55 Der er 11 kommentarer og
1 løsning

C++ User interface

Hej alle,

<Kedelig historie du kan springe over>
Efter en længere periode med webudvikling i HTML, CSS, JavaScript, PHP og hvad dertil ellers hører, begyndte jeg at se mulighederne i rendyrket programmering C++ værende det mest intuitive valg for mig med PHP-baggrund, valgte jeg naturligvis at gå denne vej. Jeg fik hurtigt tillært mig sproget, da det som sådan ikke er så meget anderledes end store dele af PHP - det grundlæggende, altså. Resten kom efterhånden.

Rendyrkede console-applications er selvfølgelig ikke nok i læringsprocessen for mig, hvorfor jeg har smidt mig over user interface-udviklingen, der til min forskrækkelse er en forvirrende verden af "jeg har gjort det hele for dig"-programmering Som intetanende kastede jeg mig over Qt, hvilket skulle vise sig at være en af de værste ting jeg kunne gøre, i forhold til at udnytte min tid mest optimalt.
</kedelig historie du kan springe over>

<kedelig historie, men nødvendig for sorståelsen af mit problem>
Jeg har altid insisteret på, at håndkode mine sider selv, uanset hvor avanceret det end måtte blive - noget jeg deler med langt størstedelen af webudvikler-heden, er jeg sikker på. Endnu en overraskelse var derfor i vente, da jeg fandt ud af, at man i Qt-verdenen insisterede på, at bruge WYSIWYG hele vejen igennem designprocessen.
</kedelig historie, men nødvendig for sorståelsen af mit problem>

<problem>
Jeg har flere steder læst, at der i virkeligheden er 3 ting at vælge imellem, hvis ikke man ønsker at leje med Qt-, xWidget- osv.-folkene - Win32 API, MFC eller WTL - igen, det er hvad jeg har læst.
Hvad jeg ønsker at vide er, hvad fremgangsmåden ville være for en rendyrket professionel programudvikler i C++. Jeg nægter at tro på, at udviklere af programmer som Photoshop eller ethvert 3D-program sidder med en primitiv WYSIWYG-designer når de designer deres user interface - så hvordan begår de store drenge sig? Hvad skal jeg bruge for at udvikle mine egne designs fra bunden, uden brug af Qt-like forudbestemt funktionalitet?
- Jeg er desuden ikke en person, der springer over hvor gærdet er lavest; at Qt muligvis er 'det nemmeste' er for mig ligegyldigt :)
</problem>
Avatar billede challenge Praktikant
28. februar 2009 - 00:17 #1
Jeg er forresten udemærket klar over, at dét jeg her berører, ofte grunder i holdninger og smag. Da jeg dog er helt på vildspor, er jeg blot ude efter hvad der er hvad, og ikke hvad er bedst - blot hvad opfylder mine krav, som ovenfor.
Avatar billede bertelbrander Novice
28. februar 2009 - 00:37 #2
Jeg har programmeret en del GUI efterhånden, har kikket på MFC, WxWidgets, Win32Api og et par andre. Jeg foretrækker klart Win32Api. Det er dejlig rent og ligetil. Det kræver naturligvis en del mere kode end f.eks. QT, men hellere det end at være bundet af et framework der mere er til gene end hjælp.

MFC er klart det mest elendige stykke framework jeg nogensinde er stødt på, gør hvad du kan for at undgå MFC.

Jeg ved ikke hvordan de store laver GUI, men jeg er ret sikker på at de ikke bruger en GUI-designer/WYSIWYG-dims. Mon ikke de laver deres egnet framework. En samling klasser der så bruges til at udvikle selve GUI'en i. Det var den måde jeg ville gøre det på.

Men .net tager mere og mere over og jeg ved ikke noget om .net.
Avatar billede arne_v Ekspert
28. februar 2009 - 04:16 #3
Jeg vil mene at typisk GUI udvikling idag er:

cross platform => Java
Windows videreudvikling eksisterende app => MFC
Windows ny app => C# og .NET
*nix => KDE (bygger på Qt) eller Gnome (bygger på GTK+)
Avatar billede arne_v Ekspert
28. februar 2009 - 04:33 #4
MFC er meget brugt.

MS Office
Norton AntiVirus
Ahead Nero brænde program

er tre af de mere gængse.
Avatar billede challenge Praktikant
28. februar 2009 - 09:28 #5
bertelbrander,
Tak for svaret. Dette lyder umiddelbart meget fornuftigt. Vil du sige, at der med Win32 API er begrænsninger mht. hvad kan gøres, eller er dette mere universelt?

arne_v,
Ligeledes tak for svaret. Jeg har hørt, at ting som .NET er meget 'sæson-betinget' - altså at hvad bruges hurtigt skifter, alt efter hvad er trendy i dag. Er denne opfattelse forkert, og betyder det overhovedet noget i forhold til at udvikle i fremtiden?

Jeg gætter desuden på, at funktionaliteten over de forskellige sprog stort set er de samme... Er dette korrekt?
Avatar billede bertelbrander Novice
28. februar 2009 - 13:07 #6
Jeg har ikke set noget der ikke kan gøres med Win32Api. Du kan gøre alt i alle sprog, der er dog ting der er lettere i nogle end andre.
Avatar billede arne_v Ekspert
28. februar 2009 - 13:33 #7
Win32 API er hcad der er til rådighed. D.v.s. MFC, WTL, Qt, GTK+ etc. alle bruger Win32 API (for de sidste naturligvis kun på Windows platform).

----

Du kan godt forvente at .NET sæsonen varer 10-25 år endnu.
Avatar billede challenge Praktikant
28. februar 2009 - 14:20 #8
Mange tak, begge to - så vidt jeg forstår, er stort set alt hvad der kører på Windows - i sidste ende - bygget på WIN32 API. Hvis ikke dette er korrekt, er i velkomne til at rette mig :)

I må meget gerne smide svar :)

Tak for hjælpen, indtil videre! :)
Avatar billede arne_v Ekspert
28. februar 2009 - 15:07 #9
Det er korrekt.

Der er meget meget få apps/biblioteker som bruger NT API'et direkte.

Stort set alt går gennem Win32 API.

Og svar.
Avatar billede challenge Praktikant
01. marts 2009 - 18:50 #10
Afventer stadig svar fra bertelbrander :)
Avatar billede bertelbrander Novice
01. marts 2009 - 19:42 #11
Jeg samler ikke på point.
Avatar billede intel4004 Novice
06. marts 2009 - 23:58 #12
Hej,

Jeg sad lige og googlede lidt på QT og user interface. Og så kom dette ikke så gamle spørgsmål frem.

Sagen er jo afsluttet, men jeg kan ikke dy mig :) Jeg har selv erfaring med C++, wxWidget og også en smule Qt.

Utrolig at libraries såsom wxwidget og Qt slet ikke får bare nogle få point i jeres universer...

Selv bliver jeg mere og mere fascineret af Qt og dets moderne klasse-hieraki. Det er meget lige til. Og pointen med at det hele er WYSIWYG rammer faktisk en del ved siden af. Man kan sagtens selv programmere hele molevitten selv, skulle man have lyst til det. Det ville jeg faktisk foretrække - men GUI designeren der følger med, samt den i QT Eclipse Integration fungerer faktisk upåklageligt. Intet er overladt til tilfældighederne bare fordi GUI designere bruges. QT bruger nogle ekstra tricks i kompilerings-processen som jeg godt ville have været foruden. Men nå.

Jeg har dog ingen erfaring med win32 API, MFC eller tilsvarende. Arbejdede lidt med C#.NET for nogle år tilbage. Og Java endnu længere tilbage.

Min pointe er egentlig blot at man i dag bør kigge på nye teknologier med nuancerede briller. .NET bruges i stort omfang, samt gør win32 API sikkert.

Men hvad så med overvejelser om cross-platform? QT/wxWidgets er bygget med dette for øje. De andre teknologier i nævner er ikke. Og dette kan nogle gange være ret så vigtig. Nu sidder jeg selv i computervidenskabelig forskning (phd), og her er spørgsmål om åbenhed (åbenkilde) og cross-platform utrolig vigtig (et personligt bias - jeg ved det godt).

- Men bruges wxWidgets og Qt slet ikke i mere kommercielle foretagender til Windows udvikling?

- Er det eneste valg .NET fremfor gamle win32 API?

Mvh Intel4004
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester