Byl to ten slavný den,
kdy nám byl předveden
nový ARM compiler.
Nativní, nativní, zkrátka Delphi compiler.
Aktualizace: materiály ke stažení
Přes 100 lidí mělo možnost se trochu seznámit s možnostmi Delphi pro iOS. Většinu času se opravdu Pawel věnoval iOS - respektive mobilní verzi FMX (po nezbytném PPT úvodu, kde mne nejvíce zaujalo, že dle předpovědí letos tablety v prodejích překonají notebooky), až na konci letem světem FireDAC. Mohu psát jen o tom CO bylo ukázáno.
FireMonkey v nové verzi je výrazně vylepšená a určitě řádově lepší než v XE3.
Ukazován byl překlad pro iOS simulátor a deploy na zařízení (iPhone 4GS a iPad asi 2). Minimální verze iOS je asi 5.1, iOS 6.x je podporován. Myslím, že je obecně známo, ale přece jen: iOS simulátor spouští normální x86 kód, který emuluje chování iOS, tj. jedná se v podstatě o normální (z hlediska OS X) aplikaci. Tj. kompilátor pro Delphi v tomto případě emituje x86 kód pro MAC. Na rozdíl od zařízení, které je ARM, tudíž Delphi emituje ARM kód (to je nápad Apple).
Ohledně novinek: nový kompilátor (mluvíme jen o ARM) je postaven (resp. codegen používá) LLVM - v čem je psán frontend nevím - možná je v Delphi. Nový kompilátor (ARM) používá ARC - automatic reference counting, tj. to co má Delphi pro interface a stringy odjakživa.
Pro vývoj potřebujete OS X (což neznamená i macka, jak zde bylo nedávno řečeno). Pro deploy na zařízení je třeba zaplatit Apple $99 dolarů (ročně) - pro simulátor ne. Delphi podporuje několik typů iOS aplikací - jak bylo ukázáno (debug, AdHoc, Apple Store) - má to stejný význam jak při vývoji pro iOS. Nemusíte se XCode ani dotknout.
Killing feature (na kterou Pawel původně zapomněl a přítomný MVP ho jemně upozornil) je podle mne to, že kromě uvedených dvou módu (device, simulátor), se dá díky podstatě FireMonkey výsledný program přeložit pro Windows a tak si v pohodě odladit většinu programu bez nutnosti OS X. Tohle je velmi významný bod.
Z ukázek mne velmi příjemně překvapilo použití TPageControl tak, že se dá mezi jednotlivými (schovanými) záložkami přecházet se slide efektem (vzpomínáte si, jak jsem popisoval možnosti animací ve FireMonkey)? Přibylo několik standardních akcí pro TActionList - ukazována byla akce pro vyfocení obrazu integrovaným fotoaparátem, kdy v události přijde přímo bitmapa, kterou stačilo přiřadit komponentě obrázku. Obecně jsem už o práci s audio a video ve FireMonkey taky něco napsal.
Mezi dalšími akcemi byl zmiňována třeba akce typu vyfoť a nabídni sdílení (facebook, twitter atd.) - tak jak jsou uživatelé iOS zvyknutí, akce pro změnu záložky se zmiňovaným slide efektem atd. Prezentovány různé prvky UI, nativní prvky FireMonkey z iOS (např. výběr data přes ten buben).
Jako perlička vývoj v 3D - přímo v IDE vytvořeny v OpenGL kostky, připojena animace atd. Ohledně 3D jsem tu již také psal - navíc je to mezi demy v Delphi - myslím, že se jmenuje controls nebo tak nějak.
Byl ukazován rozšířený FireMonkey TListBox, tohle je ze stránek Marca Cantu -
jen ten ukazovaný měl ještě kromě položek, header, footer, skupiny a vyhledávací pole.
Z hlediska portability je IMHO FireMonkey připravena velmi dobře, takže další platformy (Android) už snad nebudou představovat velké změny.
Ohledně FireDAC: dá se dokoupit pro lib. Embarcadero verzi Professional Delphi nebo je součástí vyšších verzí XE3. Bylo ukazováno akorát připojení přes komponenty na formuláři. Osobně preferuji spíše dynamický přístup. Výsledná aplikace je monolitická, ne jak v případě DBExpress, kdy byl dodávána ještě DLL knihovna pro připojení. Navíc se u FireDAC dá vytvořit připojení dynamicky - opět plus proti DBExpress a jeho problémům s ini souborem.
Jinak byla XE3 podle všeho poslední verze s BDE.
Zkusím v brzké době nějaký malý tutoriál ohledně FireDAC, ale je to jednoduché jako žebřík.
Více, až budu moci. Pawel v jednu chvilku těžce zariskoval, když si popletl Brno s Prahou a nazval první projekt Prague:-). Jinak díky všem za pochvaly ohledně Delphi.cz.
P.S.: R. Voltr tam měl MS surface postavený na ARM. Moc pěkný HW a i to "Metro" má něco do sebe.