V cestě vývoji aplikací pro Linux stojí hlavně GPL a nejednotné API pro grafické prostředí (nepočítaje čisté X API).
GPL brání vytvořit uzavřený ovladač pro Linux - musí se vytvořit jakási mezivrstva, která musí být pod GPL - tak jsou řešeny např. ovladač nvidia a ATI. Pak má ještě komunita keci, že ten ovladač je uzavřený a že to může být bezpečnostní problém - to jsou ale jenom keci, výmluvy, aby to otevřeli. We Win jsou uzavřené ovladače roky a nikdo si nestěžuje. Prostě GPL fašismus a posedlost GPL.
Nemožnost založit aplikace na GPL knihovně atd...
V čistém X API naprogramujete jednoduchou aplikaci s jedním textboxem a tlačítkem s extrémní složitostí minimálně za několik hodin (jestli né dnů) a stovek napsaných řádků kódu. S použitím WinAPI to trvá maximálně 5 minut a je to otázka 20 řádků kódu. Právě kvůli tomu je na Linuxu kýbl knihoven pro programování v X a každá má úplně odlišné API a pak mají i aplikace odlišná chování a vzhled, nezapadají do "vašeho" prostředí. To WinAPI je jednotné a pokud si vývojář neusmyslí, že jeho aplikace bude vypadat jinak, tak mají všechny jednotný vzhled i chování. Na Linuxu je kvůli třem aplikacím mít nainstalovány 3 GUI knihovny - a nevymlouvejte se, že může použít alternativu pro to "své" prostředí, protože ta kolikrát nedosahuje kvalit té druhé. Prostě samotné X by mělo obsahovat kvalitní a né tak složité API pro programování GUI aplikací. Už jste někdy zkoušeli pracovat se schránkou v X bez použití nějaké další knihovny? Ve Windows API otázka zavolání 2 fcí (třech při registrování "vlastního" formátu dat ve schránce), v X to obnáší mít data neustále v paměti aplikace, neustále se starat o asynchronní předávání dat aplikaci, co si je vyžádá, k tomu operovat s mnoha XAtomy, data opět tahat asynchronně z jiné aplikace, starat se o zrušení dat, když schránku "dostane" jiná aplikace, atd ...
Qt, jediná kvalitní a rychlá GUI knihovna pro Linux má tak blbou licenci, že pro uzavřené (i otevřené ale komerční) projekty si musíte zaplatit několik stovek dolarů (jestli ne víc) za to, aby jste ji mohli použít. To je nepřijatelné, když kvalitní WinAPI můžete použít zcela zdarma bez omezení.
Nesir FUDy o Qt - otevreny komercni projekt nemusi zaplatit ani zbla.
GPL - je to jen a pouze o tom, ze "chces-li vyuzit toho, co jsme napsali A (!) svoje upravy dale sirit, tak musis pouzit stejnou licenci. jinak ti nikdo nebrani si to napsat sam".
To je ono. Je jich kýbl. Použitím jiné se bude program chováním i vzhledem lišit od zbytku desktopu. Také ti "jiné" dosahují hodně malých kvalit. A programovat vlastní GUI knihovnu prodlouží vývoj aplikace o roky.
Tu "pitomou gui knihovnu" tvorili lide ve svem volne case a dali si podminku (GPL). Ty tvoris program a dal sis jinou podminku (napr. nechces, aby lide znali kod aplikace). Well, obe dve skupiny maji pravo dat si podminku uziti sveho dila. Ze nechces prijmout jejich podminku, je ale pouze Tvuj problem a nemuzes jim nadavat, s jejich kodem jsi nepomahal (aspon ses o tom nezminil) a ke vzniku knihovny jsi neprispel. Proste si napis vlastni GUI nebo si kup licenci na komercni Qt. Dost dobre nechapu Tve narky ;) A nebo pouzij neco pod LGPL, ta je volnejsi.
Licencování Qt je nehorázně drahé, pokud aplikace neuvolníte pod GPL. A nemám dojem, že by pracovníci TrollTechu psali Qt zdarma v době svého volna. Každopádně pro Windows můžete vyvíjet jak chcete - stačí mít licenci Windows, a kompilátor (který je zdarma). Nikdo vám neříká "zaplaťte hromadu peněz za možnost psát SW pro naší platformu". Takový přístup patří do sedmdesátých let.
Tak vy chcete prodávat svoji ve srovnání s Qt velice jednoduchou aplikaci a nechcete dovolit ostatním, aby ji volně šířili, protože chcete dostat pořádně zaplaceno za svou práci, ale nechcete zaplatit za práci někoho jiného, díky komu tu aplikaci vůbec můžete vyvíjet? Tohle trochu nechápu.
Mně to teda stejné nepřijde, ten ve WinAPI je o dost kratší a dal by se ještě o dost zkrátit.
A teď zkuste najít příklad, kde se v X vytvoří textedit se všemi vlastnostmi jako je ve WinAPI (podpora pro UNICODE - jedno jestli utf-8, ucs-2 včetně podpory psaní zprava doleva, musí obsahovat "caret", možnost označení textu, operace vyjmout, vložit, kopírovat (samozřejmě do/ze schránky (či selection v X))) a jedno tlačítko reagující na klik (= mouse-down následovaný mouse-up). Tohle než uděláte v čistém X API, tak vám to zabere den. Ve WinAPI 5 minut.
To by bylo jaksi nefér. To byste zase musel srovnávat Qt na linuxu a Qt na Windows, což ztrácí smysl. X API a WinAPI je fér, jsou to stejné věci, pokud z WinAPI nepoužijete jiné než GUI fce.
X API a WinAPI je také dost nefér. X API je velice low level (a chce být velice low level) a dělá svou práci daleko lépe, než ekvivalentní část WinAPI (třeba jsem ještě nepřišel na jedinou možnost, jak tunelovat jen jedno GUI okno přes síť a jak jej takto propojit s ostatními včetně třeba práce se schránkou).
To, že X11 dělá svou práci lépe, je dost pochybné. Zkuste se připojit k X11 serveru po pomalejší lince (dial-up, EPRS/EDGE), a porovnejte s RDP. U X11 to zvdáte před dokončením přihlášení, u RDP budete schopen pracovat. No a pak se zkuste od X11 session odpojit, a znovu připojit. Nejde? Hmmm.
jéhe, jarda bloguje :) ani se ti nedivím že tady nadáváš na api Xek, bodejť by si nenadával, že, když jsi chtěl jen tak bez dodržení licence použít nějaký ten guitoolkit a ještě na tom chtít vidělávat peníze. ve woknech ti ten tvůj program možná nějaký blboun koupí, ale takový bastl prodávat pro linux a ještě při tom podvádět? jardo, jardo...
nestidím se podepsat, všude se podepisuju stejně a nemám potřebu se registrovat na takovém bulvárním portálu jako je root.cz. nicméně to už neodkecáš, ti kdo ví ti ví, kdo neví ty to ani nezajímá. a netroluj tady.
Já si tu můžu trolovat jak chci. Není to tvůj server, tak mi nazakazuj, co tady smím dělat a co ne. Založ si svůj vlastní server a tam si nakazuj jak chceš.
Já si tu můžu zakazovat jak chci. Není to tvůj server, tak mi nezakazuj, co tady smím dělat a co ne. Založ si svůj vlastní server a tam si nakazuj jak chceš.
Proč mi zase něco nakazuješ? Není to tvůj server, tak mi nenakazuj, co tady smím dělat a co ne. Založ si svůj vlastní server a tam si nakazuj jak chceš.
Programovat aplikace v X11 je dnes totéž, jako psát je v assembleru. A porovnávat X11 s Win32 je stejná blbost, jako porovnávat kompletní auto s podvozkem jiného. X11 je spodní vrstva, nikoliv protějšek Win32. Tím je Qt nebo Gtk+.
Je pravda, že aplikace v Qt či Gtk nevypadají v jiných systémech nativně. Ale o to méně jsou na nich závislé a v komerčních programech je důležitější, aby byly ve všech systémech shodné než to, aby přebíraly dyzajn systému. Kolik znáte např. účetních programů, které vypadají nativně? A vadí to někomu?
Komerční aplikace na LGPL knihovnách založit můžete.
Je srandovní, když komerční firma není ochotna investovat pár set dolarů do svého výrobního nástroje ale přitom sama nutí koncového uživatele, aby si zakoupil Oracle.
Zdá se mi, že snem mnohých podnikatelů je nechat si platit za každý prd a přitom mít výrobní nástroje zdarma, náklady hrazené státem a zisky do vlastní kapsy, pokud možno nezdaněné. Přitom mít patent na každou čárku - ovšem s možností přivlastnit si a patentovat práce ostatních. Jó, to by se to podnikalo! To by ten kapitalizmus byl vážně zlatej.
Srovnávat Qt s WinAPI je blbost. Stejně jako je Qt "nadstavba" X, tak existuje Qt jako "nadstavba" WinAPI. Stejně jako X API je spodní vrstva, WinAPI také.
BTW tým GTK dodnes nepředstavil 64bit verzi pro Windows (a ani se mi ji nepodařilo zkompilovat - ani MSVC, ani 64bit gcc pro win), což naznačuje něco o jejich prasáckém způsobu programování.
"Srovnávat Qt s WinAPI je blbost. Stejně jako je Qt "nadstavba" X, tak existuje Qt jako "nadstavba" WinAPI. Stejně jako X API je spodní vrstva, WinAPI také."
No vtip je v tom, že Xka jsou ještě o něco níž než Win32. Přímý ekvivalent Win32 prostě v Xkách není. Možná winelib? ;-)
"BTW tým GTK dodnes nepředstavil 64bit verzi pro Windows (a ani se mi ji nepodařilo zkompilovat - ani MSVC, ani 64bit gcc pro win), což naznačuje něco o jejich prasáckém způsobu programování."
Tak v tom případě by se totéž by se dalo říct i o Sunu a Adobe. :-)))
Tak použij GTK+. Je to o něco víc high level než Win32 a je to taky zadarmo.
P.S.: Tvoje snaha o prodej komerčních programů nebo patchů pro open source programy je zoufalecká. Najdi si práci a ve volném čase dělej open source. Příkladem, že to jde, jsem já. Nejlepší pak je, když je za open source člověk placený, ale to se bohužel naskytne málokdy.
Pár postřehů:
1. Věřím, že i za OSS program může být člověk dobře zaplacen - příklad: Něco vyvinu a dám volně ke stažení. Když to bude dobrá věc, lidi se toho chytnou a začnou to používat. Pak někdo přijde a řekne "super moc se mi to líbí, ale potřeboval bych ještě dodělat tuhle funkčnost - sám do toho nevidim, udělej to pro mě, zaplatim ti za to"
2. Srovnávat Win API a X - osobně se mi o dost víc líbí klient-server mechanismus u X.
2. Mě se více líbí GDI se svým device independent modelem, který umožňuje kreslit po obrazovce, tiskárně a plotteru stejným kódem (jen se změní kontext na který se kreslí), s pokročilými typografickými features a správou barev. A samozřejmě RDP session jako jedno ze zařízení. X11 je technologický pravěk.