Kao prvo, cilj mi je naučiti raditi aplikacije i što god me pukne za linux platformu. Tek sam se počeo snalaziti na linuxu i smatram se noobom. U programiranju nisam nov, znam OO i hrpu design patterna i ne trebam učiti programirat već samo naučiti novi jezik i pohvatati kako stvari rade.
Duže vrijeme tražim jezik koji bi bio prikladan za razvoj aplikacija na linuxu. Preferiram moć jezika ispred jednostavnosti. Javu sam otpisao jer je JVM prespor. Volim OO ali ne bježim od proceduralnog programiranja. Zato sam se na koncu odlučio za C++. Davno sam prije učio C i malo sam osvježio sjećanje i isprogramirao sample GTK aplikaciju u C-u. Ako sam dobro shvatio, sve je moguće i napraviti i programirati u linuxu i sa C++ samo treba imati odgovarajuće library-e.
Prema ovome što si napisao, imaš idealne temelje za C++/Qt.
Ako voliš OO i C++ biti će to ljubav na prvi pogled. Naravno da moraš dobro znati C++ ali i sa osnovnim znanjem možeš napraviti dosta u Qt-u. Nivo C++a koji ti treba je:
pointeri
klase
naslijeđivanje i virtualne funkcije
i naravno sve što ide prije toga (sintaksa, tipovi, petlje, logički uvijeti...) - ali to pretpostavljam da znaš.
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Koja je razlika u izradi aplikacija za Gnome odnosno KDE okruženje? Koristim XFCE koji koristi GTK+ widgete. Da li programiranje u Qt-u znači izradu aplikacija za KDE ili postoji mogućnost exportanja za Gnome? U principu ako sam dobro shvatio, KDE aplikacije mogu biti i na Gnome-u? To se pokreće preko nekog wrappera ili? Nisam siguran kako to funkcionira...
U principu te to ništa ne mora brinuti.
Nekad je postojala razlika u izgledu Qt/GTK aplikacija na KDE/Gnome/XFCE-u, ali to već dugo funkcionira kako spada...
Qt aplikacije jednako dobro izgledaju na KDE-u i na Gnome-u. Uopće se, po izgledu, ne može skužiti u čemu je aplikacija pisana.
Kompajliraš kod na npr openSUSE-u KDE i taj binary baciš na Mint Gnome. Na suseu će izgledati kao KDE a na Mintu kao Gnome. Naravno, moraš imati instalirane Qt biblioteke, ali ionako vjerojatno koristiš neki Qt program - pa su ti već instalirane.
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Nemoj miješati Qt i KDE (ista razlika kao Gnome i GTK). Naravno, moguće je pokretati KDE aplikacije pod Gnomeom, ako imaš odgovarajuće dependencyje. No jedini dependency za Qt aplikacije jest dakako Qt (u najjednostavnijem mogućem slučaju).
Još jedno pitanje, da li isto stečeno znanje primjenjivo i na izradu aplikacija za Android? Pretpostavljam da je budući da je linux-based i da samo treba ukomponirati odgovarajuće library-e.
Ne baš, osim generalno kao što bi ti znanje stečeno pod windowsima donekle koristilo i za druge platforme. Android je baziran na Javi, ima svoj Android SDK i mislim da je Eclipse najkorišteniji IDE za razvoj Android aplikacija.
ant1h3r0 je napisao/la:Ok, odlično, puno hvala! Bacam se onda na Qt.
Još jedno pitanje, da li isto stečeno znanje primjenjivo i na izradu aplikacija za Android? Pretpostavljam da je budući da je linux-based i da samo treba ukomponirati odgovarajuće library-e.
Može pomoći u generalnom razvijanju preodžbe o konceptu razvoj OOP orjentiranih aplikacja, ali ti generalno neće pomoći, ako su ti aplikacije za android prioritet onda se baci na javu mislim da je bolje zacrtati si neke ciljeve nego utrošiti vrijeme (naravno ono nije utrošeno, ali ako ti je cilj android promašio si jezik )
Ken Thompson je napisao/la:One of my most productive days was throwing away 1000 lines of code.
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Android mi nije prioritet, već dodatak. Nažalost nisam kliknuo s Javom, ne sviđa mi se JVM. Ali dobro, ako bude potrebe, znam od kud počet i gdje tražit.