Delphi XE5 s podporou pro Android - první pohled

vložil Radek Červinka 29. srpna 2013 22:01

Přátelé, stal se zázrak. Nijak jsem se nikdy netajil mým vztahem k Androidu a trošku jsem se i bál jak si s roztříštěností a chaosem platformy Delphi poradí. A podle mne to vyšlo. Android je tak roztříštěná a zmatená platforma, že je opravdu zázrak jak to krásně funguje a to, že to úplně transparentně funguje i pro iOS je prostě nádhera. Abych se vyjádřil slovy klasika: kdo jiný to má?

Proč mluvím o roztříštěnosti? Na iOS je celkem tak 6 zařízení, kdežto Android má nejméně to samé množství od každého výrobce, většinou s nulovou následnou podporou - ale s tím nic nenaděláme. Proto je pro několik nejpopulárnějších zařízení přímo garantována podpora (jako je Google Nexus, Samsung Galaxy nebo Kindle Fire) a ostatní při splnění HW požadavků budou fungovat (definitivní verze požadavků a minimální verze Androidu až s release).

Delphi XE5 Android

Ono vlastně není co popisovat, protože to co jsem napsal u XE4 ohledně funkcionality u iOS je to samé v bledě modrém jen že to funguje navíc i pro Android. Produkt je stále ve stádiu beta testu a některé detaily se mohou změnit, ale co se nezmění je nativní podpora pro Android a iOS z jednoho kódu a podpora HW zařízení (senzory, fotoaparát) a služeb jako u iOS.

Delphi při kompilaci pro Android (za pomoci upraveného LLVM kompilátoru podobně jako pro iOS) vygeneruje .so (tj. ekvivalent DLL na Windows) a malý java "bootloader", který .so zavede. To celé je pro nás transparentní a automaticky se vytváří během kompilace - výsledkem je klasický APK balíček, který je možno přímo poslat na zařízení nebo spustit v emulátoru (který je výrazně pomalejší než zařízení). Jinak během překladu je podle cílové platformy přilinkován patřičný vzhled a použity pickery OS (např. na výběr datumu, nebo klávesnice). Výsledkem je vzhledem a chování odpovídající OS, s tím že nemusíte změnit ani středník. Navíc stejně jako v XE4 funguje možnost přidat jako cílovou platformu Windows - nebudu sice fungovat podpora pro HW senzory, ale pro většinu věcí to může stačit.

styl tlačítka

Část z možností pro vzhled tlačítka, podobně jsem ukazoval styl minule pro iOS.

Pěknou vlastností IDE je, že v případě přepnutí vzhledu přes combobox se zařízeními se mění styl náhledu mezi Androidem a iOS.

Vylepšení pro ARM: u debuggeru přibyla podpora pro zobrazení property a funkcí, kompilátor pro ARM generuje v release mnohem menší soubor.

Indy podpora

Jak pro iOS, tak pro Android jsou k dispozici průvodce: nepodaří se vám deploy na zařízení? Objeví se okno s wizardem (a tím správným).

Trable

Článek je napsán se speciálním povolením ohledně beta blogování - popisuje před realizační verzi, pro detaily navštivte embt.co/RADAndroid.

Tagy: , , ,

Delphi | Novinky v Delphi

Komentáře

31.8.2013 7:42:15 #

Radim

To je moc dobrá správa.

Tak, predsa len to chlapci od EB dokázali.

No vidíme, čo sa deje. Šéfovia veľkých firiem odchádzajú/padajú tak sa treba znovu rozhúpať...

No tento raz to nevidím tak, že firma vydá novú verziu a "zas" má dva roky pokoj (od konkurencie). Tie časy sú preč.

Radim

1.9.2013 11:10:16 #

robert

A co android na desktopu, strkaji to i do notebooku a na x86, je tam na to "profil"?

robert

1.9.2013 12:57:54 #

JFK

O desktopu s Androidem jsem neslyšel a zcela minoritní platformy se v začátku určitě pokrývat nebudou. Na druhou stranu je snaha o penetraci na další typy zařízení (hodinky, brejle apod.) v dalších verzích. Otázka o x86 je úplně mimo, jelikož se poslední dva roky všude dokola píše o "NEXTGEN" kompilátoru pro (výhradně) ARMv7, takže opravdu ne.

JFK

2.9.2013 13:13:19 #

Tomas

TO JFK: Je otázkou, kam se bude vývoj ubírat a do čeho všeho se Android nasype. Když jsou to dnes brýle, hodinky, tak časem si dokážu představit i koupací čepice či polárkový dort :) Ale vážně - např. zde se nabízí spousta serepetiček, které budou také potřebovat aplikace, čili otázku Roberta chápu jako opodstatněnou.
http://eshop.minidroid.cz/minix/2-minix-neo-x5.html

Tomas

2.9.2013 22:32:52 #

JFK

> Tomas > obecně taková otázka jistě smysl má, ale jelikož se odpověď na ní zde i ve všech jiných zdrojích opakuje, tak to působí spíš jen jako diskuze o počasí :-) Na druhou stranu bych pochopil a ocenil, kdyby se někdo zeptal, zda když LLVM podporuje x86 (a nebo třeba MIPS, CELL, nově i ARM-64,  ...), bude to samé podporovat i Delphi ? A odpověď by mě zajímala ještě více :-) Ale teď vážně : kluci z EMBT si to celé dosti upravili, rozhodně by bylo naivní si myslet, že prostě vzali open-source a nahradili tím svůj osvědčený vyladěný toolchain. Z BETA diskuzí je vidět, s čím vším se museli a musejí potýkat a naopak to spíš vypadá tak, že začnou brzy tlačit na ostatní (tvůrce LLVM) a sami do projektu začnou přispívat, aby se toto celé svobodné dílo stalo ještě lepším (bez ironie). Aktuálně se to týká např. debuggeru (DWARF). Ale jak napsal Allen Bauer, s open-sourcem je potíž, že kromě kódu bojujete i s cizím egem a to je někdy problém ještě větší, než ten samotný kód... ;-)

JFK

2.9.2013 22:51:28 #

JFK

Možná jen zdůrazním jednu věc: dnes (XE4/5) je to opravdu "jen" ARM. Uvozovky nejsou proto, že se objevují Androidy s x86 (byť Atom je lepším a lepším, ale zatím zde bojuje oproti titánům jen velmi těžko), ale proto, že nelze použít Intel HAXM emulátor, tj. provozovat AVD s Intel System Image (tj. téměř real-time). A proto jediné rozumné řešení je koupit si laciný "vývojový" android phone klidně jen za 3 tisíce a testovat všechno live, než se opíjet "skvělou" funkcí v emulátoru. Naproti tomu koupit si iPhone jen tak na hraní je už trochu jiné kafe :D

JFK

3.9.2013 10:23:50 #

radekc

za a) nyní Delphi podporuje ARM Android - x86 Android je v plenkách

za b) podpora pro Wearable devices (tj. hodinky, bryle) je dle RoadMap - http://edn.embarcadero.com/article/42544 hned za Androidem pro ARM

za c) zkus BlueStack emulátor

za d) x86 bude, jelikož bude pro Windows RT ( viz roadmap), IMHO určitě bude i pro ARM

za e) otázka přidání další platformy je podle všeho záležitostí několika měsíců takže Androidem pro ARM to nekončí - viz. roadmap

radekc

3.9.2013 10:28:17 #

radekc

JFK - mám iPhone 3GS, na aukru jsou prodejci, kteří ho přeprodávají repasované za 3.500 ve větším množství v garantovaném stavu - a nikdy bych ho za Android nevyměnil

radekc

3.9.2013 13:06:44 #

oxo

radekc: No já jsem si koupil iPhone 5, hned tam hodil nejnovější firmware, abych měsíc po tom zjistil, že na něj nejde dát JailBreak. A teď si tam nemůžu nainstalovat neautorizované programy a ani downgrade nejde... Takže teď mám stylovou hračku s kterou se toho moc dělat nedá...
Když si vzpomenu, jak se řešil antimonopolní spor Microsoft proti všemu světu (Internet Explorer atd.), tak to co teď předvádí Apple je ještě o level výš, fakt se divím, že se proti tomu nebrojí... Mít podobný systém AppStoru pro desktop by byla noční můra asi každého.

+"kdo jiný to má": máte někdo zkušenosti s phonegap.com?

oxo

3.9.2013 13:54:07 #

JFK

PhoneGap je velice dobrá věc, mají i vlastní Build Service. Též si myslím, že je nesmyslné opakovat, jak je ajfoun skvělý, je to jako opakovat heslo "Sláva komunismu", stále dokola, až tomu všichni/někteří uvěří. Žiju ve střední Evropě, pracuju mj. pro velkou firmu, která dodává pro segment velko/maloobchodu (tj. B2B/B2C). Potřebuju zajistit mobilní řešení. 90% zákazníků co mají smartphone/tablet, chce mobilní aplikaci pro Android. Žádný koncový uživatel nechce iOS, protože pár zoufalců z TOP managementu obvykle nepatří mezi end-usery (a iPhony/BB mají jen proto, že jim kolega řekl na golfu, že je to in a sexy a sekretářka jim to proto koupila). Jelikož mě tato práce živí, nevyvíjím pro to, co se mi "líbí", ale pro to, co má smysl a zákazník i jeho zákazník to potřebuje.

JFK

3.9.2013 14:52:04 #

radekc

JFK a oxo - ok, beru na vědomí Váš názor.

>Žádný koncový uživatel nechce iOS - to je ale pěkná blbost :-), ale nebudeme to dále řešit, hlavní je, že Delphi podporuje Android i iOS.

radekc

4.9.2013 16:10:05 #

bullhead

:-) "Žádný koncový uživatel nechce iOS" sorry, na to nejde reagovat ...jsem ted v jedné dost velké firmě, a většina ITků (= "...ti ve flanelkách co opravdu něco dělají") má Iphone

B.

p.s. ...že je větší penetrace Androidu nerozporuji, ale to je jen otázkou ceny a ne kvality systému/hw - sorry ten je u iPhone jednoznačně lepší (sám jsem kvůli velikosti display přešel z iPhone na Android, nakonec mám paralelně obě platformy a vím o čem mluvím) (...a nemyslím tím, že si Kingdom Rush Frontiers a Plants vs Zombies 2 zahraji jen na iOs, protože největší firmy největší pecky pořád dělají prioritně pro iOs, to je prostě fakt)

p.p.s ...a sorry, většina top managementu co znám má dodnes původní Blackberry, max updatované na Q10tku (to trochu nechápu zase já).

bullhead

4.9.2013 18:56:35 #

JFK

Nevím, co je na tom tak humorného. Psal jsem o konkrétním projektu, tj. konkrétní firmě a požadavku jejich zákazníků. A z této množiny nikdo o iOS zájem neprojevil. Pokud si dělá někdo samoúčelný názor jen proto, aby ventiloval svou "pravdu", tak pak chybí i ten oslí můstek.

JFK

11.9.2013 8:53:20 #

RadekV

Radku, at tim nemusim prudit Marca na prezentaci :-) Kdyz umi XE5 generovat .so pro svuj loader, umi generovat .so i podle prani zakaznika (pro nevizualni komponenty integrovane do full java applikace) ? A netusis zda to nevylepsili tak ze to slape i pro iOS ? Proste abych mel logiku v Delphi ale UIcko nativne pro prislusnou platformu.


ohledne iOS/Android - zajimava diskuse, presel jsem na Windows Phone 8 a absolutni spokojenost. Na rozdil od iOSu neni problem napr. s bluetooth (z hlediska programatora) ale zaroven (na rozdil od Androidu) se kazda aplikace nenasere jako service atd... takze telefon i po 7 mesicich stale slape stejne rychle jako novej :-D Akorat Delphi to (snad zatim) nepodporuji :-))))



RadekV

11.9.2013 15:28:18 #

Tomas

Zdá se, že dnes již je XE5 oficiálně ke koupi.

Tomas

11.9.2013 15:37:23 #

Tomas

http://www.embarcadero.com/press-releases/embarcadero-launches-rad-studio-xe5-with-android-and-ios-support

Tomas

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců