C++ User Interface
Re: C++ User Interface
Cum a spus colegul de mai sus: "pe cand wxWidgets face apel la functiile OS-ului in materie de GUI si obtine fara sa vrea interfata nativa".
Ma cam balbai si nu mai inteleg nici eu ce vreau. Totusi voi ce recomandati?
Care framework pentru Gui C++ mi-ar prinde mai bine pentru viitor? Sau care se cauta? Cu care pot gasi mai usor un loc de munca?
Ma cam balbai si nu mai inteleg nici eu ce vreau. Totusi voi ce recomandati?
Care framework pentru Gui C++ mi-ar prinde mai bine pentru viitor? Sau care se cauta? Cu care pot gasi mai usor un loc de munca?
Cea mai buna batalie este cea castigata fara lupta.
-
- Membru++
- Posts: 919
- Joined: 23 Jul 2007, 11:32
Re: C++ User Interface
Poti trage un ochi pe site-urile cu joburi de la noi si din straintate sa-ti faci o parere. De regula (cand vorbim de comercial) se cauta MFC ori QT.
Dar nu trebuie sa faci din asta un scop in viata fiindca vei schimba multe in cariera. Important e sa inveti sa lucrezi cu o astfel de biblioteca. Cat timp ai la purtator principiile programarii puse pe baze solide si poti citi documentatia din engleza te vei adapta la orice.
Dar nu trebuie sa faci din asta un scop in viata fiindca vei schimba multe in cariera. Important e sa inveti sa lucrezi cu o astfel de biblioteca. Cat timp ai la purtator principiile programarii puse pe baze solide si poti citi documentatia din engleza te vei adapta la orice.
Re: C++ User Interface
Qt, MFC, WINAPI, se cauta. Nu stiu anunturi de angajare pe wxWidgets. Important e sa stii programare nu sa muti butoane, spuse cel care a facut GUI toata viata 
Qt-ul il inveti in 2 saptamani - apoi daca mai fac si o aplicatie doua esti deja avansat, mai ii ai si pe cei de pe forum si poti bate spre expert wannabe.
MFC-ul la fel, sunt fundamente de baza, mai inveti niste giumbuslucrui, mai citesti niste smecherii scrise de Ovidiu sau Marius(o sa vezi ca aproape orice cauti dai de ei
)).
WINAPI e un fel de: "sa-ti bati cuie in talpa cu tastatura in timp ce stai agatat de o macara deasupra unui lac plin cu crocodili" in materie de GUI. WINAPI e bun ca folosindu-l "controlezi" Windows-ul, te poti numi un fel de "shafu' windows-ului".
Bine Qt "si prietenii sai"(vezi "Mos Craciun si prietenii sai") (wxWidgeds, MFC, GTK, MK4, LSD, H2O<ignora ultimii 3>) se inteleg destul de bine cu cel putin un sistem de operare.
Din nou, sa muti butoane si sa citesti continutul unor containere e usor. UI-ul e primul layer intr-o aplicatie. Ce se intampla cand apesi un button poate fi orice cod (c, java, c++, php). Afirmatia e valabila si invers, poti sa ai frontend in JAVA si backend in C.
Daca vrei sa faci ceva simplu:
http://www.c-sharpcorner.com/UploadFile ... geBox1.gif
Daca vrei sa faci ceva mai complex:
Qt:
https://www.comodo.com/home/backup-onli ... _step1.gif
MFC:
http://www.security-faqs.com/wp-content ... Backup.jpg
http://img.brothersoft.com/screenshots/ ... 76435.jpeg
Qt & MFC - nu e nici o diferena
http://www.all-freeware.com/images/full ... estore.png
Si ceva mai exotic javascript + html5 + css3:
http://beta.images.theglobeandmail.com/ ... three8.jpg
In spatele aplicatiilor astea ruleaza cod scris in C, sau C++, cod care foloseste WINAPI sau linux sau mai stiu eu ce OS.
Aplicatiile pot sa foloseasca module ajutatoare scrise de "altii" in ce au avut ei chef care sa cripteze date, parseze xml-uri, conecteze la websocketuri, deseneze 3D/2D/5D, scaneze fisere de virusi, arhiveze/dezarhiveze, conecteze la servere si sa trimita mesaje, foloseasca facebook-ul sa-ti anunte toti prietenii cand ai un virus sau ai scanat pc-ul si applicatia minune a facut o treaba geniala...o gramada de chestii.
Tehnologiile sunt multe - nu exista ceva anume care sa-ti garanteze succesul. Piata e dinamica, pana termini tu facultatea Qt-ul poate sa dispara si firmele o sa inceapa sa caute XXX-isti.(XXX - alt limbaj de programare/tehnologie numai ala/aia pe care il/o stii tu nu) - si atunci o sa cazi in depresie ca te-ai chinuit x ani sa inveti x fente care nu te ajuta nici sa te angajezi la xerox.
Si mai este o scapare: Corporatia - te angajezi la firma XXXental - stai acolo cuminte o viata - daca esti putin istet dupa 5 ani o sa-ti dea un pix si un tricou co logo-ul firmei, o sa-ti mareasca salariul cu 1.734534% si o sa te faca "senior". Dupa 10 ani o sa te faca si mai senior - o sa vezi ca exista o gramada de titluri pentru programatori(1, 2, 3, A, B, C, arhitect, miner, inginer, bigubastic, mario, super mario etc) si tot asa pana o sa te faca pensionar.
Daca skill-ul tau depaseste orice limita - o sa-ti dai seama ca nu e locul tau acolo si o sa te duci tu singurel unde trebuie
Daca ai citit pana aici iti multumesc si te rog sa nu iei in considerare ce am scris ca pe o lectie de viata, e doar parearea mea nu e un "asa trebuie sa faci". Spor la treaba!

Qt-ul il inveti in 2 saptamani - apoi daca mai fac si o aplicatie doua esti deja avansat, mai ii ai si pe cei de pe forum si poti bate spre expert wannabe.
MFC-ul la fel, sunt fundamente de baza, mai inveti niste giumbuslucrui, mai citesti niste smecherii scrise de Ovidiu sau Marius(o sa vezi ca aproape orice cauti dai de ei

WINAPI e un fel de: "sa-ti bati cuie in talpa cu tastatura in timp ce stai agatat de o macara deasupra unui lac plin cu crocodili" in materie de GUI. WINAPI e bun ca folosindu-l "controlezi" Windows-ul, te poti numi un fel de "shafu' windows-ului".
Bine Qt "si prietenii sai"(vezi "Mos Craciun si prietenii sai") (wxWidgeds, MFC, GTK, MK4, LSD, H2O<ignora ultimii 3>) se inteleg destul de bine cu cel putin un sistem de operare.
Din nou, sa muti butoane si sa citesti continutul unor containere e usor. UI-ul e primul layer intr-o aplicatie. Ce se intampla cand apesi un button poate fi orice cod (c, java, c++, php). Afirmatia e valabila si invers, poti sa ai frontend in JAVA si backend in C.
Daca vrei sa faci ceva simplu:
http://www.c-sharpcorner.com/UploadFile ... geBox1.gif
Daca vrei sa faci ceva mai complex:
Qt:
https://www.comodo.com/home/backup-onli ... _step1.gif
MFC:
http://www.security-faqs.com/wp-content ... Backup.jpg
http://img.brothersoft.com/screenshots/ ... 76435.jpeg
Qt & MFC - nu e nici o diferena

http://www.all-freeware.com/images/full ... estore.png
Si ceva mai exotic javascript + html5 + css3:
http://beta.images.theglobeandmail.com/ ... three8.jpg
In spatele aplicatiilor astea ruleaza cod scris in C, sau C++, cod care foloseste WINAPI sau linux sau mai stiu eu ce OS.
Aplicatiile pot sa foloseasca module ajutatoare scrise de "altii" in ce au avut ei chef care sa cripteze date, parseze xml-uri, conecteze la websocketuri, deseneze 3D/2D/5D, scaneze fisere de virusi, arhiveze/dezarhiveze, conecteze la servere si sa trimita mesaje, foloseasca facebook-ul sa-ti anunte toti prietenii cand ai un virus sau ai scanat pc-ul si applicatia minune a facut o treaba geniala...o gramada de chestii.
Tehnologiile sunt multe - nu exista ceva anume care sa-ti garanteze succesul. Piata e dinamica, pana termini tu facultatea Qt-ul poate sa dispara si firmele o sa inceapa sa caute XXX-isti.(XXX - alt limbaj de programare/tehnologie numai ala/aia pe care il/o stii tu nu) - si atunci o sa cazi in depresie ca te-ai chinuit x ani sa inveti x fente care nu te ajuta nici sa te angajezi la xerox.
Si mai este o scapare: Corporatia - te angajezi la firma XXXental - stai acolo cuminte o viata - daca esti putin istet dupa 5 ani o sa-ti dea un pix si un tricou co logo-ul firmei, o sa-ti mareasca salariul cu 1.734534% si o sa te faca "senior". Dupa 10 ani o sa te faca si mai senior - o sa vezi ca exista o gramada de titluri pentru programatori(1, 2, 3, A, B, C, arhitect, miner, inginer, bigubastic, mario, super mario etc) si tot asa pana o sa te faca pensionar.
Daca skill-ul tau depaseste orice limita - o sa-ti dai seama ca nu e locul tau acolo si o sa te duci tu singurel unde trebuie

Daca ai citit pana aici iti multumesc si te rog sa nu iei in considerare ce am scris ca pe o lectie de viata, e doar parearea mea nu e un "asa trebuie sa faci". Spor la treaba!
Cu stima,
Lupu Claudiu
Lupu Claudiu
- Ovidiu Cucu
- Fondator
- Posts: 3778
- Joined: 11 Jul 2007, 16:10
- Judet: Iaşi
- Location: Iasi
- Contact:
Re: C++ User Interface
...si un varf de cutit de WIC (implicit ceva habar de utilizare librarii COM), ca sa nu astepti pe aia care dezvolta MFC/QT sa se scarpine dupa cap si sa bage suport, sa zicem pentru raw-image formats.bu7ch3r wrote: [...]
Qt & MFC - nu e nici o diferena![]()
http://www.all-freeware.com/images/full ... estore.png
[...]
Asta-i viata de programator. Nu poti spune "am ales inca din studentie MFC/QT/.NET/whatever-else si cu ala ies la pensie".
Subliniez programator si nu "masina de scris (cod)".

Ovidiu
Follow http://twitter.com/#!/ovidiucucu
Weblog: http://codexpert.ro/blog/author/ovidiu-cucu/
Visit FAQ, Tips & Tricks
Follow http://twitter.com/#!/ovidiucucu
Weblog: http://codexpert.ro/blog/author/ovidiu-cucu/
Visit FAQ, Tips & Tricks
- Ovidiu Cucu
- Fondator
- Posts: 3778
- Joined: 11 Jul 2007, 16:10
- Judet: Iaşi
- Location: Iasi
- Contact:
Re: C++ User Interface
Eu cred ca in perioada de formare a unui programator, conceptul de cross-platform ar trebui lasat la urma.
E bine mai intai sa aiba habar cat de cat despre chestiile specifice sistemelor de operare.
MFC-ul e OK, fiind un wrapper destul de lite peste Windows API.
Daca din consola il arunci / se arunca direct in Qt si altel roti reinventate, ajunge in cel mai fericit caz expert in chestii gen "derivez QOu din QGaina sau vice-versa?".
Parere proprie si personala...
E bine mai intai sa aiba habar cat de cat despre chestiile specifice sistemelor de operare.
MFC-ul e OK, fiind un wrapper destul de lite peste Windows API.
Daca din consola il arunci / se arunca direct in Qt si altel roti reinventate, ajunge in cel mai fericit caz expert in chestii gen "derivez QOu din QGaina sau vice-versa?".

Parere proprie si personala...
Ovidiu
Follow http://twitter.com/#!/ovidiucucu
Weblog: http://codexpert.ro/blog/author/ovidiu-cucu/
Visit FAQ, Tips & Tricks
Follow http://twitter.com/#!/ovidiucucu
Weblog: http://codexpert.ro/blog/author/ovidiu-cucu/
Visit FAQ, Tips & Tricks
- cristianamarie
- Membru++
- Posts: 480
- Joined: 12 Mar 2009, 18:47
- Judet: Iaşi
- Location: Iasi
Re: C++ User Interface
wxWidget e cam rateu. In momentul in care ajung la wxSizer imi vine sa arunc cu ceva pe geam. Si e doar un exemplu de doi bani, dar cu care ajungi sa te bati rapid. Diferentele dintre platforme sint destul de mari, pina la urma, si apar cind nu ai chef...Poate doar combinatia cu Python (wxPython) sa fie mai in regula. Dar in afara de un app standard nu prea ai ce face. Costul implementarii diferentelor devine prea mare decit daca as scrie o aplicatie dedicata Win, Mac sau Linux.
Nuclear launch detected
Re: C++ User Interface
Multi is doresc sa fi avut un ghid in momentul cand s-au apucat de programare. Multi citeau ce prindeau: manualul de utilizare de la HC(eu aveam sintez si am scris fiecare program gasit acolo, apoi m-am apucat sa-mi salvezi eu cele 10 CIRCLE si 5 INPUT pe caseta ), tin minte o carte verde in doua volume unde era cod si pentru commodore si pentru amstrad si pentru inca vreo 30 de masini. Mai era un almanah dedicat spectrum - am vazut acolo prima oara cod in qBasic, habar n-aveam ce e aia, am asteptat un an pana am prins un 286 sa scriu fenta aia de program care desena cu puncte ceva 3d. Si apoi norocul meu ca profu de info rupea c-ul si c++ si chiar stia diferentele dintre ele.
Cand am vrut sa trec de la C consola la UI mi s-a parut super complicat c++ si Visual Studio - in manualul lui Tudor Sorin era explicat ca la prosti cum sa faci un form si sa pui actiune pe un buton - dar nu m-a pasionat. In schimb, am invatzat flash, ca aia mi-a placut mie, ca era fain sa pun cerculete si sa faca animatii din click-uri (e vorba de AS 2.0 si Macromedia DW MX).
Dupa cateva luni in care inca mai vroiam sa dau click pe un butonas in flash si sa se execute aplicatia consola am inteles ca si flash-ul ala are "codul lui" - action script-ul mi s-a parut genial de simplu, iar help-ul era mura-n-gura.
Am lasat c-ul si atestatul meu era un mp3-player online - nush ce de ai intra pe net ca sa iti incarci melodiile de pe calculator si sa le asculti in flash, dar atat m-a dus capul sa fac
Acum ce sa-i zic, sa se apuce de flash si action script
Daca vreti sa radeti putin ganditi-va ce raspunsuri ar primi pe un forum de .net sau Java sau de AS...
Cand am vrut sa trec de la C consola la UI mi s-a parut super complicat c++ si Visual Studio - in manualul lui Tudor Sorin era explicat ca la prosti cum sa faci un form si sa pui actiune pe un buton - dar nu m-a pasionat. In schimb, am invatzat flash, ca aia mi-a placut mie, ca era fain sa pun cerculete si sa faca animatii din click-uri (e vorba de AS 2.0 si Macromedia DW MX).
Dupa cateva luni in care inca mai vroiam sa dau click pe un butonas in flash si sa se execute aplicatia consola am inteles ca si flash-ul ala are "codul lui" - action script-ul mi s-a parut genial de simplu, iar help-ul era mura-n-gura.
Am lasat c-ul si atestatul meu era un mp3-player online - nush ce de ai intra pe net ca sa iti incarci melodiile de pe calculator si sa le asculti in flash, dar atat m-a dus capul sa fac

Acum ce sa-i zic, sa se apuce de flash si action script

Daca vreti sa radeti putin ganditi-va ce raspunsuri ar primi pe un forum de .net sau Java sau de AS...
Cu stima,
Lupu Claudiu
Lupu Claudiu
Re: C++ User Interface
Multumesc de raspunsuri.
Deocamdata o sa incep cu Qt pentru cateva saptamani iar dupaia o sa trec si la MFC iar dupaia o sa ma decid pe care sa ma axez mai mult.
Scopurile sunt sa fac programe ca cele date de bu7ch3r ca exemplu.
Si inca o mica intrebare pentru cine a lucrat in Qt. Eu acuma am impresia ca invat un Qt mai ascuns in sensul ca eu folosesc framework-ul respectiv doar pentru interfata. Restul codului din spatele butoanelor spre exemplu este in mare parte C/C++ . Este ceva grav in asta? Ca pana la urma este cum ati spus si voi: nu este ceva pe care sa ma axez tot restul vietii, pe cand in cazul C/C++ ramane de vazut.
Deocamdata o sa incep cu Qt pentru cateva saptamani iar dupaia o sa trec si la MFC iar dupaia o sa ma decid pe care sa ma axez mai mult.
Scopurile sunt sa fac programe ca cele date de bu7ch3r ca exemplu.
Si inca o mica intrebare pentru cine a lucrat in Qt. Eu acuma am impresia ca invat un Qt mai ascuns in sensul ca eu folosesc framework-ul respectiv doar pentru interfata. Restul codului din spatele butoanelor spre exemplu este in mare parte C/C++ . Este ceva grav in asta? Ca pana la urma este cum ati spus si voi: nu este ceva pe care sa ma axez tot restul vietii, pe cand in cazul C/C++ ramane de vazut.
Cea mai buna batalie este cea castigata fara lupta.
-
- Membru++
- Posts: 919
- Joined: 23 Jul 2007, 11:32
Re: C++ User Interface
Iar pui pe C/C++ in rai si bibliotecile in iad
Limbajul are o mana de cuvinte cheie, bibliotecile au acelasi rang ("Standard C++ Library" nu e mai cu mot decat QT sau altele - decat in viziunea ta).

Limbajul are o mana de cuvinte cheie, bibliotecile au acelasi rang ("Standard C++ Library" nu e mai cu mot decat QT sau altele - decat in viziunea ta).
Re: C++ User Interface
Curiosul, e ok, planul e sa scrii cod. Dupa un timp sa te uiti la ce ai scris cu cateva luni inainte, ca sa razi:) Apoi poti sa arati codul si la altcineva, ca sa radeti impreuna. Si tot asa, dupa atata veselie, o sa se prinda ceva de tine.
Si in Qt nu e musai sa pui numai cod Qt si C++(ala nativ de care vorbesti), eu mai bag cate un include windows.h in proiecte daca-mi trebuie ceva din windows.h si nu vreau ca binarul ala sa ajunga pe linux sau mai stiu eu ce suporta Qt-ul....
Apoi daca o sa ai nedumeriri daca sa folosesti QString sau String ajungem la vorba lui Ovidiu, ori derivam ori nu mai derivam.
Primul task e sa faci ceva care sa compileze si apoi sa ruleze fara sa crape, din prima,
Spor la treaba!
Si in Qt nu e musai sa pui numai cod Qt si C++(ala nativ de care vorbesti), eu mai bag cate un include windows.h in proiecte daca-mi trebuie ceva din windows.h si nu vreau ca binarul ala sa ajunga pe linux sau mai stiu eu ce suporta Qt-ul....
Apoi daca o sa ai nedumeriri daca sa folosesti QString sau String ajungem la vorba lui Ovidiu, ori derivam ori nu mai derivam.
Primul task e sa faci ceva care sa compileze si apoi sa ruleze fara sa crape, din prima,
Spor la treaba!
Cu stima,
Lupu Claudiu
Lupu Claudiu
Re: C++ User Interface
Am inteles perfect acuma. Mersii 

Cea mai buna batalie este cea castigata fara lupta.
- Ovidiu Cucu
- Fondator
- Posts: 3778
- Joined: 11 Jul 2007, 16:10
- Judet: Iaşi
- Location: Iasi
- Contact:
Re: C++ User Interface
Serios? Nothing is perfect.curiosul wrote:Am inteles perfect acuma. [...]

Ovidiu
Follow http://twitter.com/#!/ovidiucucu
Weblog: http://codexpert.ro/blog/author/ovidiu-cucu/
Visit FAQ, Tips & Tricks
Follow http://twitter.com/#!/ovidiucucu
Weblog: http://codexpert.ro/blog/author/ovidiu-cucu/
Visit FAQ, Tips & Tricks
Re: C++ User Interface
Da, Qt nu e perfect, de exemplu dupa ce am scris si am livrat am in QT 4.7 am dat peste asta:
http://blog.qt.digia.com/blog/2010/06/1 ... -it-wrong/
Pe vremuri QThread era abstract, dar eu, daca stateam in cutia mea si scriam cod ca "monkey in the box" asta-mi trebuie.
In ce priveste codul si scrisul codului indraznesc sa pun acest link:
https://www.youtube.com/watch?v=sJHU_3NuCbw
http://blog.qt.digia.com/blog/2010/06/1 ... -it-wrong/
Pe vremuri QThread era abstract, dar eu, daca stateam in cutia mea si scriam cod ca "monkey in the box" asta-mi trebuie.
In ce priveste codul si scrisul codului indraznesc sa pun acest link:
https://www.youtube.com/watch?v=sJHU_3NuCbw
Cu stima,
Lupu Claudiu
Lupu Claudiu