Firemonkey od jednoduchých po zložité. Čo je FireMonkey? nedostatok podpory pre prispôsobenie natívnych tried

Čo je FireMonkey?


FireMonkey (FMX) je framework pre multiplatformový vývoj pre desktopové systémy (v blízkej budúcnosti sa plánuje Windows, Mac OS + podpora serverov na Linuxe), ako aj mobilné (iOS a Android) využívajúce jazyk Delphi/C++.

Zvláštnosti:

  • jednotná kódová základňa pre všetky platformy;

  • akýkoľvek ovládací prvok (vizuálny komponent) môže byť kontajnerom (rodičom) pre iné komponenty;

  • prítomnosť veľmi pokročilého relatívneho usporiadania (20 typov) komponentov na formulári;

  • LiveBinding vám umožňuje pripojiť akýkoľvek typ údajov alebo informácií k akémukoľvek používateľskému rozhraniu alebo grafickým objektom;

  • prítomnosť štýlov formy/komponentov;

  • Multi-Device Preview vám umožňuje prispôsobiť vizuálnu prezentáciu pre každú platformu;

  • FireUI Live Preview – zobrazuje vzhľad aplikácie na reálnych zariadeniach v reálnom čase.

možnosti:

  • používanie natívneho API každej platformy, ako aj možnosť volať natívne knižnice tretích strán;

  • interakcia so všetkými senzormi (GPS, Akcelerometer, Kompas, Bluetooth (vrátane LE) a ďalšie);

  • podpora push notifikácií, IoT;

  • podpora asynchrónnych HTTP požiadaviek;

  • podpora väčšiny databáz (MsSQL, MySql, Oracle, PostgreSQL, MongoDB atď.);

  • práca s cloudovou službou (Amazon, Azure);

  • Podpora služby Android.

Nevýhody (momentálne):

  • nedostatok podpory pre prispôsobenie natívnych tried;

  • implementácia konkrétnych vecí je buď nemožná (widgety, rozšírenia (iOS) atď.), alebo je potrebný tanec s tamburínou (služba na pozadí, vysielaná správa atď.);

  • Prispôsobenie úvodnej obrazovky (úvodná obrazovka) mierne povedané chýba;

  • Ovládanie FMX využíva vlastný rendering (vizualizácia, kresba), ktorý je čisto vizuálne podobný tomu natívnemu;

  • používanie natívnych ovládacích prvkov zahŕňa veľké pohyby tela;

  • keď je veľa vnorených komponentov, dejú sa neuveriteľné veci: aplikácia padá na rôznych miestach, stráca zaostrenie, zamrzne atď.;

  • informačný obsah ladenia aplikácie na mobilných platformách je nulový;

  • popisy chýb na mobilných platformách sú zredukované na zbytočnú „Chyba 0x00000X“;

  • čas kompilácie chce byť najlepší pre stredné a veľké projekty;

  • potreba použiť súbor na vylepšenie mobilných aplikácií pre každú platformu;

  • žiadna podpora architektúry Intel Atom;

  • neprimeraná cena v porovnaní s konkurenciou.

Výhody:

  • v poslednej dobe veľmi aktívny vývoj produktu aj komunity, podpora stále nových a nových technológií;

  • prítomnosť veľkého množstva bezplatných a komerčných komponentov;

  • Rýchlosť aplikácie je veľmi blízka natívnej;

  • veľmi pokročilý vizuálny editor a prostredie vo všeobecnosti, prítomnosť štýlov;

  • možnosť otestovať aplikáciu na Win a až potom ju nasadiť na zariadenia, čo výrazne urýchľuje vývoj;

  • zmena režimu/platformy pohybom zápästia;

  • PAServer poskytuje jednoduchú interakciu s MacO pri vývoji pre Apple OS;

  • Podpora 3D grafiky hneď po vybalení.

Na záver by som chcel povedať, že za posledných pár rokov sa FireMonkey rozrástol na profesionálny nástroj pre multiplatformový vývoj obchodných aplikácií a ďalších. Mnohé nedostatky sa postupne riešia a s každým vydaním sa produkt stáva modernejším a sebestačným a zároveň sa vytráca doterajšia skepsa voči samotnému jazyku Delphi spojená s dlhoročnou stagnáciou. Písanie nových projektov vo FireMonkey je „bezpečné“ a sľubné.

Delphi XE2, vydaný v septembri minulého roka, obsahuje rekordný počet inovácií.
Krátke prehľady schopností Delphi XE2 už boli zverejnené na Habré. Najvýraznejšou inováciou je však platforma FireMonkey a tu by som jej rád venoval malú pozornosť.
Urobil som malý výber odkazov na materiály, ktoré vám, dúfam, pomôžu získať viac-menej adekvátnu predstavu o tejto platforme. Najprv však pre tých, ktorí to nevedia, stručne poviem, čo je FireMonkey.
Embarcadero Technologies umiestňuje FireMonkey ako platformu na vytváranie bohatých podnikových aplikácií pre Windows, Mac a iOS. Navyše je táto platforma natívna pre každý OS, t.j. Pri spustení aplikácie vytvorenej pomocou FireMonkey sa nepoužívajú žiadne ďalšie doplnky.
FireMonkey odkazuje priamo na natívnu (z pohľadu OS) grafickú knižnicu, ako je OpenGL alebo DirectX. Navrhuje sa teda najlepšie riešenie z hľadiska GPU.
Jadrom architektúry FireMonkey je výkonná knižnica tried (vrátane vizuálnych komponentov).
Cieľová platforma sa vyberá počas procesu kompilácie.
Prvá verzia FireMonkey podporovala iba Win32, Win64, MacOSX a iOS, ale Embarcadero ju v budúcnosti plánuje preniesť na niekoľko ďalších platforiem.

Čo by ste mali zvážiť?

Hoci platforma FireMonkey poskytuje rozsiahle nástroje na vývoj 3D aplikácií, nemala by sa považovať za herný engine. FireMonkey je umiestnený špeciálne ako platforma pre vývoj obchodných aplikácií.
Produkt je v súčasnosti v počiatočných fázach svojho vývoja. A veľa funkčnosť FireMonkey prechádza zmenami, kvalitatívnymi aj kvantitatívnymi.

Dúfam, že nižšie uvedené odkazy vám pomôžu pochopiť hlavné funkcie novej platformy.
Oficiálna stránka produktu na webovej stránke Embarcadero (ruština)

Spomedzi materiálov v anglickom jazyku by som rád zdôraznil sériu (angličtina)

Čo si pozrieť?

Čo sa týka Najnovšia verzia Delphi, existuje viac video materiálu venovaného schopnostiam produktu a tomu, ako s ním pracovať, ako kedykoľvek predtým. Oficiálne, od Embarcadero, aj od nezávislých vývojárov. Na YouTube je veľa videí o FireMonkey, stačí použiť vyhľadávanie. Spomedzi tohto množstva materiálu vyzdvihnem sériu troch videí od Marca Cantu – vstupná stránka RAD in Action, čím môj výskum získa vektor užitočnosti.

Pravdepodobne viete, že Embarcadero aktívne propaguje svoju novú víziu vytvárania multiplatformového GUI – FireMonkey ( nazývajú to framework, no na súčasný stav to znie príliš cool). Na RuNet sa vyhlasuje jedna súťaž za druhou, organizujú sa webináre, a aj keď kvalita tých druhých nie je veľmi žiaduca, aktivita je povzbudivá. Teraz vlastne k téme. V rámci poslednej súťaže bolo navrhnuté vyvinúť nejakú aplikáciu na učenie. A včera sa objavilo ďalšie dielo, ktorého autorom je Evgeniy Chmel ( Neviem, či je toto priezvisko naklonené alebo nie). Na rozdiel od jednoduchých „jednotvarých“ tých, ktoré sme videli predtým, tu bol urobený pokus ťahať opicu za všetky jej končatiny: štylizácia, 3D, efekty shaderov ( Evanjelisti Embarcadero radi hovoria o GPU akcelerovanej grafike :))). Pozrime sa, čo z toho vzniklo. Pre tých, ktorí nesledovali webináre, urobím malú odbočku. Na jednom z webinárov evanjelista Embarcadero Vsevolod Leonov rozprával srdcervúci príbeh o tom, ako musel „reštartovať počítač, konkrétne natvrdo“ (toto je citát) kvôli skutočnosti, že Silverlight SDK a emulátor Windows Telefón 7 „nefungoval“ (toto je citát) na jeho počítači, pretože... Nepáčil sa im grafický adaptér ani nastavenie GPU. Ale aplikácie vyvinuté pomocou FireMokey, pokračuje Vsevolod, nie sú vôbec náročné hardvér. Pozrime sa, ako nám klamal. Process Explorer v15.05 od Marka Rusinovicha bude naším nestranným svedkom. Stiahnite si aplikáciu Evgeniy a spustite ju ( Neposkytujem snímky obrazovky Evgeniyho aplikácie, sú k dispozícii na odkaze na jeho prácu. Všimnite si rozmazané písma).

Spustil aplikáciu. Pozrime sa na spotrebu:

Neskromný, ale dokážeš odpustiť“ pokročilá technológia" Prejdite do časti „Lekcie“ a vyberte „Lekcia 5“. Začína príprava javiska. Tento proces je dlhý ( Trvalo mi to niečo vyše minúty, na štvorjadrovom Phenom II s frekvenciou 3,3 GHz), buď trpezlivý. Javisko je postavené. Pozrime sa na spotrebu:

Opica bola dobre kŕmená. Veľmi dobre. Teraz skúste presunúť kurzor myši na tlačidlá možností odpovede. Zdá sa, že GUI reaguje veľmi pomaly, však? Pozrite si graf využitia procesora ( Myslím, že by ste si to mali vyskúšať sami na počítači) – v týchto momentoch sa jeho zaťaženie blíži k 100 % ( Mal som ~21,5% pre štvorjadrový procesor, čo je ekvivalent 86% pre jednojadrový procesor). Ale niekto nám povedal o GPU akcelerovanej grafike. Dobre, poďme ďalej. Odpovedáme na všetky otázky v lekcii. Pozrime sa na spotrebu:

Máte rozšírené oči? Teraz sa pre porovnanie pozrite, koľko spotrebuje 3D strieľačka FarCry pri aktívnej hre ( úroveň sa volá Factory, ak by to niekoho zaujímalo) beží v režime celej obrazovky 1440 x 900:

Urobte si vlastné závery.

Prešli viac ako tri roky odvtedy, čo sa divízia CodeGear, zodpovedná za tvorbu svetoznámych nástrojov ako Delphi, C++Builder a JBuilder, ako aj databázového systému Interbase, stala súčasťou Embarcadero Technologies, známej svojimi nástrojmi pre návrh a správu databáz a dva roky odvtedy, čo sme na stránkach nášho magazínu diskutovali o tom, čo môžeme očakávať pri vývoji nástrojov, ktoré sú tak obľúbené Ruskí vývojári. Požiadali sme Davida Intersimoneho, viceprezidenta pre vzťahy s vývojármi a hlavného evanjelistu v Embarcadero Technologies, a Kirilla Ranneva, vedúceho zastúpenia Embarcadero Technologies, aby nám porozprávali o tom, čo nové sa v tejto oblasti za posledné dva roky urobilo a čo možno očakávať v roku blízka budúcnosť.Rusko. Pre našich najmenších čitateľov informujeme, že toto nie je prvý rozhovor, ktorý David a Kirill poskytli ComputerPress – naša spolupráca trvá už druhú dekádu. A približne rovnaký počet rokov pravidelne publikujeme recenzie nástrojov na správu databáz, v ktorých je veľká pozornosť venovaná produktom Embarcadero.

ComputerPress: David, vaša divízia je súčasťou Embarcadera už tri roky. Pred dvoma rokmi ste boli nadšení, že sa stane súčasťou spoločnosti, ktorá je blízka vašim cieľom a duchu. Zmenilo sa niečo počas tejto doby? Máte s kolegami stále rovnaké nadšenie?

Áno, stále som veľmi nadšený. Hlavná zmena, ktorá nastala odkedy sme sa stali súčasťou spoločnosti Embarcadero, je, že sa veľa investovalo do vývoja Delphi. Zvýšil sa počet ľudí pracujúcich na vývojových nástrojoch a zvýšil sa počet technológií, ktoré môžeme vyvinúť alebo v prípade potreby získať.

Vydanie RAD Studio XE 2, ktoré plánujeme predviesť v Moskve, je najväčším vydaním tohto produktu s obrovskými schopnosťami a veľkým počtom podporovaných platforiem od prvej verzie Delphi, vytvorenej pre 16-bitovú verziu Windows a čo bol inovatívny produkt, ktorý spájal komponentový prístup a kompiláciu do strojového kódu. Teraz podporujeme vývoj nielen pre Windows, ale aj pre Macintosh, nehovoriac o webovom vývoji a tvorbe aplikácií pre mobilné zariadenia a tieto aplikácie pre rôzne platformy môžu mať jeden kód.

Nová vývojová platforma – FireMonkey – je spoločným úsilím Embarcadera a nedávno získanej ruskej firmy KSDev z UlanUde, výrobcu komponentov pre vektorová grafika, DirectX a OpenGL, technológie na vytváranie grafických efektov a komponenty Delphi použitím GPU s PixelShader 2.0. Pred rokom sme získali spoločnosť KSDev (pozri ksdev.ru) a začali sme spolupráce vytvoriť multiplatformový vývojový nástroj, ktorý zahŕňa platformu na vývoj aplikácií FireMonkey s komponentmi Delphi a C++Buider na vytváranie používateľského rozhrania aplikácie, integráciu databáz, spracovanie grafiky GPU a integráciu operačného systému.

Pomocou FireMonkey môžete vytvoriť aplikáciu, ktorá beží na CPU a GPU spoločne, a potom použiť rôzne kompilátory a Run-time Libraries (RTL) na jej kompiláciu pre Windows, Mac OS alebo iOS. Namiesto učenia sa programovania pomocou rôznych grafických knižníc, učenia sa rozhraní API rôznych platforiem, ktoré majú rôzne súradnicové systémy a rôzne schopnosti, môžu vývojári používajúci Delphi a C++Builder použiť rovnaký prístup založený na komponentoch, vizuálne upravovať formuláre a pripájať sa k databázam. pohybom komponentu pomocou myši. Toto je zásadne nový spôsob vytvárania aplikácií, ktoré bežia na rôznych platformách, a to je budúcnosť. Ak chcete do svojej aplikácie pridať podporu pre iné operačné systémy a platformy, nemusíte ju znova navrhovať a vyvíjať – stačí ju prekompilovať.

Vytvárame nové kompilátory, ktoré generujú natívny kód. Dnes existujú kompilátory Delphi pre 32- a 64-bit Verzie systému Windows, 32-bitové verzie Mac OS 10. A pracujeme na ďalšej generácii kompilátorov Delphi a C++Builder, ktoré vám umožnia vytvárať vysokovýkonný strojový kód pre tieto aj iné platformy, ako je Android alebo Linux, a zachovať rovnaký dizajn, rovnaké komponenty, rovnaký kód pomocou rôznych kompilátorov a runtime knižníc.

Ako vidíte, dôvodov na nadšenie mám dosť. A vývojári, s ktorými sa stretávam po celom svete, vedia, že Embarcadero veľa investuje do Delphi a C++Builder, ako aj do vývojových nástrojov PHP.

KP: Aké úspechy ste dosiahli pri integrácii nástrojov týchto dvoch spoločností za posledné dva roky? Aké sú plány Embarcadera do budúcnosti v tejto oblasti?

DI.: V čase, keď sa CodeGear stal súčasťou Embarcadero, mala spoločnosť vývojové tímy v Toronte, Monterrey a Rumunsku, my sme boli a stále sídlime v Scotts Valley a v Rusku, v St. Petersburgu. Embarcadero malo nástroje pre vývojárov a správcov databáz, CodeGear nástroje na vývoj aplikácií, no tí druhí využívajú aj databázy. Fúzia spoločností je spojením odbornosti, znalostí v oblasti databáz, optimalizácie kódu vrátane serverového kódu. Spojenie spoločností tiež viedlo k vytvoreniu nového produktu AppWave, špeciálnej technológie na premenu bežnej aplikácie pre Windows na niečo veľmi jednoduché na používanie (napríklad aplikácie pre iPhone alebo iné zariadenia). AppWave vám umožňuje neinštalovať aplikáciu, ale jednoducho ju vybrať a spustiť z pripraveného aplikačného úložného servera (aplikácie) a spustí sa na počítači používateľa bez vykonania zmien v jeho registri a systémovej oblasti. systém súborov. Mimochodom, prehliadač aplikácií AppWave je napísaný v Delphi. Embarcadero používa Dephi pre svoj vlastný vývoj a naše odborné znalosti v oblasti vývoja aplikácií.

Aplikácia pre iPhone (iOS) vytvorená spoločnosťou
pomocou platformy FireMonkey

Na optimalizáciu SQL dotazov pri vytváraní aplikácií môžete využiť aj integráciu našich vývojových nástrojov a DB Optimizer. Odovzdaním kódu SQL priamo do DB Optimizer ho môžete profilovať, testovať a vrátiť optimalizovanú verziu späť do vášho vývojového prostredia. Databázová expertíza Embarcadero tiež zlepšila technológiu DataSnap. Vďaka vývojárom z Toronta sme získali množstvo poznatkov o architektúre viacvrstvových systémov a databáz. Teraz máme spoločné odborné znalosti v oblasti vytvárania serverového kódu a uložených procedúr v oboch spoločnostiach. Máme nástroje ako RapidSQL a DB Change Manager, ako aj vývojové prostredia, ktoré zjednodušujú tvorbu serverového kódu – napríklad technológie Code Insight a Code Completion umožnili vytváranie SQL insightov a technológií SQL Completion. Naše spoločné prístupy k vytváraniu klientskeho a serverového kódu, naša spoločná filozofia, nám umožňujú poskytnúť spoločné funkcie nástrojom na správu databáz a vývojovým nástrojom aplikácií.

Kirill Rannev: Chcem dodať niečo dôležité. Z komerčného hľadiska je veľmi dôležité, ako dodávame naše nástroje. Napríklad, nové vydanie RAD Studio XE 2 Ultimate obsahuje celú sadu nástrojov DB Power Studio. Ide o veľmi výkonnú sadu nástrojov vrátane vývojového prostredia dotazov RapidSQL, nástroja na správu zmien DB Change Manager a nástroja na optimalizáciu dotazov DB Optimizer, ktorý vám umožňuje vykonávať dôležitú časť procesu vývoja a nasadenia spravovaním zmien dátový model, databáza, kód atď. Ide o veľmi dobrú a správnu kombináciu technológií.

DI.: Ale ak je to potrebné, vývojári môžu použiť Subversion na kontrolu verzií zdrojový kód a DB Change Manager pre vytváranie verzií metadát. Môžete použiť profilovanie kódu a DB Optimizer na optimalizáciu serverového kódu, RapidSQL na vytváranie a ladenie serverového kódu a naše vývojové prostredia na vytváranie a ladenie aplikácií. Táto kombinácia technológií v RAD Studio XE Ultimate Edition demonštruje paralely medzi databázovými a aplikačnými modelmi vývoja. Väčšina vývojárov vytvárajúcich podnikové aplikácie pomocou Delphi a C++Builder pracuje s databázami a potrebuje tieto nástroje a RAD Studio XE Ultimate Edition je pre takýchto vývojárov skvelou kombináciou.

KP: Moderný používateľ už nie je iba používateľom platformy Windows. Používame mobilné zariadenia, iPhone, iPad, zariadenia založené na platforme Android. To znamená, že vývojári musia začať cieliť na rôzne platformy bez toho, aby výrazne zvýšili investície do školení – to znamená, že sú potrebné univerzálne nástroje. Je zrejmé, že je nereálne očakávať od výrobcov platforiem univerzálne nástroje a v tejto veci môžeme počítať len s nezávislými výrobcami nástrojov. Ako sa môžeme spoľahnúť na Embarcadero?

DI.:Čo sa týka podpory platforiem, máme pred sebou ešte veľa práce. Dnes zavádzame podporu pre platformu iOS pre iPhone a iPad, potom našu podporu dostanú smartfóny založené na platforme Android, Windows 7 a Blackberry. V RAD Studio XE 2 sme začali budovaním platformy FireMonkey pre iOS a potom prinesieme FireMonkey na ďalšie platformy.

Zároveň existuje veľké množstvo operačných systémov, ktoré podporujú dotykové obrazovky pre telefóny, tabletové počítače a desktopové zariadenia a budeme pre ne naďalej pridávať podporu. Okrem toho existuje hlas, pohyb, biometrické systémy, akcelerometre, takže musíme pokračovať v rozširovaní FireMonkey, aby všetci vývojári mohli využívať výhody nových platforiem. Napríklad zariadenie Microsoft Kinect bolo navrhnuté pre Xbox 360 a teraz existuje zodpovedajúca súprava SDK (Software Development Kit) pre Windows. A už máme príklady, kedy používame pohyb na ovládanie aplikácie v podstate rovnakým spôsobom, akým by sa normálne používala myš alebo klávesnica.

Keď vytvárate aplikácie s množstvom komplexnej grafiky, vytvárate celý svet nových používateľských rozhraní. Ak máme do činenia s operačnou sálou systém Windows, zapúzdrime jeho aplikáciu softvérové ​​rozhranie Windows API v knižnici VCL (Visual Component Library - knižnica vizuálnych komponentov, ktorá je súčasťou vývojových nástrojov Delphi a C++Builder. - Poznámka vyd.), ktorý, mimochodom, možno použiť ďalej. A vo FireMonkey zapuzdrujeme API operačného systému. Ale dnes manipulujeme s tvarmi a grafikou oveľa širšie. Môžete tiež pridať fyzikálne vlastnosti do priestoru pre animáciu a špeciálne efekty. Okrem toho existuje obrovské množstvo ďalších doplnkových funkcií na vytváranie používateľských rozhraní, ktoré sa chystáme implementovať v najbližších rokoch pre rôzne platformy, mobilné a tabletové zariadenia.

Microsoft nedávno oznámil detailné informácie o Windows 8, ktorý má vyjsť o rok. Tieto inovácie budeme podporovať v knižnici VCL a platforme FireMonkey. Ale Delphi je vývojový nástroj určený nielen pre Windows, ale aj pre Macintosh, iPhone a iPad. Vyvíjame aj naše produkty PHP, podporujeme jQuery Mobile, používame iOS API na vývoj mobilných klientskych aplikácií a vytvárame PHP aplikácie na strane servera pomocou sprievodcov a nástrojov na generovanie JavaScriptu, HTML a kaskádových štýlov na strane klienta. Dokážeme vytvárať balíčky z PHP aplikácií a klientskych aplikácií s natívnym kódom pre iPhone so systémom iOS, a s takýmto klientom bude komunikovať PHP server. A on zase bude komunikovať s databázovým serverom a webovými službami - so všetkým, čo je potrebné pre podnikanie.

Vývojové prostredie RadPHP XE2. Vytvorenie mobilnej webovej aplikácie
pomocou komponentov jQuery Mobile pre iPhone 3G

Inými slovami, plánujeme rozšíriť možnosti FireMonkey a VCL vrátane podpory mobilných platforiem.

KP: Mohli by ste nám povedať viac o platforme FireMonkey?

DI.: Ako som už poznamenal, knižnica VCL vytvorená pre Windows sa bude naďalej vyvíjať a zlepšovať. Ale dnes, ak chcete skutočný vývoj obchodných aplikácií, musíte ich vytvoriť pre rôzne platformy. Na to je určená platforma FireMonkey. Podporuje vytváranie používateľských rozhraní s vysokým rozlíšením, vysokovýkonnú 3D grafiku, vysoké obnovovacie frekvencie a čo je dôležité, využíva na to grafický procesor.

Takéto schopnosti môžete použiť pri vytváraní vedeckých, inžinierskych a obchodných aplikácií. Takéto aplikácie sa môžu pripojiť k databázam pomocou technológie dbExpress, pričom stále používajú nevizuálne komponenty známe vývojárom, ako sú ClientDataSet alebo DataSource, využívajú technológiu DataSnap, pripájajú sa k akejkoľvek databáze, SOAP a REST serverom. Môžete vytvárať atraktívne ovládacie prvky, tlačidlá s políčkami, nezvyčajné tabuľky a ďalšie prvky rozhrania, a to v dvoch aj troch rozmeroch. Hotový 3D model môžete načítať do aplikácie a pripojiť ho k 2D tvaru, v ktorom ho môžete otáčať a prezerať si ho z rôznych uhlov. Môžete vytvoriť dátovú kocku alebo 3D obchodný graf a otáčať ich pomocou myši, klávesnice alebo dokonca zariadenia Kinect, alebo môžete vstúpiť do kocky a pozrieť sa na jej rôzne povrchy zvnútra. A to všetko je možné vykonať pomocou vysokorýchlostného GPU. Tá istá aplikácia sa potom môže skompilovať pre inú platformu, napríklad Mac OS.

Aplikácia obsahujúca rotujúcu dátovú kocku,
umiestnené na jeho okrajoch

Alebo môžete vytvoriť 3D tvar úplne od začiatku a použiť kamery a svetlá na osvetlenie a otáčanie častí používateľského rozhrania. Návrhár formulárov už má vstavané prostredie na podporu 3D používateľského rozhrania počas návrhu.

V systéme Windows na prácu s dvojrozmernou grafikou s vysokým rozlíšením môžete použiť knižnice Direct2D a pre 3D grafika- Direct3D. V systéme Mac OS sa na rovnaké účely používajú knižnice Quartz a OpenGL. Pre iOS sa používajú knižnice Quartz a OpenGL ES. To všetko je ale pred vývojárom skryté – používa platformu FireMonkey, jej súradnicový systém a aplikačné programovacie rozhranie, bez toho, aby premýšľal o týchto knižniciach, a dokáže zostaviť rovnakú aplikáciu pre rôzne platformy.

Pripomeňme si, čo je VCL. VCL je obalový komponent okolo rozhrania Windows API. Zaoberáme sa zdrojmi, ponukami, dialógovými oknami, farbami, štýlmi, správami systému Windows. FireMonkey, na rozdiel od VCL, je obalom pre viacero platforiem, zachováva rovnaké modely udalostí a komponentov, čo vám umožňuje myslieť z hľadiska udalostí (napríklad udalosti OnClick, OnHasFocus, onMouseDown a onKeyDown), ale spracováva udalosti na počítačoch Macintosh alebo iPhone.

Platforma FireMonkey tiež prichádza s kompletný systém animácia prvkov používateľského rozhrania. Určite to nie je komplexný animačný systém v štýle Pixar, ale umožňuje efekty ako bitmapová animácia, zvýraznenie prvkov používateľského rozhrania a vektorová grafika. Vývojár má k dispozícii viac ako 50 vizuálnych efektov: rozostrenie, premena obrazu na čiernobiely, rozpúšťanie, prechody, odraz, vytváranie tieňov – všetky typy efektov dostupné v moderných grafických procesoroch, ktoré sa dnes nachádzajú takmer v každom počítači. Aplikácia vytvorená pomocou platformy FireMonkey odosiela príkazy GPU, ktoré vykonáva všetku prácu pri zobrazovaní grafiky a vytváraní používateľského rozhrania. V čom CPU zadarmo na výpočty a volania do operačného systému. Vývojár môže iba správne umiestniť komponenty.

Najzásadnejšou vecou platformy FireMonkey je spôsob, akým vytvára používateľské rozhranie. K dispozícii sú ubytovacie zariadenia rastrová grafika na prvkoch rozhrania, ako sú ponuky, tlačidlá a posúvacie lišty. Vo FireMonkey na tento účel používame vektorovú grafiku poháňanú GPU. Z programovacieho hľadiska ide stále o tie isté ovládacie prvky, no všetku prácu pri ich zobrazovaní vykonáva grafický procesor. Môžeme použiť štýly na ovládacie prvky, upraviť aplikáciu tak, aby vyzerala ako aplikácia pre Mac OS alebo Windows, vytvoriť vlastný štýl, použiť vlastné štýly na prvky rozhrania (napríklad urobiť z tlačidla obdĺžnikové alebo okrúhle zmenou jeho štýlu v editore formulára ) - na to je vo vývojovom prostredí editor štýlov. Môžete si vytvoriť svoj vlastný štýl, alebo môžete zmeniť štýl už hotovej aplikácie.

Platforma FireMonkey – Vývojové nástroje
a podporované platformy

Ak si pamätáte, knižnica VCL mala obmedzený počet ovládacích prvkov - kontajnerov (to znamená, že do nich bolo možné umiestniť ďalšie prvky) a vo FireMonkey je každý ovládací prvok kontajnerom. To znamená, že každý ovládací prvok môže obsahovať akýkoľvek iný ovládací prvok. Položky rozbaľovacieho zoznamu môžu napríklad obsahovať obrázky, tlačidlá, polia úprav a ďalšie ovládacie prvky. Komponenty môžete umiestniť aj do vrstiev.

Vykresľovací systém FireMonkey je pomerne flexibilný – môže využívať knižnice Direct2D, Direct3D a OpenGL, odosielajúce príkazy do GPU. Aby ste dosiahli to isté vo VCL, museli ste vygenerovať samostatnú vyrovnávaciu pamäť mimo obrazovky, vytvoriť v nej obrázok volaním príslušných funkcií grafickej knižnice a potom ho zobraziť vo formulári.

Príklady grafických efektov podporovaných FireMonkey

Ak nemáte GPU, stále môžete použiť 2D alebo 3D tvary a použiť ovládacie prvky FireMonkey. V tomto prípade platforma FireMonkey použije knižnice GDI+ alebo iné podobné knižnice a vykoná rovnaké efekty a animácie alebo manipuláciu s 3D objektmi.

Ďalšou vlastnosťou FireMonkey je nový systém prepojenie prvkov rozhrania s údajmi, otvorené a flexibilné. Vo VCL sú dva typy prvkov rozhrania: dátovo viazané a neviazané na dáta (napríklad TDBEdit a TEdit). Vo FireMonkey môže byť každý ovládací prvok spojený s údajmi akéhokoľvek typu. Môže to byť jednoduchý výraz, pole zo sady údajov, údaje z objektov vytvorených vývojárom alebo výsledky volaní metód.

Navyše, pri vytváraní aplikácie môžete do nej načítať hotový 3D model a používať ho – takéto schopnosti sú často požadované v obchodných aj inžinierskych aplikáciách. Máme klienta, ktorý vytvára aplikácie pre logistiku. Oni mali Informačný systém, postavený pomocou Delphi a v ňom - ​​aplikácia, ktorá kreslila plán a zobrazovala informácie z dátových zdrojov. Nedávno urobili niečo zaujímavé - nakreslili plne automatizovaný 3D sklad v AutoCADe a ich aplikácia umožňuje vidieť, ako sa automatizovaný vysokozdvižný vozík pohybuje po sklade a umiestňuje tovar do regálov. A vložili údaje zo zdrojov na príslušný obrázok.

Príklady zmeny štýlu aplikácie

KP: Aké formáty 3D modelov sú v súčasnosti podporované?

DI.: V tejto verzii podporujeme načítanie modelov z AutoCADu, Collada (open source nástroj na 3D modelovanie. - Poznámka upraviť.), Maya, formát OBJ, ktorý podporujú mnohí predajcovia 3D grafiky.

KP: Aké ďalšie formáty plánujete pridať?

DI.: Plánujeme pridať 3DS (3D Studio MAX), SVG (zvyčajne sa tento formát používa pre 2D vektorovú grafiku, ale niekedy aj pre 3D), Google SketchUp. Možno budeme podporovať iné formáty.

KP: Vyžaduje si používanie 3D modelov v aplikáciách vytvorených pomocou FireMonkey licenciu na príslušný nástroj na 3D modelovanie?

DI.: Nie, nevyžaduje to. Všetko, čo robíme, je čítať súbor modelu. Model importujeme, ale neexportujeme (hoci, samozrejme, môžete napísať aplikáciu, ktorá uloží model vo vašom vlastnom formáte). Nepredstierame, že sme výrobcom nástrojov na 3D modelovanie – na tento účel môžete použiť AutoCAD, 3D Studio Max, Maya alebo akýkoľvek iný nástroj na 3D modelovanie a importovať vytvorené modely do našich aplikácií.

KP: Ako výkonné sú aplikácie vytvorené pomocou FireMonkey na moderných hardvérových platformách?

DI.: Produktivita je pomerne vysoká. Napríklad vykreslenie 3D tvaru s tromi guľami a tromi zapnutými zdrojmi svetla MacBook Pro možno vykonať rýchlosťou 100 snímok za sekundu. Alebo to môže dosiahnuť 600 - záleží na tom, čo presne robíme. Opäť všetko závisí od výkonu GPU.

KP: Znamená to, že pomocou FireMonkey môžete vytvárať moderné hry?

DI.: Naše vývojové nástroje neumiestňujeme ako nástroje pre hry. S využitím vysokého výkonu moderných GPU však môžete vytvárať hry pomocou FireMonkey - koniec koncov, sú vytvorené pomocou Direct3D alebo OpenGL.

KP: Akú prácu momentálne robíte v oblasti podpory rozpoznávania gest a iných nových vecí? Je takáto podpora dostupná?

DI.: V tomto vydaní zatiaľ nemáme podporu gest. Ovládanie gestami bude pridané v budúcom vydaní FireMonkey, ale medzitým môžete využívať podporu gest zabudovanú v operačnom systéme.

Michail Filippenko, riaditeľ Fast Reports, Inc.

K.R.: Už sme si povedali, že technológia FireMonkey má ruské korene – jej základy vznikli u nás a následne sa k Embarcadero pridala aj samotná technológia, aj jej vývojári. Vo všeobecnosti je potešujúce vidieť rast ruského komponentu v RAD Studio a Delphi. To zahŕňa aktivity nášho vývojového centra v Petrohrade a príspevok nezávislých ruských vývojárov. Napríklad Rad Studio XE2 obsahuje generátor správ FastReport – známy po celom svete a u nás veľmi obľúbený. Pochádza z Rostova na Done.

KP: Chcel by som hovoriť o kompilátoroch. Aký druh kompilátora sa používa pri vytváraní aplikácií pre iOS?

DI.: Nemáme vlastný kompilátor Delphi pre iPhone alebo iPad – zatiaľ sme nevyvinuli kompilátory pre procesory ARM používané v týchto zariadeniach. Pre iOS dočasne používame kompilátor Free Pascal a runtime knižnicu. Ale pracujeme na ďalšej generácii kompilátorov, vrátane procesorov AWP. Existujú však kompilátory pre Windows a Mac OS, pretože obe hardvérové ​​platformy sú založené na procesoroch Intel.

KP:Čo sa za posledné dva roky urobilo v oblasti tvorby kompilátorov?

DI.: Máme 32- a 64-bitové kompilátory Delphi pre Windows a Mac OS. A pracujeme na novej generácii kompilátorov Delphi a C++. Stále sa na nich pracuje, ale keď budú hotové, budeme mať kompilátory Delphi pre procesory ARM, platformy Android, Linux a všetko medzi tým. A budeme mať 64-bitové kompilátory C++ pre Windows a iné platformy, kompatibilné s najnovším jazykovým štandardom C++, ktorý práve prijala ISO.

KP:Čo sa dnes deje s podporou cloud computingu vo vývojových nástrojoch Embarcadero?

DI.: V RAD Studio XE 2 podporujeme presun aplikácií do cloudu Microsoft Azure alebo Amazon EC2 pomocou Platform Assistant. A máme serverové komponenty pre Cloud Storage for Azure a Amazon S3 na ukladanie tabuliek, binárnych údajov, frontov správ. IN predošlá verzia S RAD Studio XE sme tiež podporovali nasadzovanie aplikácií do Amazon EC2, chýbala však podpora úložiska.

Podpora cloud computingu v RAD Studio XE 2

KP: Pred dvoma rokmi ste hovorili o novom riešení All-Access. Aké to bolo populárne? Aké sú jeho výhody pre systémových integrátorov a vývojárov?

DI.: Riešenie All-Access a cloudový nástroj AppWave sú široko používané po celom svete. Sú navrhnuté tak, aby uľahčili používanie našich vlastných aplikácií a aplikácií tretích strán. V skutočnosti je to riešenie na správu licencií a používania aplikácií a je vhodné pre veľké spoločnosti. Menšie firmy, ktoré nemajú špecializované tímy ľudí zodpovedných za správu aplikácií, môžu umiestniť aplikáciu do úložiska, vybrať používateľské mená z databázy a sprístupniť tieto aplikácie bez toho, aby si museli pamätať kde. licenčný kľúč a koľko licencií je k dispozícii. All-Access a prehliadač AppWave sú navrhnuté tak, aby spravovali správu verzií aj riadenie prístupu.

K.R.: Trh je taký rozmanitý a používatelia sú tak rôzni, že nie je možné pokryť všetky potreby jedným riešením. Preto sa snažíme o rôznorodé obalové riešenia. Urobili sme veľa práce na zjednotení metód licencovania, správy licencií a inštalácie produktov. Tento rad riešení zahŕňa nástroje na správu licencií a poskytovania služieb nielen pre produkty Embarcadero, ale aj pre akýkoľvek iný produkt, vrátane interného vývoja spoločnosti.

Práca na nástrojoch na vývoj obalov do efektívnych súprav pre používateľov stále pokračuje. Máme All-Access - superset, ktorý kombinuje všetky produkty Embarcadero. Ak si zákazník zakúpi All-Access Platinum, získa všetky nástroje, ktoré nájdete v Embarcadero. Niekedy sa však táto sada ukáže ako nadbytočná, napríklad pre databázových špecialistov sme vytvorili dve ďalšie sady – DB Power Studio Developer Edition a DB Power Studio DBA Edition. Rozdiel medzi nimi je v tom, že pre vývojárov ponúkame RapidSQL - nástroj na vývoj serverového kódu a pre administrátora je zabudovaný DBArtizan - nástroj na správu databáz, širší produkt ako RapidSQL. Pre profesionálov máme nasledujúce balíky All-Access: balík, ktorý zahŕňa všetky produkty, DB Power Studio pre vývojárov, DB Power Studio pre správcov, ER Studio Enterprise Edition pre architektov a kohokoľvek, kto sa zaoberá modelovaním. Existujú kombinácie pre vývoj aplikácií a pre správcov. Delphi je nástroj pre vývojárov a má veľký zmysel pridať k nemu nástroje na vývoj a optimalizáciu SQL. A nakoniec, DB Change Manager je logický nástroj na riadenie zložitosti zmien, ktoré sa vyskytnú v databázach počas ich životného cyklu.

All-Access je teda hlavou veľkej rodiny rôznych sád produktov.

KP: Ak to nie je tajomstvo, kto v Rusku používa All-Access?

K.R.: Máme zákazníkov, ktorí si kúpili All-Access založený na Delphi. Mnohé z nich vytvárajú komplexné systémy klient-server s SQL Server a Oracle a okamžite si obľúbili naše multiplatformové databázové nástroje. Máme klientsku spoločnosť, ktorá s Delphi spolupracuje od prvej verzie a pred rokom z nej prešla pomocou Delphi do sady All-Access. Dva nástroje, ktoré zaručene budú používať všetci vývojári v tejto spoločnosti, sú Delphi a DBArtisan. A sú zákazníci, ktorí prišli do All-Access zo strany databázy. Ich hlavnou úlohou je správa databáz, no občas aj vývoj aplikácií. Medzi klientov využívajúcich All-Access patria mediálne spoločnosti, strojárske spoločnosti a ďalšie odvetvia.

Samostatne by som sa chcel zamerať na malé spoločnosti. Veľmi často v malých tímoch robí všetko vývojár a takáto spoločnosť niekedy kúpi veľké sady produktov All-Access pre jedného alebo dvoch vývojárov. Vo veľkých tímoch sa neodporúča, aby vývojár vykonával napríklad aj úlohu správcu databázy, preto sú tam väčšinou obľúbené malé sady produktov, ale v malých firmách je takáto kombinácia povinností celkom prijateľná.

Delphi Architect je silne predávaný produkt, ktorý zahŕňa modelovacie a programovacie nástroje. Počet predaných kópií je však nižší ako pri verzii Delphi Enterprise, ale je tiež veľký. Chcel by som poznamenať, že v roku 2010 sme sa ukázali ako najlepšia krajina z hľadiska objemu predaja, napriek tomu, že všetky krajiny zažili krízu. Tento rast nesúvisel ani tak s ekonomickými faktormi, ale so skutočnosťou, že verzia RAD Studio XE, vydaná koncom roka 2009, sa ukázala ako veľmi populárna. A zatiaľ očakávame ďalší rast predaja.

Urobili sme ďalší rozumný krok, ktorý je v Rusku mimoriadne populárny. Stupeň legalizácie rôznych verzií našich produktov je rôzny: čím vyššia verzia, tým viac je legalizovaná, pretože skôr softvér nie tak aktívne kupované. Počnúc RAD Studio XE, licencia pokrýva verzie 2010, 2009, 2007 a dokonca aj Delphi 7, čo je široko používaný produkt.

Developeri sa dnes stretávajú s tým, že majú na podpore nové projekty aj projekty. Veľké množstvo projektov bolo presunutých z staršie verzie Delphi na verziu 7 a zostáva v rámci tejto verzie, pričom pokračuje v práci na relatívne malých zdrojoch. Nikto ich nepresúva na novšie verzie, ale sú udržiavané v životaschopnom stave. A teraz vám umožňujeme získať RAD Studio XE aj Delphi 7 za málo peňazí (menej ako cena licencie Delphi 7) - to znamená, že legalizujeme vývojára na implementáciu nových projektov aj na podporné projekty.

KP: Ako hodnotíte súčasný stav komunity Embarcadero?

DI.: Táto komunita je veľká a veľmi náročná. Všetko potrebujú okamžite – sú to vývojári. Urobiť niečo správne však niekedy trvá dlho.

Pred niekoľkými rokmi sme vzali architektúru komponentov Windows a umiestnili ju na desktopy Linuxu. Teraz vidíme, že to nebolo správne rozhodnutie. Správnym riešením je vytvorenie aplikačnej platformy. Aplikácie na rôznych platformách majú ponuky, okná, grafiku, sieťový prístup a prístup k zariadeniam. Rôzne platformy môžu mať rôzne modely riadenie toku alebo spracovanie výnimiek, ale v kóde aplikácie vidíme rovnaké bloky try. Našou úlohou je uľahčiť vývojárom vytváranie podnikových aplikácií a ich kompiláciu pre platformy, na ktorých sa majú používať, bez ohľadu na to, ako je štruktúrovaná inštrukčná sada zodpovedajúcich procesorov a aké sú ďalšie funkcie týchto platforiem. A FireMonkey je presne to, čo potrebujete na vyriešenie tohto problému.

KP: Ak spoločnosť vytvorí nové zariadenie a chce, aby bolo podporované vo FireMonkey, bude to možné?

DI.: S novou generáciou kompilátorov, ktoré budú mať platformovo nezávislý front-end a platformovo závislý back-end, to bude celkom možné. Medzitým pre každý operačný systém vytvoríme kompilátor a knižnicu runtime úplne od začiatku.

Každé moderné nové zariadenie má spravidla grafiku používateľské rozhranie(mnohé z nich majú dvojjadrový procesor a GPU) a štandardné súpravy SDK pre vývojárov. To uľahčuje vytváranie podpory zariadenia vo FireMonkey. Ak má nové zariadenie knižnice iba pre dvojrozmernú grafiku, ako je Quartz, budeme môcť podporovať takéto zariadenie vo FireMonkey, ale bude to trvať približne niekoľko mesiacov. Veľa však závisí od platformy: nie všetky platformy podporujú všetky funkcie, napríklad iOS nemá ponuky a dialógové okná a na formuláre takýchto aplikácií nebudete môcť umiestniť zodpovedajúce komponenty.

KP: Zmenilo sa niečo v politike spolupráce s partnermi? Čo sa robí pre zvýšenie podielu používateľov vašich produktov? Čo sa robí v Rusku?

DI.: Náš partnerský ekosystém je široký – existujú stovky výrobcov nástrojov a komponentov, ktoré sa nenachádzajú v našich produktoch, a máme program technologického partnerstva. Preto je vývojárom k dispozícii široká škála komponentov, technológií a nástrojov. A riešenia, ktoré vytvárajú pre svojich klientov, sú lepšie, ako keby používali len naše produkty. A pre predaj máme pobočky v mnohých krajinách, predajcov a distribútorov.

K.R.: Nie je pre nás dôležitý počet partnerov, ale kvalita práce každého konkrétneho partnera. Zatiaľ sa chceme zamerať na úzku spoluprácu s existujúcimi partnermi, aj keď okruh partnerov zostáva otvorený. Máme veľa partnerov a musíme im pomôcť v oblasti technológií. Spolupracujeme s vývojármi a tí vedia, čo chcú, vedia, čo je na trhu dostupné, a tomu musia zodpovedať schopnosti partnerov.

Máme obchodných partnerov, ktorí vážne investovali do Embarcadera ako obchodnej línie – majú vyškolených špecialistov, marketing našich produktov, oddaných zamestnancov zodpovedných za túto líniu a monitorujúcich, čo sa deje s našimi produktmi, cenníkom, marketingom. Prirodzene sú z hľadiska predaja našich produktov úspešnejšie ako firmy, ktoré naše produkty predávajú príležitostne.

KP: David, Kirill, veľmi pekne ďakujem za zaujímavý rozhovor. Dovoľte mi v mene našej publikácie a našich čitateľov zaželať vašej spoločnosti ďalší úspech pri vytváraní vašich úžasných nástrojov, ktoré vývojári tak veľmi potrebujú!

Otázky, ktoré položila Natalia Elmanova

FireMonkey je základná technológia „nového Delphi“. Povedzte nám o cieľoch, schopnostiach a technických aspektoch tejto zásadne novej knižnice. Keď sa s odstupom času pozriete späť, aké ťažké a opodstatnené bolo vaše odmietnutie ďalšieho rozvoja superpopulárneho VCL?

Bol zvolený ako hlavný smer vývoja technológie Delphi na dosiahnutie konkrétneho cieľa – multiplatformového vývoja z jedného prostredia, založeného na jednotnej základni zdrojového kódu, bez potreby radikálneho preškoľovania vývojárov. V rámci dnes už klasického a superpopulárneho VCL to nebolo možné, jeho spojenie s WinAPI bolo príliš úzke, dalo by sa povedať, „na genetickej úrovni“.

Komponenty VCL nemali „abstraktnú“ vrstvu medzi funkčnou úrovňou z hľadiska rozhrania a mechanizmov na ich zobrazenie. Funkčná úroveň— ako sa správa ako kontrola, na aké udalosti reaguje, aký druh interakcie používateľa poskytuje. Displej— nazývanie platformovo orientovaných vizualizačných metód ako určitého obrazu tvoreného rastrovými objektmi a vektorovými primitívami. FireMonkey spočiatku implementoval princíp prísneho rozdelenia kontroly na dve zložky: „behaviorálnu“ a „vizuálnu“.


Vsevolod Leonov, Embarcadero Technologies

Prvý z nich vo všeobecnosti nezopakuje ani základy VCL, ale podstatu objektovo orientovaného programovania. Komponent je trieda, triedy komponentov tvoria hierarchiu, v ktorej možno rozlíšiť rodiny a moduly. Trieda komponentu voľne súvisí so spôsobom, akým sa vykresľuje.

Vizuálny „obraz“ sa tvorí dynamicky, nie je pevne zapísaný v triede komponentov. Obrázok alebo „štýl“ vo FireMonkey sa načíta do komponentu pri spustení aplikácie. Máme nejaký funkčný rám pre komponent a „plášť“ alebo „obloženie“ sa dá zmeniť, ale prečo? Je to preto, aby aplikácie FireMonkey vyzerali autenticky na akejkoľvek platforme – Windows 7, Windows 8, Mac OS, iOS a v blízkej budúcnosti aj Android. To je niečo, čo tradičná monolitická triedna štruktúra VCL nemohla poskytnúť.

Osobitnú úlohu tu zohráva technologický prístup. V zásade môžete vziať knižnicu VCL a „napchať ju“ WinAPI a všetkými ostatnými možnými volaniami platformy. Toto je stále možné vykonať na veľmi obmedzenej podskupine komponentov, ale VCL obsahuje niekoľko stoviek komponentov, takže tento prístup by mohol jednoducho „zabiť“ VCL. Bolo rozhodnuté nedotknúť sa VCL, ale vyvinúť nové schopnosti na novej platforme - FireMonkey. Táto technológia Dokonca má aj istú technickú eleganciu – v čase zostavovania projektu pre konkrétnu platformu pripojí Delphi IDE potrebný kompilátor a komponenty rozhrania dostanú platformový štýl.

Pre používateľa je to jedno kliknutie myšou a rovnaký zdrojový kód, pre Delphi je to mnoho rokov tvrdej práce vývojárov na vytvorení takejto multiplatformovej knižnice.

Keď bolo jasné, že FireMonkey bude predstavený ako samostatná nová platforma, bolo potrebné zvoliť správnu stratégiu koexistencie: Embarcadero nechcelo žiadnym spôsobom negatívne ovplyvniť používateľov VCL. Preto sme zvolili nasledovný plán: VCL zostáva ideologicky a architektonicky stabilný, aby bola zabezpečená čo najvyššia kompatibilita a uľahčila sa migrácia projektov na moderné verzie. Vývoj FireMonkey bude nasledovať prirodzenú a paralelnú cestu, bez ohľadu na VCL.

Slabou stránkou tohto riešenia je pomerne problematická migrácia z VCL na FireMonkey v rámci toho istého projektu. Ale pre nový projekt si vývojár môže zvoliť FireMonkey, aby zabezpečil multiplatformový charakter ich výslednej aplikácie. Po vydaní XE4 s podporou iOS sa už na úvod môžeme baviť o jasných konkurenčných výhodách Delphi mobilný vývoj vo firemnom prostredí, ktoré sa zvýši po implementácii plánovanej podpory Androidu.

Preto neexistuje žiadne zjavné „odmietnutie“ vývoja VCL ako takého. V nových verziách sa vyvíja aj VCL časť Delphi. To zahŕňa 64-bitovú podporu, zavedenie štýlu pre vizuálne komponenty, implementáciu mechanizmu pre flexibilné dynamické pripojenia alebo „viazanie“ a zahrnutie knižnice FireDAC pre prácu s databázami v projektoch VCL. Ide len o to, že v porovnaní s obrovským kvalitatívnym skokom, ktorý urobil FireMonkey, sa zdá, že pokrok vo VCL je trochu nevýrazný. Ale nech je to akokoľvek, VCL je neoddeliteľnou súčasťou Delphi a zostane ňou ešte mnoho rokov. Aj keď vývoj platforiem a súčasný stav v oblasti OS pre desktopové systémy a mobilné zariadenia sú také, že budúcnosť je určite pre FireMonkey.

V rozhovore sme už diskutovali o podpore iOS, povedzme našim čitateľom o podpore ďalších najnovších technológií z najnovšieho RAD Studio XE4, napríklad Windows 8 a WinRT, 64-bitové systémy, MacOS a podobne. Môžete vymenovať, čo ešte môžete ponúknuť modernému programátorovi rozmaznanému inováciami?

Moderný programátor s najväčšou pravdepodobnosťou nie je „rozmaznaný“ inováciami. Pre veľkých projektov akákoľvek „inovácia“ často vedie k obrovskému množstvu práce.

Napríklad všetci dlho čakali, mnohí sa okamžite vrhli na preklad svojich kódov do nová platforma. Ukazuje sa však, že ani veľmi profesionálne tímy na to nie sú pripravené. Kompilovať 64-bitový kód neznamená fungovať. „Hriechy mladosti“ sa začali objavovať napríklad pomocou inštrukcií predpokladajúcich veľkosť adresy 4 bajty. Nedostatok testovacej kultúry spojený s technologickou nepripravenosťou implementovať tento proces v krátkom čase.

A tu - čím je projekt väčší, povedzme počtom riadkov zdrojového kódu, tým opatrnejší a vyváženejší sú programátori s rôznymi druhmi inovácií, od vzhľadu „tlačidla“ v rozhraní až po „syntaktický cukor“ v kompilátore.

Jedným z týchto „problémových“ úspechov bolo vydanie systému Windows 8. Osobne, ako používateľ PC a iba moderný IT špecialista, som s Windowsom 8 spokojný. Ale pre vývojárov, ktorým bola ako záťaž zaslaná dávka počítačov so systémom Windows 8 so špecifikáciami na vývoj pod novým OS, to znamená určité ťažkosti.

Podporu vývoja nového rozhrania tohto OS sme sa snažili poskytnúť čo najpohodlnejšie a bezbolestne. Preto boli zavedené špeciálne štýly pre VCL aj FireMonkey a programátor môže buď prebudovať aplikačné rozhranie, alebo vytvoriť novú aplikáciu, ktorá bude na nerozoznanie od tej „natívnej“ pre Windows 8. vzhľad. Samozrejme, je potrebná „natívna“ podpora pre Windows 8 prostredníctvom WinRT. To je však ovplyvnené uprednostňovaním cieľov v moderné podmienky. Mac OS, iOS, Android v blízkej budúcnosti zatiaľ neumožňujú hovoriť o plnej podpore WinRT v blízkej budúcnosti.

Strategickým cieľom Embarcadera je samozrejme multiplatformnosť. Vydanie RAD Studio XE4 bolo kľúčové, predovšetkým kvôli jeho podpore pre iOS. Existujúci programátor používajúci VCL môže začať s vývojom pre iOS v priebehu niekoľkých hodín. Dokonca jednoduché mobilná aplikácia môžu byť okamžite premenené na výkonný projekt fungujúci v rámci existujúcej infraštruktúry. Nemyslite si, že je to ľahké nový kompilátor do FireMonkey a nový štýl na zabezpečenie súladu s rozhraním iOS.

To zahŕňa nový vizuálny dizajnér, vstavanú podporu pre rôzne tvarové faktory, knižnice prístupu k údajom vrátane nového FireDAC a technológiu LiveBindings pre flexibilné a dynamické prepojenie s podnikovými údajmi. Všetky tieto inovácie prichádzajú súčasne – pre Windows, Mac OS a iOS. operačný systém Mac OS sa nevyvíja tak rýchlo, takže neexistujú žiadne problémy, ako napríklad prechod z Windows 7 na Windows 8. Ale objavili sa Retina displeje a to si vyžadovalo osobitnú pozornosť. Teraz každá aplikácia MacOS vytvorená v Delphi XE4 automaticky obsahuje dva štýly – „normálny“ a „vysoké rozlíšenie“.

To. tá istá aplikácia môže mať na ľubovoľnom rovnakom vysokokvalitnom „natívnom“ rozhraní stolný počítač od spoločnosti Apple.

Embarcadero nechce svojimi novými inovatívnymi vydaniami „prekvapiť“, „udiviť“ alebo dokonca „zabaviť“ vývojárov. Naopak, IT sféra je už teraz plná rôznych prekvapení: nové zariadenia, nové platformy, noví používatelia, ich nové potreby, nové scenáre interakcie. Pridajte k tomu nové technológie vývoja softvéru a programátori jednoducho nebudú mať čas na vytváranie nových a existujúcich systémov – všetko, čo urobia, je migrovať z jedného prostredia do druhého, zo starej knižnice do novej, z jedného jazyka do druhého.

Ale nevyznávame odmietanie všetkého nového. Chceme len zabezpečiť kontinuitu všetkého – kódu, rozhrania, projektu, dokonca aj profesionálnych zručností, keď sa objavia nové platformy a zariadenia. Dalo by sa povedať, že proti nezdravému konzervativizmu ohľadom nových platforiem bojujeme zdravým konzervativizmom vo vývojových nástrojoch. Od Embarcadera nečakajte exotické produkty, neštandardné programovacie jazyky alebo výstredné vývojárske nástroje.

U nás vždy nájdete vizuálny vývoj, klasické jazyky, „natívny“ kód a nechajte cieľové platformy pre vaše aplikácie vytvorené rovnakým osvedčeným klasickým spôsobom nové.




Hore