Hlavně o FireMonkey, aktualizacích, Linuxu atd.
Na blogu embarcadero se objevila zprávička, že se očekávají aktualizace vždy ke konci měsíce (což zatím platí), a že každá sudá (tj. 2, 4, …) může měnit rozhraní u FireMonkey. A je pravdou, že FireMonkey ty aktualizace potřebuje. Přece jen v porovnání s VCL je to zatím slabší. Ale jak FireMonkey, tak frekvenci aktualizací považuji za velmi významný posun v historii Delphi a spol.
Když tak píšu o FireMonkey tak se v komentářích vyskytuje názor, proč to nepoužívá prvky z OS?
FireFlow demo z instalace Delphi
Na obrázku je demo z instalace, vybere se adresář a program načte obrázky a zobrazí je jako listovací seznam podobně jako na iPhone alba s CD. David I v Praze ukazoval variantu, kdy místo obrázku byl editační formulář - tj. co "složka" to jedna databázová věta (klasický FishFacts) a musím uznat, že to bylo velmi ale velmi impresivní. Stejně jako grid v 3D prostoru v jiném příkladu.
Ano chápu, že pro toho, kdo bouchá gridy v programu jak Baťa cvičky to až tak moc význam nemá, ale je to o fantazii a obávám se, že už v současnosti aplikace musí vypadat cool a co teprve za nedlouho?
Odbočka: Hezký příklad využití rotace je Anders Ohlsson - hodiny. Celé hodiny jsou obrázek, jen ručičky jsou normální čárky (nebo libovolné bitmapy) u kterých se čas transformuje na rotaci jen výpočtem - a to je vše. To byl jen příklad, který mne celkem překvapil, ale stačilo se zamyslet jiným způsobem než ve VCL. Škoda, že už nedělám žádný měřící soft - to bych tam všude narval budíky s ručičkami.
Schválně jsem zde minule vložil dvě videa pro inspiraci - osobně mi totiž dělá zatím problém přemýšlet jiným způsobem.
Proč tedy ne OS prvky? Ohlédnu-li od toho, že:
- celá aplikace se dá libovolně transformovat (rozlišení a DPI!, orientace výška x šířka)
- dají se aplikovat libovolně efekty (zvýraznění prvku nebo toho kde chci mít uživatelovu pozornost - třeba glow),
- bude to všude vypadat a chovat se stejně bez ohledu na verzi OS a jeho chyby
to nemá žádný jiný důvod :-). Opravdu chápu custom draw podstatu firemonkey jako největší plus.
Ohledně Linuxu: když jsem psal svůj jediný velký program pro Linux tak jsem nejvíce nadával na roztříštěnost platformy. Zatímco na Windows je prvním programem každého programátora klon notepadu, na Linuxu je to buďto nějaký GUI toolkit popř. Window Manager. K tomu si stačí připomenout naprostou ignoranci ohledně kompatibility knihoven, kdy slavné DLL hell na Windows je proti tomu procházka májovým lesíkem po dešti a dostanete kombinaci, která je prakticky neotestovatelná. Což byl třeba i problém Kylixu - to se prostě nedalo udržovat. Mimochodem tehdy Danny Thorpe napsal, že tvořit Kylix bylo podobné jako zkusit udělat Boeing jen za pomocí kamenných mlatů (nebo tak něco).
Takže i já jsem tehdy vývoj ukončil ze stejného důvodu.
Ne já opravdu chci framework:
- který se bude chovat predikovatelně na všech platformách a jen aplikací stylu se převlékne do skoro podobného vzhledu jako ostatní aplikace (navíc mohu nabídnout firemní barvy)
- nebude záviset na "opravách" knihoven Linuxu
- nebude sebou táhnou tuny závislostí
To že bude HW akcelerovaný je jen třešnička na dortu. Jinak ohledně Linuxu bude asi závislost na Pango pro vykreslování textu. Jinak výživná diskuze je u předchozího článku.
Jinak podle slov David I dostal Android prioritu před Linuxem. Co to znamená nevím - je třeba počkat na roadmap, která by měla být brzy.
Problémy FireMonkey
- Není podpora TAction (respektive je plánována - ve zdrojácích je zapoznámkována)
- Pomalost editačních prvků (zlepšilo se s update 2, ale pořád to není ono)
- TImageList není - nahrazeno styly, ale myslím si, že by to usnadnilo portování
- Problém v OSX pod VMWare (fix jsem ukazoval dříve, oprava by mohla být v SP3)
a další ne které jsem nanarazil
Něco odkazů
Obecný postup na zvýrazňování vybraného prvku za pomocí RTTI je na delphi.about.com - zvýrazňování vybraného prvku.
Na stránkách EMBT.cz je ke stažení prezentace od Davida I z Prahy. Celkem zajímavé.
DevArt.com má na svém blogu shrnutí novinek v XE2. Pěkné.