Firemonkey od preprostega do zapletenega. Kaj je FireMonkey? pomanjkanje podpore za prilagajanje izvornih razredov

Kaj je FireMonkey?


FireMonkey (FMX) je ogrodje za razvoj na več platformah za namizne sisteme (Windows, Mac OS + strežniška podpora za Linux je načrtovana v bližnji prihodnosti) in mobilne (iOS in Android) z uporabo jezika Delphi/C++.

Posebnosti:

  • enotna kodna baza za vse platforme;

  • vsak kontrolnik (vizualna komponenta) je lahko vsebnik (starš) za druge komponente;

  • prisotnost zelo napredne relativne razporeditve (20 vrst) komponent na obrazcu;

  • LiveBinding vam omogoča povezavo katere koli vrste podatkov ali informacij s katerim koli uporabniškim vmesnikom ali grafičnimi objekti;

  • prisotnost stilov oblike/komponente;

  • Multi-Device Preview vam omogoča, da prilagodite vizualno predstavitev za vsako platformo;

  • FireUI Live Preview - prikazuje videz aplikacije na resničnih napravah v realnem času.

Možnosti:

  • uporaba izvornega API-ja vsake platforme, kot tudi možnost klicanja izvornih knjižnic tretjih oseb;

  • interakcija z vsemi senzorji (GPS, merilnik pospeška, kompas, Bluetooth (vključno z LE) in drugi);

  • podpora za potisna obvestila, IoT;

  • podpora za asinhrone zahteve HTTP;

  • podpora za večino baz podatkov (MsSQL, MySql, Oracle, PostgreSQL, MongoDB itd.);

  • delo s storitvijo v oblaku (Amazon, Azure);

  • Podpora za storitve Android.

Proti (trenutno):

  • pomanjkanje podpore za prilagajanje izvornih razredov;

  • izvajanje določenih stvari je bodisi nemogoče (widgeti, razširitve (iOS) itd.) bodisi je potreben ples s tamburino (storitev v ozadju, oddajno sporočilo itd.);

  • Prilagoditev Splash zaslona (začetnega zaslona) je, milo rečeno, pomanjkljiva;

  • FMX kontrole uporabljajo lastno upodabljanje (vizualizacija, risanje), ki je čisto vizualno podobno izvornemu;

  • uporaba izvornih kontrol vključuje velike premike telesa;

  • ko je veliko gnezdenja komponent, se dogajajo neverjetne stvari: aplikacija se sesuje na različnih mestih, izgubi fokus, zamrzne itd.;

  • vsebina informacij o razhroščevanju aplikacije na mobilnih platformah je enaka nič;

  • opisi napak na mobilnih platformah so zmanjšani na neuporabno »Napaka 0x00000X«;

  • čas prevajanja želi biti najboljši za srednje in velike projekte;

  • potreba po uporabi datoteke za poliranje mobilnih aplikacij za vsako platformo;

  • ni podpore za arhitekturo Intel Atom;

  • neustrezna cena v primerjavi s konkurenti.

Prednosti:

  • zelo aktiven razvoj tako produkta kot skupnosti v zadnjem času, podpora vedno več novim tehnologijam;

  • prisotnost velikega števila brezplačnih in komercialnih komponent;

  • Hitrost aplikacije je zelo blizu domači;

  • zelo napreden vizualni urejevalnik in okolje na splošno, prisotnost slogov;

  • možnost testiranja aplikacije na Win-u in šele nato namestitve na napravah, kar močno pospeši razvoj;

  • spremenite način/platformo z zamahom zapestja;

  • PAServer omogoča enostavno interakcijo z MacO pri razvoju za Apple OS;

  • Podpora za 3D grafiko takoj po namestitvi.

Na koncu želim povedati, da je FireMonkey v zadnjih nekaj letih prerasel v profesionalno orodje za medplatformski razvoj poslovnih aplikacij in več. Številne pomanjkljivosti se postopoma odpravljajo in z vsako izdajo postaja izdelek bolj sodoben in samozadosten, izginja pa tudi obstoječa skepsa do samega jezika Delphi, povezana z dolgoletno stagnacijo. Pisanje novih projektov v FireMonkey je "varno" in obetavno.

Delphi XE2, ki je bil izdan septembra lani, vsebuje rekordno število inovacij.
Kratke preglede zmogljivosti Delphi XE2 so že objavili na Habréju. Toda očitno je najbolj presenetljiva novost platforma FireMonkey, in tukaj bi ji rad posvetil malo pozornosti.
Naredil sem majhen izbor povezav do materialov, za katere upam, da vam bodo pomagali dobiti bolj ali manj ustrezno predstavo o tej platformi. Toda najprej vam bom za tiste, ki ne veste, na kratko povedal, kaj je FireMonkey.
Embarcadero Technologies postavlja FireMonkey kot platformo za ustvarjanje bogatih poslovnih aplikacij za Windows, Mac in iOS. Poleg tega je ta platforma izvorna za vsak OS, tj. Pri izvajanju aplikacije, ustvarjene s FireMonkey, se ne uporabljajo nobeni dodatni dodatki.
FireMonkey se neposredno poveže z izvorno (z vidika OS) grafično knjižnico, kot sta OpenGL ali DirectX. Tako je predlagana najboljša rešitev z vidika GPE.
Jedro arhitekture FireMonkey je močna knjižnica razredov (vključno z vizualnimi komponentami).
Ciljna platforma je izbrana med postopkom prevajanja.
Prva različica FireMonkey je podpirala samo Win32, Win64, MacOSX in iOS, vendar jo Embarcadero namerava v prihodnosti prenesti na več drugih platform.

Kaj morate upoštevati?

Čeprav platforma FireMonkey ponuja obsežna orodja za razvoj 3D aplikacij, je ne bi smeli obravnavati kot motor za igre. FireMonkey je postavljen posebej kot platforma za razvoj poslovnih aplikacij.
Izdelek je trenutno v začetnih fazah svojega razvoja. In veliko funkcionalnost FireMonkey doživlja spremembe, tako kvalitativne kot kvantitativne.

Upam, da vam bodo spodnje povezave pomagale razumeti glavne značilnosti nove platforme.
Uradna stran izdelka na spletni strani Embarcadero (ruščina)

Med gradivom v angleškem jeziku bi rad izpostavil serijo (angleško)

Kaj videti?

Glede Najnovejša različica Delphi, je na voljo več video gradiva, posvečenega zmogljivostim izdelka in delu z njim, kot kadar koli prej. Oba uradna, od Embarcadero, in od neodvisnih razvijalcev. Na YouTubu je veliko videoposnetkov o FireMonkey, lahko uporabite samo iskanje. Med tem obilico gradiva bom izpostavil serijo treh videoposnetkov s ciljne strani Marco Cantu - RAD in Action, s čimer bom svoji raziskavi dal vektor uporabnosti.

Verjetno veste, da Embarcadero aktivno promovira svojo novo vizijo ustvarjanja večplatformskega GUI - FireMonkey ( pravijo mu okvir, a za trenutno stanje zveni preveč kul). Na RuNetu se objavljajo ena konkurenca za drugo, potekajo spletni seminarji, in čeprav kakovost slednjih pušča veliko želenega, je dejavnost spodbudna. Zdaj pa pravzaprav k temi. V okviru zadnjega natečaja je bil predlagan razvoj neke vrste aplikacije za učenje. In včeraj se je pojavilo še eno delo avtorja Evgeniya Chmela ( Ne vem, ali je ta priimek nagnjen ali ne). Za razliko od preprostih »enoformnih«, ki smo jih videli prej, smo tukaj poskušali opico potegniti za vse okončine: stilizacija, 3D, učinki senčenja ( Evangelisti Embarcadera radi govorijo o grafiki, pospešeni GPU :))). Poglejmo, kaj je nastalo iz tega. Za tiste, ki niste spremljali spletnih seminarjev, bom naredil majhno digresijo. Na enem od spletnih seminarjev je evangelist Embarcadero Vsevolod Leonov povedal srce parajočo zgodbo o tem, kako je moral »natančneje, težko znova zagnati računalnik« (to je citat) zaradi dejstva, da sta Silverlight SDK in Windows emulator Telefon 7 »ni delal« (to je citat) na njegovem računalniku, ker ... Ni jim bil všeč video adapter ali nastavitve GPE. Toda aplikacije, razvite s pomočjo FireMokey, nadaljuje Vsevolod, niso prav nič zahtevne strojna oprema. Poglejmo, kako nam je lagal. Process Explorer v15.05 Marka Rusinovicha bo naša nepristranska priča. Torej, prenesite Evgeniyjevo aplikacijo in zaženite ( Ne zagotavljam posnetkov zaslona Evgeniyeve aplikacije, na voljo so na povezavi do njegovega dela. Upoštevajte zamegljene pisave).

Zagnal aplikacijo. Poglejmo porabo:

Neskromno, a lahko odpustiš" napredna tehnologija" Pojdite v razdelek »Lekcije« in izberite »Lekcija 5«. Začne se priprava na oder. Ta proces je dolg ( Vzel sem nekaj več kot minuto, na štirijedrnem Phenomu II s frekvenco 3,3 GHz), Bodi potrpežljiv. Oder je zgrajen. Poglejmo porabo:

Opica je bila dobro nahranjena. Zelo dobro. Zdaj poskusite premakniti miško čez gumbe možnosti odgovora. Zdi se, kot da se GUI odziva zelo počasi, kajne? Oglejte si graf porabe procesorja ( Mislim, da bi morali poskusiti sami, na vašem računalniku) – v teh trenutkih se njegova obremenitev približa 100% ( Imel sem ~21,5 % za štirijedrni procesor, kar je enakovredno 86 % za enojedrni procesor). Toda nekdo nam je povedal o grafiki, pospešeni GPU. V redu, gremo naprej. Odgovorimo na vsa vprašanja v lekciji. Poglejmo porabo:

So vaše oči razširjene? Zdaj pa za primerjavo poglejte, koliko porabi 3D strelec FarCry z aktivnim igranjem ( nivo se imenuje Factory, če koga zanima) deluje v celozaslonskem načinu 1440x900:

Potegnite svoje zaključke.

Več kot tri leta so minila, odkar je oddelek CodeGear, odgovoren za ustvarjanje svetovno znanih orodij, kot so Delphi, C++Builder in JBuilder, ter sistema za upravljanje baz podatkov Interbase, postal del podjetja Embarcadero Technologies, znanega po svojih orodjih. za načrtovanje in administracijo baz podatkov ter dve leti, odkar smo na straneh naše revije razpravljali o tem, kaj pričakovati pri razvoju orodij, ki so tako priljubljena Ruski razvijalci. Davida Intersimona, podpredsednika odnosov z razvijalci in glavnega evangelista pri Embarcadero Technologies, in Kirilla Ranneva, vodjo predstavništva Embarcadero Technologies, smo prosili, da nam spregovorita o tem, kaj je bilo na tem področju narejenega v zadnjih dveh letih in kaj lahko pričakujemo v bližnja prihodnost Rusija. Za naše najmlajše bralce vam sporočamo, da to ni prvi intervju, ki sta ga David in Kirill dala za ComputerPress - najino sodelovanje traja že drugo desetletje. In približno toliko let občasno objavljamo ocene orodij za upravljanje baz podatkov, v katerih veliko pozornosti namenjamo izdelkom Embarcadero.

ComputerPress: David, vaš oddelek je del Embarcadera že tri leta. Pred dvema letoma ste bili navdušeni nad tem, da ste postali del podjetja, ki je blizu vašim ciljem in duhu. Se je v tem času kaj spremenilo? Imate vi in ​​vaši sodelavci še vedno enak entuziazem?

Ja, še vedno sem zelo navdušena. Glavna sprememba, ki se je zgodila odkar smo postali del podjetja Embarcadero, je, da je bilo veliko vloženega v razvoj Delphija. Povečalo se je število ljudi, ki se ukvarjajo z razvojnimi orodji, povečalo pa se je tudi število tehnologij, ki jih lahko razvijemo ali po potrebi pridobimo.

Izdaja RAD Studio XE 2, ki jo nameravamo predstaviti v Moskvi, je največja izdaja tega izdelka z ogromnimi zmogljivostmi in velikim številom podprtih platform od prve različice Delphija, ustvarjene za 16-bitno različico sistema Windows in ki je bil inovativen izdelek, ki je združeval komponentni pristop in prevajanje v strojno kodo. Zdaj podpiramo razvoj ne samo za Windows, ampak tudi za Macintosh, da ne omenjamo spletnega razvoja in ustvarjanja aplikacij za mobilne naprave, te aplikacije za različne platforme pa imajo lahko eno kodo.

Nova razvojna platforma - FireMonkey - je skupni trud Embarcadera in nedavno pridobljenega ruskega podjetja KSDev iz UlanUdeja, proizvajalca komponent za vektorske grafike, DirectX in OpenGL, tehnologije za ustvarjanje grafičnih učinkov in Delphi komponente uporabo GPU s PixelShaderjem 2.0. Pred letom dni smo kupili podjetje KSDev (glej ksdev.ru) in začeli sodelovanja ustvariti večplatformsko razvojno orodje, ki vključuje platformo za razvoj aplikacij FireMonkey s komponentami Delphi in C++Buider za ustvarjanje uporabniškega vmesnika aplikacije, integracijo baze podatkov, obdelavo grafike GPU in integracijo operacijskega sistema.

Z uporabo FireMonkey lahko ustvarite aplikacijo, ki deluje na CPE in GPE skupaj, nato pa uporabite različne prevajalnike in knjižnice izvajalnega časa (RTL), da jo prevedete za Windows, Mac OS ali iOS. Namesto učenja programiranja z uporabo različnih grafičnih knjižnic, učenja API-jev različnih platform, ki imajo različne koordinatne sisteme in različne zmožnosti, lahko razvijalci, ki uporabljajo Delphi in C++Builder, uporabijo isti pristop, ki temelji na komponentah, vizualno urejanje obrazcev in povezovanje z bazami podatkov z premikanje komponente z miško. To je bistveno nov način ustvarjanja aplikacij, ki delujejo na različnih platformah, in je prihodnost. Če želite svoji aplikaciji dodati podporo za druge operacijske sisteme in platforme, vam je ni treba znova oblikovati in razvijati – le znova jo morate prevesti.

Ustvarjamo nove prevajalnike, ki ustvarjajo izvorno kodo. Danes obstajajo prevajalniki Delphi za 32- in 64-bitne Različice sistema Windows, 32-bitne različice Mac OS 10. Delamo tudi na naslednji generaciji prevajalnikov Delphi in C++Builder, ki vam bodo omogočili ustvarjanje visoko zmogljive strojne kode za te in druge platforme, kot sta Android ali Linux, in ohraniti enako zasnovo, iste komponente, isto kodo z uporabo različnih prevajalnikov in izvajalnih knjižnic.

Kot vidite, imam dovolj razlogov za navdušenje. In razvijalci, ki jih srečujem po vsem svetu, vedo, da Embarcadero veliko vlaga v Delphi in C++Builder, pa tudi v razvojna orodja PHP.

KP: Kakšne uspehe ste dosegli pri integraciji orodij obeh podjetij v zadnjih dveh letih? Kakšni so načrti Embarcadera za prihodnost na tem področju?

DI.: V času, ko je CodeGear postal del Embarcadera, je imelo podjetje razvojne ekipe v Torontu, Monterreyu in Romuniji, bili smo in smo še vedno v Scotts Valleyju in v Rusiji, v St. Embarcadero je imel orodja za razvijalce in skrbnike baz podatkov, CodeGear orodja za razvoj aplikacij, a slednji uporabljajo tudi baze podatkov. Pripojitev podjetij je kombinacija strokovnega znanja, znanja s področja baz podatkov, optimizacije kode, vključno s strežniško. Kombinacija podjetij je vodila tudi do ustvarjanja novega izdelka, AppWave, posebne tehnologije za spreminjanje navadne aplikacije Windows v nekaj zelo enostavnega za uporabo (kot so aplikacije za iPhone ali druge naprave). AppWave vam omogoča, da ne namestite aplikacije, ampak jo preprosto izberete in zaženete s pripravljenega strežnika za shranjevanje aplikacij (aplikacija), in ta se bo zagnala na uporabnikovem računalniku brez spreminjanja njegovega registra in sistemskega področja. datotečni sistem. Mimogrede, brskalnik aplikacij AppWave je napisan v Delphiju. Embarcadero uporablja Dephi za lasten razvoj in naše strokovno znanje o razvoju aplikacij.

Aplikacija iPhone (iOS), ki jo je ustvaril
z uporabo platforme FireMonkey

Za optimizacijo poizvedb SQL pri ustvarjanju aplikacij lahko uporabite tudi integracijo naših razvojnih orodij in DB Optimizer. Če posredujete kodo SQL neposredno v DB Optimizer, jo lahko profilirate, preizkusite in vrnete optimizirano različico nazaj v svoje razvojno okolje. Embarcaderovo strokovno znanje o zbirkah podatkov je prav tako izboljšalo tehnologijo DataSnap. Zahvaljujoč razvijalcem iz Toronta smo pridobili veliko znanja o arhitekturi večnivojskih sistemov in baz podatkov. Zdaj imamo skupno strokovno znanje in izkušnje pri ustvarjanju strežniške kode in shranjenih procedur v obeh podjetjih. Imamo orodja, kot sta RapidSQL in DB Change Manager, ter razvojna okolja, ki poenostavljajo ustvarjanje strežniške kode – na primer tehnologiji Code Insight in Code Completion sta omogočili ustvarjanje tehnologij SQL insight in SQL Completion. Naši skupni pristopi k ustvarjanju kode odjemalca in strežnika, naša skupna filozofija, nam omogočajo, da damo skupne lastnosti orodjem za upravljanje baz podatkov in orodjem za razvoj aplikacij.

Kirill Rannev:Želim dodati nekaj pomembnega. S komercialnega vidika je zelo pomembno, kako dostavljamo naša orodja. na primer nova izdaja RAD Studio XE 2 Ultimate vključuje celotno zbirko orodij DB Power Studio. To je zelo zmogljiv nabor orodij, vključno z okoljem za razvoj poizvedb RapidSQL, orodjem za upravljanje sprememb DB Change Manager in orodjem za optimizacijo poizvedb DB Optimizer, ki vam omogoča, da izvedete pomemben del procesa razvoja in uvajanja z upravljanjem sprememb v podatkovni model, baza podatkov, koda itd. To je zelo dobra in pravilna kombinacija tehnologij.

DI.: Po potrebi pa lahko razvijalci uporabijo Subversion za nadzor različic izvorna koda in DB Change Manager za različice metapodatkov. Uporabite lahko profiliranje kode in DB Optimizer za optimizacijo kode strežnika, RapidSQL za gradnjo in odpravljanje napak kode strežnika ter naša razvojna okolja za gradnjo in odpravljanje napak v aplikacijah. Ta kombinacija tehnologij v RAD Studio XE Ultimate Edition prikazuje vzporednice med modeli baze podatkov in razvojem aplikacij. Večina razvijalcev, ki gradijo poslovne aplikacije z Delphijem in C++Builderjem, dela z bazami podatkov in potrebuje ta orodja, RAD Studio XE Ultimate Edition pa je odlična kombinacija za takšne razvijalce.

KP: Sodobni uporabnik ni več zgolj uporabnik platforme Windows. Uporabljamo mobilne naprave, iPhone, iPad, naprave na platformi Android. To pomeni, da se morajo razvijalci začeti usmerjati v različne platforme, ne da bi znatno povečali vlaganje v usposabljanje – to pomeni, da so potrebna univerzalna orodja. Očitno je nerealno pričakovati univerzalna orodja od proizvajalcev platform in pri tem lahko računamo le na neodvisne proizvajalce orodij. Kako lahko računamo na Embarcadero?

DI.: Kar zadeva podporo platforme, moramo še veliko narediti. Danes uvajamo podporo za platformo iOS za iPhone in iPad, nato bodo naše podpore prejeli pametni telefoni, ki temeljijo na platformi Android, Windows 7 in Blackberry. V RAD Studio XE 2 smo začeli z gradnjo platforme FireMonkey za iOS, nato pa bomo FireMonkey prenesli na druge platforme.

Hkrati obstaja veliko število operacijskih sistemov, ki podpirajo zaslone na dotik za telefone, tablični računalniki in namizne naprave, še naprej pa bomo dodajali podporo zanje. Poleg tega so tu še glas, gibanje, biometrični sistemi, merilniki pospeška, zato moramo še naprej širiti FireMonkey, da bodo lahko vsi razvijalci izkoristili prednosti novih platform. Naprava Microsoft Kinect je bila na primer zasnovana za Xbox 360, zdaj pa obstaja ustrezen SDK (Software Development Kit) za Windows. In že imamo primere, ko uporabljamo gibanje za nadzor aplikacije na približno enak način, kot bi običajno uporabljali miško ali tipkovnico.

Ko ustvarite aplikacije z veliko kompleksno grafiko, ustvarite cel svet novih uporabniških vmesnikov. Če imamo opravka z operacijsko sobo sistem Windows, smo enkapsulirali njegovo uporabo programski vmesnik Windows API v knjižnici VCL (Visual Component Library – knjižnica vizualnih komponent, ki je del razvojnih orodij Delphi in C++Builder. - Opomba izd.), ki ga je, mimogrede, mogoče uporabiti še naprej. In v FireMonkey smo inkapsulirali API operacijskega sistema. Danes pa oblike in grafike manipuliramo veliko širše. Prostoru lahko dodate tudi fizične lastnosti za animacijo in posebne učinke. Poleg tega je na voljo še ogromno drugih dodatnih zmožnosti za ustvarjanje uporabniških vmesnikov, ki jih bomo v naslednjih letih implementirali za različne platforme, mobilne in tablične naprave.

Microsoft je pred kratkim objavil podrobne informacije o sistemu Windows 8, ki naj bi izšel čez eno leto. Te novosti bomo podpirali v knjižnici VCL in platformi FireMonkey. Toda Delphi je razvojno orodje, zasnovano ne samo za Windows, ampak tudi za Macintosh, iPhone in iPad. Razvijamo tudi naše izdelke PHP, podpiramo jQuery Mobile, uporabljamo iOS API za razvoj mobilnih odjemalskih aplikacij in ustvarjamo strežniške aplikacije PHP s pomočjo čarovnikov in orodij za ustvarjanje JavaScript, HTML in kaskadnih slogovnih listov na strani odjemalca. Ustvarimo lahko pakete iz aplikacij PHP in odjemalskih aplikacij z izvorno kodo za iPhone iOS, in taka stranka bo komunicirala z PHP strežnik. On pa bo komuniciral s strežnikom baze podatkov in spletnimi storitvami - z vsem, kar je potrebno za poslovanje.

Razvojno okolje RadPHP XE2. Izdelava mobilne spletne aplikacije
z uporabo komponent jQuery Mobile za iPhone 3G

Z drugimi besedami, načrtujemo razširitev zmogljivosti FireMonkey in VCL, vključno s podporo za mobilne platforme.

KP: Nam lahko poveste več o platformi FireMonkey?

DI.: Kot sem že omenil, se bo knjižnica VCL, ustvarjena za Windows, še naprej razvijala in izboljševala. Toda danes, če želite pravi razvoj poslovnih aplikacij, jih morate ustvariti za različne platforme. Temu je namenjena platforma FireMonkey. Podpira ustvarjanje uporabniških vmesnikov visoke ločljivosti, visoko zmogljivo 3D grafiko, visoke hitrosti sličic in, kar je pomembno, za to uporablja grafični procesor.

Takšne zmogljivosti lahko uporabite pri ustvarjanju znanstvenih, inženirskih in poslovnih aplikacij. Takšne aplikacije se lahko povežejo z bazami podatkov s tehnologijo dbExpress, še vedno pa uporabljajo razvijalcem znane nevizualne komponente, kot sta ClientDataSet ali DataSource, uporabljajo tehnologijo DataSnap, se povezujejo s katero koli bazo podatkov, strežniki SOAP in REST. Ustvarite lahko privlačne kontrolnike, gumbe s polji, nenavadne tabele in druge elemente vmesnika, tako v dveh kot v treh dimenzijah. Končan 3D model lahko naložite v aplikacijo in ga povežete z 2D obliko, v kateri ga lahko vrtite in si ga ogledate iz različnih zornih kotov. Ustvarite lahko podatkovno kocko ali 3D poslovni grafikon in jo zavrtite z miško, tipkovnico ali celo napravo Kinect ali pa stopite v kocko in si od znotraj ogledate njene različne površine. In vse to je mogoče storiti z uporabo hitre GPE. Isto aplikacijo je mogoče nato prevesti za drugo platformo, kot je Mac OS.

Aplikacija, ki vsebuje vrtečo se podatkovno kocko,
postavljen na njegove robove

Lahko pa ustvarite 3D obliko iz nič in uporabite kamere in luči za osvetljevanje in vrtenje delov uporabniškega vmesnika. Oblikovalec obrazca že ima vgrajeno okolje za podporo 3D uporabniškega vmesnika med načrtovanjem.

V sistemu Windows za delo z dvodimenzionalno grafiko visoka ločljivost lahko uporabite knjižnice Direct2D in za 3D grafika- Direct3D. V sistemu Mac OS se knjižnici Quartz in OpenGL uporabljata za iste namene. Za iOS se uporabljata knjižnici Quartz in OpenGL ES. Toda vse to je razvijalcu skrito - uporablja platformo FireMonkey, njen koordinatni sistem in vmesnik za programiranje aplikacij, ne da bi razmišljal o teh knjižnicah, in lahko sestavi isto aplikacijo za različne platforme.

Spomnimo se, kaj je VCL. VCL je ovoj komponente okoli Windows API. Ukvarjamo se z viri, meniji, pogovornimi okni, barvami, slogi, Windows sporočili. Ker je ovoj za več platform, FireMonkey za razliko od VCL ohranja iste modele dogodkov in komponent, kar vam omogoča razmišljanje v smislu dogodkov (na primer dogodki OnClick, OnHasFocus, onMouseDown in onKeyDown), vendar obravnava dogodke Macintosh ali iPhone.

Priložena je tudi platforma FireMonkey celoten sistem animacija elementov uporabniškega vmesnika. Vsekakor ni obsežen animacijski sistem v slogu Pixar, vendar omogoča učinke, kot so bitna animacija, poudarjanje fokusa elementov uporabniškega vmesnika in vektorska grafika. Razvijalcem je na voljo več kot 50 vizualnih učinkov: zamegljenost, spreminjanje slike v črno-belo, raztapljanje, prehodi, odsev, ustvarjanje senc - vse vrste učinkov, ki so na voljo v sodobnih grafičnih procesorjih, ki jih zdaj najdemo v skoraj vsakem računalniku. Aplikacija, izdelana s platformo FireMonkey, pošilja ukaze GPE-ju, ki opravi vse delo pri prikazovanju grafike in ustvarjanju uporabniškega vmesnika. pri čemer procesor brezplačno za izračune in klice v operacijski sistem. Razvijalec lahko le pravilno postavi komponente.

Najbolj temeljna stvar pri platformi FireMonkey je način, kako gradi uporabniški vmesnik. Na voljo so nastanitvene zmogljivosti rastrska grafika na elementih vmesnika, kot so meniji, gumbi in drsni trakovi. Pri FireMonkey za ta namen uporabljamo vektorsko grafiko, ki jo poganja GPE. S programskega vidika so to še vedno isti kontrolniki, vendar vse delo pri njihovem prikazovanju opravi grafični procesor. Uporabimo lahko sloge za kontrolnike, naredimo aplikacijo videti kot aplikacija za Mac OS ali Windows, ustvarimo lasten slog, uporabimo lastne sloge za elemente vmesnika (na primer naredimo gumb pravokoten ali okrogel tako, da spremenimo njegov slog v urejevalniku obrazcev ) - za to V razvojnem okolju je urejevalnik slogov. Ustvarite lahko svoj stil ali pa spremenite slog že končane aplikacije.

Platforma FireMonkey – razvojna orodja
in podprte platforme

Če se spomnite, je imela knjižnica VCL omejeno število kontrolnikov - vsebnikov (torej, ki vam omogočajo, da vanje postavite druge elemente), v FireMonkey pa je vsak kontrolnik vsebnik. To pomeni, da lahko vsak kontrolnik vsebuje katerikoli drugi kontrolnik. Elementi spustnega seznama lahko na primer vsebujejo slike, gumbe, polja za urejanje in druge kontrolnike. Komponente lahko postavite tudi v plasteh.

Sistem za upodabljanje FireMonkey je precej prilagodljiv - lahko uporablja knjižnice Direct2D, Direct3D in OpenGL ter pošilja ukaze GPE-ju. Da bi dosegli isto stvar v VCL, ste morali ustvariti ločen medzaslonski medpomnilnik, ustvariti sliko v njem s klicanjem ustreznih funkcij grafične knjižnice in jo nato prikazati na obrazcu.

Primeri grafičnih učinkov, ki jih podpira FireMonkey

Če nimate grafičnega procesorja, lahko še vedno uporabite 2D ali 3D oblike in uporabite kontrolnike FireMonkey. V tem primeru bo platforma FireMonkey uporabljala knjižnice GDI+ ali druge podobne knjižnice in izvajala enake učinke in animacije ali manipulacijo 3D objektov.

Druga značilnost FireMonkey je nov sistem povezovanje elementov vmesnika s podatki, odprto in prilagodljivo. V VCL obstajata dve vrsti elementov vmesnika: vezani na podatke in nevezani na podatke (na primer TDBEdit in TEdit). V FireMonkey je vsak kontrolnik mogoče povezati s podatki katere koli vrste. To je lahko preprost izraz, polje iz nabora podatkov, podatki iz predmetov, ki jih ustvari razvijalec, ali rezultati klicev metode.

Poleg tega lahko pri ustvarjanju aplikacije vanj naložite že pripravljen 3D model in ga uporabite - takšne zmogljivosti so pogosto potrebne tako v poslovnih kot inženirskih aplikacijah. Imamo naročnika, ki izdeluje aplikacije za logistiko. So imeli Informacijski sistem, zgrajen z Delphijem, in v njem - aplikacija, ki je narisala načrt in prikazala informacije iz podatkovnih virov. Nedavno so naredili nekaj zanimivega – v AutoCAD-u so izrisali popolnoma avtomatizirano 3D skladišče, njihova aplikacija pa omogoča, da vidite, kako se avtomatski viličar premika po skladišču in odlaga blago na police. In na ustrezno sliko dodajo podatke iz virov.

Primeri spreminjanja slogov aplikacij

KP: Kateri formati 3D modelov so trenutno podprti?

DI.: V tej izdaji podpiramo nalaganje modelov iz AutoCAD, Collada (odprtokodno orodje za 3D modeliranje. - Opomba Uredi.), Maya, format OBJ, ki ga podpirajo številni prodajalci 3D-grafike.

KP: Katere druge formate nameravate dodati?

DI.: Dodati nameravamo 3DS (3D Studio MAX), SVG (običajno se ta format uporablja za 2D vektorsko grafiko, včasih pa tudi za 3D), Google SketchUp. Morda bomo podprli druge formate.

KP: Ali je za uporabo 3D-modelov v aplikacijah, zgrajenih s FireMonkey, potrebna licenca za ustrezno orodje za 3D-modeliranje?

DI.: Ne, ne zahteva. Vse kar naredimo je, da preberemo datoteko modela. Model uvažamo, vendar ga ne izvažamo (čeprav bi seveda lahko napisali aplikacijo, ki shrani model v svojem formatu). Ne pretvarjamo se, da smo proizvajalec orodij za 3D modeliranje - za to lahko uporabite AutoCAD, 3D Studio Max, Maya ali katero koli drugo orodje za 3D modeliranje in uvozite izdelane modele v naše aplikacije.

KP: Kako zmogljive so aplikacije, zgrajene s FireMonkey na sodobnih platformah strojne opreme?

DI.: Produktivnost je precej visoka. Na primer upodabljanje 3D oblike s tremi kroglami in tremi vklopljenimi viri svetlobe MacBook Pro se lahko izvede s hitrostjo 100 sličic na sekundo. Lahko pa tudi 600 – odvisno kaj točno počnemo. Spet je vse odvisno od moči GPE.

KP: Ali to pomeni, da lahko s FireMonkey ustvarjate sodobne igre?

DI.: Naših razvojnih orodij ne postavljamo kot orodja za igre. Če pa izkoristite visoko zmogljivost sodobnih grafičnih procesorjev, lahko ustvarite igre z uporabo FireMonkey - navsezadnje so ustvarjene z uporabo Direct3D ali OpenGL.

KP: Kakšno delo trenutno opravljate na področju podpiranja prepoznavanja kretenj in drugih novodobnih stvari? Ali je takšna podpora na voljo?

DI.: V tej izdaji še nimamo podpore za kretnje. Kontrole s kretnjami bodo dodane v prihodnji izdaji FireMonkey, medtem pa lahko uporabljate podporo za kretnje, vgrajeno v operacijski sistem.

Mikhail Filippenko, direktor podjetja Fast Reports, Inc.

K.R.: Rekli smo že, da ima tehnologija FireMonkey ruske korenine - njeni temelji so bili ustvarjeni v naši državi, nato pa so se sama tehnologija in njeni razvijalci pridružili Embarcadero. Na splošno je razveseljivo videti rast ruske komponente v RAD Studio in Delphi. To vključuje dejavnosti našega razvojnega centra v Sankt Peterburgu in prispevek neodvisnih ruskih razvijalcev. Na primer, Rad Studio XE2 vključuje generator poročil FastReport - znan po vsem svetu in zelo priljubljen pri nas. Doma je iz Rostova na Donu.

KP: Rad bi govoril o prevajalnikih. Kakšen prevajalnik se uporablja pri ustvarjanju aplikacij za iOS?

DI.: Nimamo lastnega prevajalnika Delphi za iPhone ali iPad – nismo še razvili prevajalnikov za procesorje ARM, ki se uporabljajo v teh napravah. Za iOS začasno uporabljamo prevajalnik Free Pascal in knjižnico izvajalnega okolja. Toda delamo na naslednji generaciji prevajalnikov, vključno s procesorji AWP. Obstajajo pa prevajalniki za Windows in Mac OS, saj obe strojni platformi temeljita na Intelovih procesorjih.

KP: Kaj je bilo narejenega na področju izdelave prevajalnikov v zadnjih dveh letih?

DI.: Imamo 32- in 64-bitne prevajalnike Delphi za Windows in Mac OS. In delamo na novi generaciji prevajalnikov Delphi in C++. Še vedno so v teku, a ko bodo končani, bomo imeli prevajalnike Delphi za procesorje ARM, platforme Android, Linux in vse vmes. Imeli bomo 64-bitne prevajalnike C++ za Windows in druge platforme, združljive z najnovejšim jezikovnim standardom C++, ki ga je pravkar sprejel ISO.

KP: Kaj se danes dogaja s podporo za računalništvo v oblaku v razvojnih orodjih Embarcadero?

DI.: V RAD Studio XE 2 podpiramo premikanje aplikacij v oblak Microsoft Azure ali Amazon EC2 s pomočjo platforme Assistant. Imamo tudi strežniške komponente za Cloud Storage za Azure in Amazon S3 za shranjevanje tabel, binarnih podatkov, čakalnih vrst sporočil. IN prejšnja različica Z RAD Studio XE smo podprli tudi uvajanje aplikacij v Amazon EC2, vendar ni imel podpore za shranjevanje.

Podpora za računalništvo v oblaku v RAD Studio XE 2

KP: Pred dvema letoma ste govorili o novi rešitvi All-Access. Kako priljubljen je bil? Kakšne so njegove prednosti za sistemske integratorje in razvijalce?

DI.: Rešitev All-Access in orodje v oblaku AppWave se široko uporabljata po vsem svetu. Zasnovani so tako, da olajšajo uporabo lastnih in tujih aplikacij. Pravzaprav je to rešitev za upravljanje licenc in uporabe aplikacij ter je priročna za velika podjetja. Manjša podjetja, ki nimajo posebnih skupin ljudi, odgovornih za upravljanje aplikacij, lahko aplikacijo shranijo v skladišče, izberejo uporabniška imena iz podatkovne baze in dajo te aplikacije na voljo, ne da bi se morali spomniti, kje. Licenčni ključ in koliko licenc je na voljo. All-Access in brskalnik AppWave sta zasnovana za upravljanje različic in nadzora dostopa.

K.R.: Trg je tako raznolik in uporabniki tako različni, da je nemogoče pokriti vse potrebe z eno rešitvijo. Zato stremimo k raznolikim embalažnim rešitvam. Veliko smo delali na poenotenju metod licenciranja, upravljanja licenc in namestitve produkta. Ta linija rešitev vključuje orodja za upravljanje licenc in zagotavljanja ne samo za izdelke Embarcadero, ampak tudi za vse druge izdelke, vključno z notranjim razvojem podjetja.

Delo na pakiranju razvojnih orodij v učinkovite komplete za uporabnike še vedno poteka. Imamo All-Access - superset, ki združuje vse izdelke Embarcadero. Če stranka kupi All-Access Platinum, prejme vsa orodja, ki jih najdete v Embarcaderu. Toda včasih se ta nabor izkaže za odvečnega; na primer, za strokovnjake za baze podatkov smo izdelali dva druga nabora - DB Power Studio Developer Edition in DB Power Studio DBA Edition. Razlika med njima je v tem, da za razvijalca ponujamo RapidSQL - orodje za razvoj strežniške kode, za skrbnika pa je vgrajen DBArtizan - orodje za administracijo baze podatkov, širši produkt od RapidSQL. Za profesionalce imamo naslednje pakete All-Access: paket, ki vključuje vse izdelke, DB Power Studio za razvijalce, DB Power Studio za skrbnike, ER Studio Enterprise Edition za arhitekte in vse, ki se ukvarjajo z modeliranjem. Obstajajo kombinacije za razvoj aplikacij in za skrbnike. Delphi je orodje za razvijalce in zelo smiselno mu je dodati orodja za razvoj in optimizacijo SQL. Nazadnje, DB Change Manager je logično orodje za upravljanje kompleksnosti sprememb, ki se pojavijo v bazah podatkov med njihovim življenjskim ciklom.

Tako je All-Access glava velike družine različnih naborov izdelkov.

KP:Če ni skrivnost, kdo v Rusiji uporablja All-Access?

K.R.: Imamo stranke, ki so kupile All-Access, ki temelji na Delphiju. Mnogi od njih ustvarjajo kompleksne sisteme odjemalec-strežnik SQL Server in Oracle, in takoj so jim bila všeč naša orodja za baze podatkov na več platformah. Imamo stranko, ki dela z Delphijem že od prve različice, pred letom dni pa je zamenjala z uporabo Delphija na komplet All-Access. Dve orodji, ki ju zajamčeno uporabljajo vsi razvijalci v tem podjetju, sta Delphi in DBArtisan. In obstajajo stranke, ki so prišle v All-Access s strani baze podatkov. Njihova glavna naloga je skrbništvo nad bazami podatkov, včasih pa tudi razvijajo aplikacije. Med strankami, ki uporabljajo All-Access, so medijska podjetja, inženirska podjetja in druge industrije.

Ločeno bi se rad osredotočil na mala podjetja. Zelo pogosto v majhnih skupinah razvijalec naredi vse in tako podjetje včasih kupi velike komplete izdelkov All-Access za enega ali dva razvijalca. V velikih timih se ne spodbuja, da bi razvijalec opravljal tudi na primer vlogo skrbnika baze podatkov, zato so tam običajno priljubljeni majhni produktni sklopi, v majhnih podjetjih pa je takšna kombinacija odgovornosti povsem sprejemljiva.

Delphi Architect je močno tržen izdelek, ki vključuje orodja za modeliranje in programiranje. Število prodanih kopij je sicer manjše od različice Delphi Enterprise, vendar je tudi veliko. Naj opozorim, da smo se v letu 2010 izkazali za najboljšo državo po obsegu prodaje, kljub temu, da so bile vse države v krizi. Ta rast ni bila povezana toliko z gospodarskimi dejavniki, temveč z dejstvom, da se je različica RAD Studio XE, izdana konec leta 2009, izkazala za zelo priljubljeno. In za zdaj pričakujemo nadaljnjo rast prodaje.

Naredili smo še en razumen korak, ki je v Rusiji izjemno priljubljen. Stopnja legalizacije različnih različic naših izdelkov je različna: višja kot je različica, bolj je legalizirana, saj prej programsko opremo ni tako aktivno kupljen. Začenši z RAD Studio XE, licenca zajema različice 2010, 2009, 2007 in celo Delphi 7, široko uporabljen izdelek.

Danes se razvijalci soočajo z dejstvom, da imajo tako nove projekte kot projekte v podpori. Veliko število projektov je bilo prenesenih iz prejšnje različice Delphi na različico 7 in ostaja znotraj te različice ter nadaljuje z delom na relativno majhnih virih. Nihče jih ne seli v novejše različice, vendar se vzdržujejo v stanju, ki je primerno za preživetje. In zdaj vam omogočamo, da dobite tako RAD Studio XE kot Delphi 7 za malo denarja (manj kot cena licence Delphi 7) - to pomeni, da legaliziramo razvijalca tako za izvajanje novih projektov kot za podporne projekte.

KP: Kako ocenjujete trenutno stanje skupnosti Embarcadero?

DI.: Ta skupnost je velika in zelo zahtevna. Vse potrebujejo takoj - so razvijalci. Toda včasih traja veliko časa, da naredimo nekaj prav.

Pred nekaj leti smo prevzeli arhitekturo komponent Windows in jo postavili na namizja Linux. Zdaj vidimo, da to ni bila prava odločitev. Prava rešitev je ustvariti aplikacijsko platformo. Aplikacije na različnih platformah imajo menije, okna, grafiko, dostop do omrežja in dostop do naprave. Imajo lahko različne platforme različni modeli nadzor pretoka ali obravnavanje izjem, vendar v kodi aplikacije vidimo iste poskusne bloke. Naša naloga je, da razvijalcem olajšamo ustvarjanje poslovnih aplikacij in njihovo prevajanje za platforme, na katerih naj bi se uporabljale, ne glede na to, kako je strukturiran niz ukazov ustreznih procesorjev in kakšne so druge lastnosti teh platform. In FireMonkey je točno tisto, kar potrebujete za rešitev te težave.

KP:Če podjetje ustvari novo napravo in želi, da je podprta v FireMonkey, ali bo to mogoče?

DI.: Z novo generacijo prevajalnikov, ki bodo imeli od platforme neodvisen front-end in od platforme odvisen back-end, bo to povsem mogoče. Medtem za vsak operacijski sistem iz nič ustvarimo prevajalnik in izvajalno knjižnico.

Vsaka sodobna nova naprava ima praviloma grafiko Uporabniški vmesnik(mnogi od njih imajo dvojedrni procesor in GPE) ter standardni SDK-ji za razvijalce. To olajša ustvarjanje podpore za naprave v FireMonkey. Če ima nova naprava samo knjižnice za dvodimenzionalno grafiko, kot je Quartz, bomo takšno napravo lahko podpirali v FireMonkey, vendar bo to trajalo približno nekaj mesecev. Vendar pa je veliko odvisno od platforme: vse platforme ne podpirajo vseh funkcij, iOS na primer nima menijev in pogovornih oken in na obrazce takšnih aplikacij ne boste mogli postaviti ustreznih komponent.

KP: Se je kaj spremenilo v politiki sodelovanja s partnerji? Kaj počnete za povečanje deleža uporabnikov vaših izdelkov? Kaj se dela v Rusiji?

DI.: Naš partnerski ekosistem je širok – obstaja na stotine proizvajalcev orodij in komponent, ki jih ne najdemo v naših izdelkih, in imamo program tehnološkega partnerstva. Zato je razvijalcem na voljo širok nabor komponent, tehnologij in orodij. In rešitve, ki jih ustvarijo za svoje stranke, so boljše, kot če bi uporabljali samo naše izdelke. Za prodajo imamo pisarne v številnih državah, prodajalce in distributerje.

K.R.: Za nas ni pomembno število partnerjev, ampak kakovost dela vsakega posameznega partnerja. Za zdaj se želimo osredotočiti na tesno sodelovanje z obstoječimi partnerji, čeprav nabor partnerjev ostaja odprt. Imamo veliko partnerjev, ki jim moramo tehnološko pomagati. Delamo z razvijalci, ki vedo, kaj hočejo, in vedo, kaj je na trgu in temu morajo ustrezati sposobnosti partnerjev.

Imamo poslovne partnerje, ki so resno investirali v Embarcadero kot poslovno linijo - imajo usposobljene strokovnjake, ki tržijo naše izdelke, predane zaposlene, ki so odgovorni za to linijo in spremljajo, kaj se dogaja z našimi izdelki, cenikom, marketingom. Seveda so bolj uspešni pri prodaji naših izdelkov kot podjetja, ki naše izdelke prodajajo občasno.

KP: David, Kirill, najlepša hvala za zanimiv intervju. Naj v imenu naše publikacije in naših bralcev zaželim vašemu podjetju nadaljnje uspehe pri ustvarjanju vaših neverjetnih orodij, ki jih razvijalci tako zelo potrebujejo!

Vprašanja Natalije Elmanove

FireMonkey je temeljna tehnologija "novega Delphija". Prosimo, povejte nam o ciljih, zmožnostih in tehničnih vidikih te popolnoma nove knjižnice. Ko se čez nekaj časa ozrem nazaj, kako težka in upravičena je bila vaša zavrnitev nadaljnjega razvoja super priljubljenega VCL?

Izbrana je bila kot glavna smer razvoja tehnologije Delphi za dosego določenega cilja - večplatformni razvoj iz enega samega okolja, ki temelji na eni sami bazi izvorne kode, brez potrebe po radikalnem prekvalificiranju razvijalcev. V okviru zdaj že klasičnega in superpopularnega VCL je bilo to nemogoče, njegova povezava z WinAPI je bila pretesna, lahko bi rekli »na genetski ravni«.

Komponente VCL niso imele »abstraktne« plasti med funkcionalno ravnjo v smislu vmesnika in mehanizmov za njihov prikaz. Funkcionalna raven— kako se obnaša kot kontrolnik, na katere dogodke se odziva, kakšno interakcijo uporabnika zagotavlja. Zaslon— klicanje platformsko usmerjenih metod vizualizacije kot določene slike, ki jo tvorijo rastrski objekti in vektorski primitivi. FireMonkey je sprva izvajal načelo stroge delitve nadzora na dve komponenti: "vedenjsko" in "vizualno".


Vsevolod Leonov, Embarcadero Technologies

Prvi na splošno ne bo ponovil niti osnov VCL, ampak bistvo objektno usmerjenega programiranja. Komponenta je razred; razredi komponent tvorijo hierarhijo, kjer je mogoče razlikovati družine in module. Razred komponente je ohlapno povezan s tem, kako je upodobljena.

Vizualna »slika« se oblikuje dinamično, ni togo zapisana v razredu komponent. Slika ali "slog" v FireMonkey se naloži v komponento, ko se aplikacija zažene. Imamo nekakšen funkcionalni okvir za komponento in "kožo" ali "oplato" lahko spremenimo, ampak zakaj? Tako so aplikacije FireMonkey videti pristne na kateri koli platformi – Windows 7, Windows 8, Mac OS, iOS in v bližnji prihodnosti tudi Android. To je nekaj, česar tradicionalna monolitna razredna struktura VCL ni mogla zagotoviti.

Pri tem igra posebno vlogo tehnološki pristop. Načeloma lahko vzamete knjižnico VCL in jo "napolnite" z WinAPI in vsemi drugimi možnimi klici platforme. To je še vedno mogoče narediti na zelo omejeni podmnožici komponent, vendar VCL vsebuje več sto komponent, tako da bi ta pristop lahko preprosto "ubil" VCL. Odločeno je bilo, da se ne bomo dotaknili VCL, ampak da bomo razvili nove zmogljivosti na novi platformi - FireMonkey. Ta tehnologija Ima celo določeno tehnično eleganco - v času sestavljanja projekta za določeno platformo Delphi IDE poveže zahtevani prevajalnik, komponente vmesnika pa dobijo slog platforme.

Za uporabnika je to en klik z miško in enaka izvorna koda; za Delphi je veliko let trdega dela razvijalcev, da ustvarijo takšno večplatformsko knjižnico.

Ko je postalo jasno, da bo FireMonkey predstavljen kot ločena nova platforma, je bilo treba izbrati pravo strategijo sožitja: Embarcadero na noben način ni želel negativno vplivati ​​na uporabnike VCL. Zato smo izbrali naslednji načrt: VCL ostaja ideološko in arhitekturno stabilen, da se zagotovi najvišja možna združljivost, kar olajša selitev projektov na sodobne različice. Razvoj FireMonkey bo sledil naravni in vzporedni poti, ne glede na VCL.

Šibka točka te rešitve je precej problematična migracija iz VCL v FireMonkey znotraj istega projekta. Toda za nov projekt lahko razvijalec izbere FireMonkey, da zagotovi večplatformsko naravo svoje nastale aplikacije. Po izdaji XE4 s podporo za iOS lahko za začetek že govorimo o svetlih konkurenčnih prednostih Delphija mobilni razvoj v korporativnem okolju, ki se bo po uvedbi načrtovane podpore za Android povečala.

Zato ni očitne "zavrnitve" razvoja VCL kot takega. V novih različicah se razvija tudi VCL del Delphija. To vključuje 64-bitno podporo, uvedbo stilov za vizualne komponente, implementacijo mehanizma za prilagodljive dinamične povezave ali "vezovanje" in vključitev knjižnice FireDAC za delo z bazami podatkov v projektih VCL. Gre samo za to, da se v primerjavi z velikanskim kvalitativnim preskokom, ki ga je naredil FireMonkey, napredek v VCL zdi nekoliko bled. Kakor koli že, VCL je sestavni del Delphija in bo tako ostal še vrsto let. Čeprav razvoj platform in trenutno stanje na področju OS za namizni sistemi in mobilne naprave so takšne, da je prihodnost zagotovo za FireMonkey.

V intervjuju smo že razpravljali o podpori za iOS, povejmo našim bralcem o podpori za druge najnovejše tehnologije iz najnovejšega RAD Studio XE4, na primer, kot so Windows 8 in WinRT, 64-bitni sistemi, MacOS in tako naprej. Lahko naštejete, kaj še lahko ponudite sodobnemu programerju, razvajenemu od novosti?

Najverjetneje sodobni programer ni "razvajen" z inovacijami. Za večjih projektov vsaka "inovacija" pogosto povzroči ogromno dela.

Na primer, vsi so dolgo čakali, mnogi so takoj pohiteli prevesti svoje kode v nova platforma. A izkazalo se je, da na to niso pripravljene niti zelo profesionalne ekipe. Prevajanje 64-bitne kode ne pomeni dela. "Grehi mladosti" so se začeli pojavljati na primer z uporabo navodil, ki predvidevajo 4-bajtno velikost naslova. Pomanjkanje preskusne kulture, skupaj s tehnološko nepripravljenostjo za izvedbo tega procesa v kratkem času.

In tukaj - večji kot je projekt, merjen, recimo, s številom vrstic izvorne kode, bolj previdni in uravnoteženi programerji so z različnimi vrstami inovacij, od videza "gumba" v vmesniku do "sintaktičnega sladkorja" v prevajalniku.

Eden od teh "problematičnih" dosežkov je bila izdaja operacijskega sistema Windows 8. Osebno sem kot uporabnik osebnega računalnika in samo sodobni informatik navdušen nad sistemom Windows 8. Toda za razvijalce, ki so jim kot obremenitev poslali serijo računalnikov z operacijskim sistemom Windows 8 s specifikacijami za razvoj pod novim OS, to pomeni določene težave.

Poskušali smo zagotoviti razvojno podporo za nov vmesnik tega operacijskega sistema čim bolj udobno in neboleče. Zato so bili uvedeni posebni slogi tako za VCL kot za FireMonkey, programer pa lahko obnovi aplikacijski vmesnik ali ustvari novo aplikacijo, ki se ne bo razlikovala od »domače« za Windows 8. videz. Seveda obstaja potreba po »domači« podpori za Windows 8 prek WinRT. A na to vpliva prioriteta ciljev v sodobne razmere. Mac OS, iOS, Android v bližnji prihodnosti nam še ne omogočajo govoriti o popolni podpori za WinRT v bližnji prihodnosti.

Strateški cilj Embarcadera je seveda multiplatformnost. Izdaja RAD Studio XE4 je bila ključna predvsem zaradi podpore za iOS. Obstoječi programer, ki uporablja VCL, lahko začne razvijati za iOS v nekaj urah. Celo preprosto mobilna aplikacija se lahko takoj spremeni v močan projekt, ki deluje znotraj obstoječe infrastrukture. Ne mislite, da je lahko nov prevajalnik v FireMonkey in nov slog da zagotovite skladnost z vmesnikom iOS.

To vključuje nov vizualni oblikovalec, vgrajeno podporo za različne faktorje oblike, knjižnice za dostop do podatkov, vključno z novim FireDAC, in tehnologijo LiveBindings za prilagodljivo in dinamično povezovanje s podatki podjetja. Vse te novosti prihajajo hkrati - za Windows, Mac OS in iOS. operacijski sistem Mac OS se ne razvija tako hitro, zato ni težav, kot je prehod iz Windows 7 na Windows 8. Vendar so se pojavili Retina zasloni in to je zahtevalo posebno pozornost. Zdaj vsaka aplikacija MacOS, ustvarjena v Delphi XE4, samodejno vključuje dva sloga - »normalno« in »visoko ločljivost«.

to. ista aplikacija ima lahko enak visokokakovosten »domači« vmesnik na katerem koli namizni računalnik podjetja Apple.

Embarcadero ne želi "presenetiti", "osupniti" ali celo "zabavati" razvijalcev s svojimi novimi inovativnimi izdajami. Nasprotno, IT sfera je že polna različnih presenečenj: nove naprave, nove platforme, novi uporabniki, njihove nove potrebe, novi scenariji interakcije. Če k temu dodate nove tehnologije za razvoj programske opreme, programerji preprosto ne bodo imeli časa za ustvarjanje novih sistemov in obstoječih – vse, kar bodo storili, je selitev iz enega okolja v drugo, iz stare knjižnice v novo, iz enega jezika v drugega.

Vendar ne izpovedujemo zavračanja vsega novega. Želimo le zagotoviti kontinuiteto vsega - kode, vmesnika, projekta, celo strokovnega znanja, ko se pojavijo nove platforme in naprave. Lahko bi rekli, da se z zdravim konzervativizmom v razvojnih orodjih borimo proti nezdravemu konzervativizmu glede novih platform. Od Embarcadera ne pričakujte eksotičnih izdelkov, nestandardnih programskih jezikov ali nenavadnih razvojnih orodij.

Pri nas boste vedno našli vizualni razvoj, klasične jezike, »domačo« kodo in naj bodo ciljne platforme za vaše aplikacije, ustvarjene na enak preverjen klasičen način, nove.




Vrh