Portál AbcLinuxu, 20. května 2024 17:15


Dotaz: Vývoj Qt aplikácie

9.7.2016 12:06 rastos | skóre: 62 | blog: rastos
Vývoj Qt aplikácie
Přečteno: 884×
Odpovědět | Admin

Prišiel za mnou šéf a chcel vedieť, čo by to obnášalo, keby sme chceli vyvíjať Linux-ovú aplikáciu. (komerčnú, pre malý počet konkrétnych zákazníkov) Povedal som mu, čo som vedel, ale sám som nebol spokojný so svojou odpoveďou tak som začal pátrať po tom, ako urobiť aplikáciu pomocou Qt - a narážam na samé otázky:


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.7.2016 13:46 chrono
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Balíček s Qt Creator je aj pre 14.04 a vyzerá to tak, že využíva Qt5.
9.7.2016 15:19 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Tak prvý bod je mi už jasný. QtCreator balík sa dá priamo v defaultnej inštalácii Ubuntu nainštalovať cez "apt-get install qtcreator". Predtým som to nepozeral správne. Tiež potrebuje ešte doinštalovat Qt verziu 4 alebo 5.
9.7.2016 16:20 chrono
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Inštaláciu potrebných Qt knižníc nerieši správca balíčkov?
9.7.2016 19:00 MadCatX | skóre: 28 | blog: dev_urandom
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Neřeš a v tomto případě jde o správné chování. QtCreator -devel balíčky pro běh nepotřebuje a vývojových Qt kitů je možné mít nainstalováno najednou libovolné množství. Klidně je možné používat distribuční QtCreator a Qt kity nainstalované Qt instalátorem nebo ručně zkompilované.
9.7.2016 18:57 MadCatX | skóre: 28 | blog: dev_urandom
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Odpovědět | | Sbalit | Link | Blokovat | Admin
  1. QtCreator součástí distribucí bývá (Arch Linux i Fedora ho rozhodně balíčkují), ovšem člověk je pak závislý na tom, v jaké verzi je pro jeho distro zrovna dostupný. Totéž platí o samotných knihovnách Qt. Pokud člověk potřebuje vyvíjet proti nějaké konkrétní verzi Qt, může opět Qt zabalené distribucí nevyhovovat. Další potenciální problém může tkvět v tom, že některé distribuce si Qt různě modifikují, což může znamenat třeba implicitně nefunkční qDebug.

    Pro „business“ použití bych doporučil nainstalovat Qt pomocí instalátoru od Qt Company. Kromě toho, že dostaneš Qtčka v „čisté“ podobě máš možnost nainstalovat několik verzí Qt vedle sebe a používat tu, kterou potřebuješ. Instalátor dále umožňuje nainstalovat některé proprietární Qt moduly, které linuxové distribuce nebalíčkují a z licenčních důvodů to (nejspíš) ani není možné.

  2. KDevelop jsem nějakou dobu neviděl, ale pokud vím, standardně používá jako build system CMake. QtCreator používá Qtčkový QMake, ačkoliv s CMakem umí pracovat taky. Upravit si předgenerovaný CMakeový skelet tak, aby šel sestavit i proti Qt4 by neměl být takový problém, protože rozdíly jsou v tomto směru malé. Na druhou stranu pro nový projekt bych určitě použil Qt5, nejlépe pak LTSkovou verzi 5.6. QtCreator je mimochodem velmi solidní IDE, zvlášť čtyřková řada s podporou pro statický analyzátor Clangu. Pro Vi(m)aře je k dispozici i FakeVim režim.
  3. Nerad bych zde šířil nějaké bludy, ale fungování LGPL licence chápu takto: Pokud jsou knihovny licencované pod LGPL samostatná binárka, vůči které se můj program dynamicky linkuje, pak může být moje aplikace uzavřená. Jestli prolinkování zařídí linker OS nebo moje aplikace je IMHO technický detail, který ta licence nijak neřeší. Důležité je, že na požádání musím jako autor aplikace poskytnout zdrojové kódy všech knihoven licencovaných pod LGPL, které můj program používá včetně všech úprav, které jsem v těch knihovnách udělal. Ty zdrojáky musím mít „fyzicky“, odkaz na nějaký cizí repozitář nestačí.
9.7.2016 21:26 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie

Vzhledem k tomu, že zákazníků má být víc, bych rozhodně nedoporučoval vyvíjet pro konkrétní verzi Qt, protože už při dvou zákaznících je téměř jisté, že budou chtít používat různé distribuce... A z bastlu, kterej si nese své vlastní Qt a instaluje se nejlépe z nějakýho *.tar.gz scriptem budou určitě všichni nadšený...

Při troše snahy není problém psát zároveň pro Qt4 i Qt5 a pomocí OBS nebo nějakýho ekvivalentu pak vytvářet balíčky/repozitoře pro široké spektrum distribucí, které mají široké spektrum Qt knihoven.

Každý má právo na můj názor!
9.7.2016 23:22 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
V tom konkrétnom prípade, ktorým som začal by išlo o kompletný riadiaci systém pre nejaký technologický proces, kde by sme dodávali všetko vrátane OS a HW, na ktorom to pobeží - takže by sme nad verziami a distribúciami mali kontrolu. Ale díky za info.
9.7.2016 23:22 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Dobrá odpoveď. Ďakujem.
10.7.2016 12:54 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Odpovědět | | Sbalit | Link | Blokovat | Admin

spis nezapomen na to ze pro komercni pouziti u QT musis zaplatit licenci ..

 

a na QT4 bych se v tuto dobu fakt vybodl ...uz je davno out of support , spis bych se podival na QT 5.6 / 5.7.

USE="-gnome -kde";turris
10.7.2016 13:14 chrono
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie

spis nezapomen na to ze pro komercni pouziti u QT musis zaplatit licenci ..

To ale nie je pravda.
10.7.2016 13:25 Jardík
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
S tou licencí je to trochu složitější, hlavně protože C++ a inlinování. Mají tam ještě nějakou výjimku, že když ta inlinovaná část nepřekročí nějakých X procent, tak je to ok, nebo něco takového tam bývalo.
10.7.2016 22:34 chrono
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Možno niekedy také niečo mali, momentálne je v ich FAQ:
The LGPL allows you to keep the source code of your application private as long as it is “work that uses” the library. Dynamic linking is usually recommended here.
10.7.2016 21:32 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie

a to si vzal kde ? QT je a byl;a vzdy dual  licensed -- OSS zdarma , komercni vyvoj -- zaplat

 

https://www.qt.io/buy-product/?pid=7051 je asi co ? 350USD mesicne na 1 vyvojare jen tak ?

USE="-gnome -kde";turris
10.7.2016 22:32 chrono
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
To je nezmysel. Áno, Qt je aj pod komerčnou licenciou, ale ak vývojárovi stačí LGPL (a nepotrebuje Qt Charts a Qt Data Visualization, pretože tie sú len pod GPL), tak môže použiť aj tú licenciu (so všetkým, čo s tým súvisí, je to popísané napr. aj v ich FAQ). A ak by to bolo inak, tak by porušovali LGPL.
3.5. Can I use the Community open source version to develop my commercial product?

It depends on how you license and distribute your product. The open source version of Qt is mainly distributed under the LGPL, version 3 and GPLv2/v3. You will need to fulfill the license obligations for these licenses when using Qt in your product.
PS: A len tak mimochodom, Qt Script, Qt WebKit a Qt WebEngine sú aj v ich komerčnej verzii pod LGPL licenciou.
10.7.2016 22:44 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
It depends on how you license and distribute your product. The open source version of Qt is mainly distributed under the LGPL, version 3 and GPLv2/v3. You will need to fulfill the license obligations for these licenses when using Qt in your product.
z cehoz plyne ze klientum musi dodat i zdrojove kody .. a nebo si poridit komercni licenci ...
USE="-gnome -kde";turris
10.7.2016 22:50 chrono
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Ak využijú LGPL licenciu, tak im zdrojové kódy aplikácie dať nemusia (a píše sa to aj v inom bode toho ich FAQ, pripadne na ich stránke https://www.qt.io/qt-licensing-terms/)
11.7.2016 09:22 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
...z cehoz plyne ze klientum musi dodat i zdrojove kody

Ano, ale zdrojové kódy Qt, pokuď je budou modifikovat. Což není zrovna obvyklý případ.

Každý má právo na můj názor!
11.7.2016 09:25 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie

Za předpokladu, že to Qt budou dynamicky linkovat. Pokuď by chtěli statickou binárku, pak tu komerční licenci potřebují. Ale zrovna pro Linux je víc než vhodný linkovat proti systémovému Qt.

Každý má právo na můj názor!
11.7.2016 09:18 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie

a na QT4 bych se v tuto dobu fakt vybodl ...uz je davno out of support , spis bych se podival na QT 5.6 / 5.7.

Například aktuální RHEL/Cent OS Qt5 vůbec neobsahuje. A to je zrovna distribuce, která se komerčně používá skoro nejčastěji, takže vykašlat se na ní (nebo nutit uživatele k používání nějakých 3rd party repozitoří) není obecně z obchodního hlediska zrovna nejšťastnější nápad... Zvlášť v situaci, kdy při troše snahy lze psát aplikaci pro Qt5 i Qt4 zároveň.

Každý má právo na můj názor!
11.7.2016 10:58 MadCatX
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Lehce mimo téma, ale přijde mi vhodné to zmínit. Psát něco zároveň pro Qt4 a Qt5 není až tak jednoduché. S malými odlišnostmi v API se dá poprat, ale Qt5 se vevnitř chovají jinak, takže aplikace sestavitelná proti oběma verzím by se taky musela nadvakrát testovat.
Ruža Becelin avatar 11.7.2016 11:16 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Kdyz to bude komercni a soupnou Qt5 do /opt spolu s aplikaci, tak to nikoho trapit nebude...
Ruža Becelin avatar 11.7.2016 11:36 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Jinak Qt5 je i v EPELu...
11.7.2016 14:06 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
Což je 3rd party repository. Netvrdím, že to nejde, ale pokuď se pak máte starat o stroj, kde se takhle chová každej druhej balíček, že potřebuje dalších X repozitoří, tak jako správce z toho dvakrát nadšenej člověk není...
Každý má právo na můj názor!
11.7.2016 14:03 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Vývoj Qt aplikácie
To je asi věc názoru, mě by to třeba vadilo. Navíc to pro vývojáře znamená se starat o aktualizace a sestavení Qt.
Každý má právo na můj názor!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.