Nejak nechapu schizofreni pristup nekterych Java projektu. Pokud pouzivam Javu tak pro prave jeji vlastnosti s tim, ze jsem schopen akceptovat pripadnou dan za tyto vlastnosti (tedy rychlost). Nechapu to kombinovani nativniho kodu a Javy. Pokud mi nevadi pouziti kodu dane platformy a zaroven mi vadi rychlost Javy tak proc to cele neni treba v GTK/QT apod?
IMHO hodne lidi pouziva Javu nejen z duvodu prenositelnosti. Ostatne hodne Java aplikaci ma cilove platformy takove, ze prenositelnosti by bylo dosazeno i pouzitim standardne kompilovaneho kodu.
Java je super pokud jeji pouziti neni jen vysledkem snahy tvurcu aplikace prenest svou neschopnost na
stranu uzivatele respektuve jeho HW.
Kazde reseni je tak prenositelne jak prenositelna je jeho nejhure portovatelna cast. Pokud muzu psat cast neceho (treba menu) v GTK tak proc to v tom nenapsat cele?
Nemam nic proti kompromisum, ale pokud udelam kompromis, kterym popru nebo "jemne" nabouram zakladni vlastnost tak to pak je na nic. Existuje napriklad Java binding nad GTK (http://java-gnome.sourceforge.net/) Aplikace ktera to pouziva potrebuje GTK/GNOME jinak nebezi. Mozna mi neco uniklo, ale nechapu to...
To je asi jako instalator Oracle v Jave, Hmm..co ze to ten instalator instaluje? Oops.. kompilovane cecko ktere na cilove platforme bezi..
No, nevim jak konkretne funguje toto nativni GUI (v Eclipse). Ale obecne z pohledu programatora neni prece problem udelat to tak, ze pokud na dane platforme je nativni rychlejsi podpora pak ji pouzit a pokud neni tak pouzit prenositelnou pomalou, ktera pobezi vsude tam kde neni nativni. Avsak nevim jestli je to takto konkretne v Eclipse udelano. Toto nativni zrychleni dost vitam (sice nevim o kolik je rychlejsi, zatim jsem se nedostal k tomu Eclipse vyzkouset), protoze prave rychlost GUI v Jave je dost otresna...
Neco vam opravdu uniklo :) Okamzite me napada alespon jeden duvod, proc se hodi mit to napsane v Jave, i kdyz GUI je napsano v nativnim kodu: pluginy. Eclipse je postavene na spouste pluginu a diky Jave je trivialni pridatavat pluginy a hlavne, *plugin je v Jave a tudiz prenositelny*, neni treba distribuovat pluginy pro vice platforem.
Duvod pro pouzivani nativnich metod je ten, ze v dobe vyvoje aplikace je virtualni stroj na nektere veci prilis pomaly. Ovsem virtualni stroje Javy se s kazdou verzi o neco zrychluji, takze jednou dosahnou uspokojive rychlosti v te oblasti pro kterou jsem pouzil nativni metodu. No a potom staci nahradit nativni metodu metodou javovskou.
Cili nativni metody jsou jenom docasnym kompromisem mezi rychlosti a prenositelnosti.