Firemonkey no vienkārša līdz sarežģītam. Kas ir FireMonkey? atbalsta trūkums vietējo klašu pielāgošanai

Kas ir FireMonkey?


FireMonkey (FMX) ir ietvars starpplatformu izstrādei gan galddatoru sistēmām (tuvākajā nākotnē plānots operētājsistēmu Windows, Mac OS + servera atbalsts uz Linux), gan mobilajām ierīcēm (iOS un Android), izmantojot Delphi/C++ valodu.

Īpatnības:

  • viena koda bāze visām platformām;

  • jebkura vadība (vizuālais komponents) var būt citu komponentu konteiners (sākotnējais);

  • ļoti progresīva komponentu relatīvā izkārtojuma (20 veidu) klātbūtne veidlapā;

  • LiveBinding ļauj savienot jebkura veida datus vai informāciju ar jebkuru lietotāja interfeisu vai grafiskiem objektiem;

  • formas/komponentu stilu klātbūtne;

  • Vairāku ierīču priekšskatījums ļauj pielāgot vizuālo prezentāciju katrai platformai;

  • FireUI Live Preview - parāda lietojumprogrammas izskatu reālajās ierīcēs reāllaikā.

Iespējas:

  • katras platformas vietējā API izmantošana, kā arī iespēja izsaukt trešo pušu vietējās bibliotēkas;

  • mijiedarbība ar visiem sensoriem (GPS, akselerometrs, kompass, Bluetooth (ieskaitot LE) un citi);

  • atbalsts push paziņojumiem, IoT;

  • atbalsts asinhroniem HTTP pieprasījumiem;

  • atbalsts lielākajai daļai datu bāzu (MsSQL, MySql, Oracle, PostgreSQL, MongoDB utt.);

  • darbs ar Cloud Service (Amazon, Azure);

  • Android pakalpojuma atbalsts.

Mīnusi (pašlaik):

  • atbalsta trūkums vietējo klašu pielāgošanai;

  • konkrētu lietu realizācija ir vai nu neiespējama (logrīki, paplašinājumi (iOS) u.c.), vai arī nepieciešama deja ar tamburīnu (fona pakalpojums, apraides ziņojums utt.);

  • Splash screen (sākotnējā ekrāna) pielāgošana, maigi izsakoties, trūkst;

  • FMX vadīklas izmanto savu renderēšanu (vizualizāciju, zīmēšanu), kas ir tīri vizuāli līdzīga vietējai;

  • vietējo vadības ierīču izmantošana ietver lielas ķermeņa kustības;

  • kad ir daudz komponentu ligzdošanas, notiek neticamas lietas: lietojumprogramma avarē dažādās vietās, zaudē fokusu, sasalst utt.;

  • lietojumprogrammas atkļūdošanas informācijas saturs mobilajās platformās ir nulle;

  • kļūdu apraksti mobilajās platformās tiek samazināti līdz bezjēdzīgam “Kļūda 0x00000X”;

  • apkopošanas laiks vēlas būt vislabākais vidējiem un lieliem projektiem;

  • nepieciešamība izmantot failu, lai pulētu mobilās lietojumprogrammas katrai platformai;

  • nav atbalsta Intel Atom arhitektūrai;

  • neadekvāta cena salīdzinājumā ar konkurentiem.

Plusi:

  • pēdējā laikā ļoti aktīva gan produkta, gan sabiedrības attīstība, atbalsts arvien jaunām tehnoloģijām;

  • milzīga skaita bezmaksas un komerciālu komponentu klātbūtne;

  • Lietojumprogrammas ātrums ir ļoti tuvu vietējam;

  • ļoti attīstīts vizuālais redaktors un vide kopumā, stilu klātbūtne;

  • iespēja pārbaudīt programmu Win un tikai pēc tam izvietot to ierīcēs, kas ievērojami paātrina izstrādi;

  • mainīt režīmu/platformu ar plaukstas pirkstu;

  • PAServer nodrošina vienkāršu mijiedarbību ar MacO, izstrādājot Apple OS;

  • 3D grafikas atbalsts no kastes.

Nobeigumā es vēlos teikt, ka pēdējo pāris gadu laikā FireMonkey ir kļuvis par profesionālu rīku biznesa lietojumprogrammu un citu platformu izstrādei. Daudzas nepilnības pamazām tiek novērstas un ar katru izlaidumu produkts kļūst modernāks un pašpietiekamāks, zūd arī esošā skepse pret pašu Delfu valodu, kas saistīta ar daudzu gadu stagnāciju. Jaunu projektu rakstīšana programmā FireMonkey ir “droša” un daudzsološa.

Pagājušā gada septembrī izlaistais Delphi XE2 satur rekordlielu skaitu jauninājumu.
Īsi pārskati par Delphi XE2 iespējām jau ir publicēti vietnē Habré. Bet, acīmredzot, visspilgtākais jauninājums ir FireMonkey platforma, un šeit es gribētu tai pievērst nelielu uzmanību.
Esmu izveidojis nelielu saišu izlasi uz materiāliem, kas, es ceru, palīdzēs jums iegūt vairāk vai mazāk atbilstošu priekšstatu par šo platformu. Bet vispirms tiem, kas nezina, es īsi pastāstīšu, kas ir FireMonkey.
Embarcadero Technologies pozicionē FireMonkey kā platformu bagātīgu biznesa lietojumprogrammu izveidei operētājsistēmām Windows, Mac un iOS. Turklāt šī platforma ir dzimtā katrai OS, t.i. Palaižot lietojumprogrammu, kas izveidota, izmantojot FireMonkey, netiek izmantoti papildu papildinājumi.
FireMonkey ir tieši saistīta ar vietējo (no OS perspektīvas) grafikas bibliotēku, piemēram, OpenGL vai DirectX. Tādējādi tiek piedāvāts labākais risinājums no GPU viedokļa.
FireMonkey arhitektūras kodols ir jaudīga klašu bibliotēka (ieskaitot vizuālos komponentus).
Mērķa platforma tiek izvēlēta kompilācijas procesā.
Pirmā FireMonkey versija atbalstīja tikai Win32, Win64, MacOSX un iOS, taču Embarcadero plāno to portēt uz vairākām citām platformām nākotnē.

Kas būtu jāņem vērā?

Lai gan FireMonkey platforma nodrošina plašus rīkus 3D lietojumprogrammu izstrādei, to nevajadzētu uzskatīt par spēļu dzinēju. FireMonkey ir īpaši pozicionēts kā platforma biznesa lietojumprogrammu izstrādei.
Produkts pašlaik atrodas sākotnējās attīstības stadijā. Un daudzi funkcionalitāte FireMonkey piedzīvo izmaiņas gan kvalitatīvi, gan kvantitatīvi.

Es ceru, ka zemāk esošās saites palīdzēs jums izprast jaunās platformas galvenās funkcijas.
Oficiālā produkta lapa Embarcadero vietnē (krievu valodā)

Starp angļu valodas materiāliem es vēlētos izcelt sēriju (angļu valodā)

Ko redzēt?

Kas attiecas uz jaunākā versija Delphi, produkta iespējām un darbam ar to ir veltīts vairāk video materiālu nekā jebkad agrāk. Gan oficiāli, gan no Embarcadero, gan neatkarīgiem izstrādātājiem. Vietnē YouTube ir daudz video par FireMonkey, varat vienkārši izmantot meklēšanu. Starp šo materiālu pārpilnību es izcelšu trīs videoklipu sēriju no Marco Cantu — RAD in Action galvenās lapas, tādējādi piešķirot savam pētījumam lietderības vektoru.

Jūs droši vien zināt, ka Embarcadero aktīvi popularizē savu jauno redzējumu par starpplatformu GUI izveidi - FireMonkey ( viņi to sauc par ietvaru, bet tā pašreizējam stāvoklim tas izklausās pārāk forši). Vietnē RuNet tiek izsludināts konkurss viens pēc otra, tiek rīkoti vebināri, un, lai gan pēdējo kvalitāte atstāj daudz ko vēlēties, aktivitāte ir iepriecinoša. Tagad patiesībā pie tēmas. Pēdējā konkursa ietvaros tika piedāvāts izstrādāt kaut kādu aplikāciju mācībām. Un vakar parādījās vēl viens darbs, kura autors bija Jevgeņijs Čmels ( Es nezinu, vai šis uzvārds ir vai nav). Atšķirībā no iepriekš redzētajām vienkāršajām “vienformām”, šeit pērtiķi tika mēģināts pavilkt aiz visām tā ekstremitātēm: stilizācija, 3D, ēnotāju efekti ( Embarcadero evaņģēlistiem patīk runāt par GPU paātrināto grafiku :))). Paskatīsimies, kas no tā sanāca. Tiem, kas nav skatījušies vebinārus, izdarīšu nelielu atkāpi. Vienā no vebināriem Embarcadero evaņģēlists Vsevolods Ļeonovs stāstīja sirdi plosošu stāstu par to, kā viņam nācās “pārstartēt datoru, īpaši smagi” (tas ir citāts), jo Silverlight SDK un Windows emulators Tālrunis 7 “nestrādāja” (tas ir citāts) viņa datorā, jo... Viņiem nepatika ne video adapteris, ne GPU iestatījumi. Bet lietojumprogrammas, kas izstrādātas, izmantojot FireMokey, Vsevolod turpina, nemaz nav prasīgas aparatūra. Paskatīsimies, kā viņš mums meloja. Process Explorer v15.05 no Marka Rusinoviča būs mūsu objektīvais liecinieks. Tātad, lejupielādējiet Jevgeņija lietojumprogrammu un palaidiet ( Es nesniedzu Jevgeņija lietojumprogrammas ekrānuzņēmumus, tie ir pieejami saitē uz viņa darbu. Ņemiet vērā izplūdušos fontus).

Palaida lietojumprogrammu. Apskatīsim patēriņu:

Nepieticīgi, bet tu vari piedot” progresīvas tehnoloģijas" Dodieties uz sadaļu "Nodarbības" un atlasiet "5. nodarbība". Sākas posma sagatavošana. Šis process ir garš ( Man tas prasīja nedaudz vairāk par minūti, izmantojot četrkodolu Phenom II ar frekvenci 3,3 GHz), esi pacietīgs. Skatuve ir uzbūvēta. Apskatīsim patēriņu:

Pērtiķis bija labi paēdis. Ļoti labi. Tagad mēģiniet pārvietot peles kursoru virs atbildes opciju pogām. Šķiet, ka GUI reaģē ļoti gausi, vai ne? Apskatiet CPU izmantošanas grafiku ( Es domāju, ka jums tas jāizmēģina pašam savā datorā) – šajos brīžos tā slodze tuvojas 100% ( Man bija ~21,5% četrkodolu procesoram, kas ir līdzvērtīgi 86% viena kodola procesoram). Bet kāds mums pastāstīja par GPU paātrināto grafiku. Labi, ejam tālāk. Mēs nodarbībā atbildam uz visiem jautājumiem. Apskatīsim patēriņu:

Vai tavas acis ir iepletušas? Tagad salīdzinājumam paskatieties, cik daudz 3D šāvēja FarCry patērē aktīvai spēlei ( līmenis saucas Factory, ja kādam interesē) darbojas pilnekrāna režīmā 1440x900:

Izdariet savus secinājumus.

Ir pagājuši vairāk nekā trīs gadi, kopš CodeGear nodaļa, kas ir atbildīga par tādu pasaulslavenu rīku kā Delphi, C++Builder un JBuilder, kā arī Interbase datu bāzes pārvaldības sistēmas izveidi, kļuva par Embarcadero Technologies daļu, kas pazīstama ar saviem rīkiem. datu bāzes projektēšanai un administrēšanai, kā arī divus gadus kopš mūsu žurnāla lappusēs apspriedām, ko sagaidīt tādu rīku izstrādē, kuri ir tik populāri Krievijas izstrādātāji. Mēs lūdzām Deividu Intersimoni, Embarcadero Technologies izstrādātāju attiecību viceprezidentu un galveno evaņģēlistu, un Kirilu Ranņevu, Embarcadero Technologies pārstāvniecības vadītāju, pastāstīt par to, kas jauns šajā jomā paveikts pēdējo divu gadu laikā un kas gaidāms tuvākā nākotne.Krievija. Mūsu jaunākajiem lasītājiem informēsim, ka šī nav pirmā intervija, ko Deivids un Kirils sniedz ComputerPress - mūsu sadarbība turpinās jau otro desmitgadi. Un aptuveni tikpat daudz gadu mēs periodiski esam publicējuši datu bāzes pārvaldības rīku apskatus, kuros liela uzmanība tiek pievērsta Embarcadero produktiem.

ComputerPrese: Deivid, jūsu nodaļa ir Embarcadero daļa jau trīs gadus. Pirms diviem gadiem jūs sajūsminājāties, ka tas kļuva par daļu no uzņēmuma, kas ir tuvu jūsu mērķiem un garam. Vai šajā laikā kaut kas ir mainījies? Vai jums un jūsu kolēģiem joprojām ir tāds pats entuziasms?

Jā, es joprojām esmu ļoti entuziasts. Galvenās izmaiņas, kas notikušas, kopš kļuvām par Embarcadero uzņēmuma daļu, ir tādas, ka Delphi attīstībā ir ieguldīts liels ieguldījums. Pieaudzis cilvēku skaits, kas strādā pie izstrādes rīkiem, un ir pieaudzis to tehnoloģiju skaits, kuras varam izstrādāt vai nepieciešamības gadījumā iegūt.

RAD Studio XE 2 izlaidums, kuru plānojam demonstrēt Maskavā, ir lielākais šī produkta laidiens ar milzīgām iespējām un lielu atbalstīto platformu skaitu kopš pirmās Delphi versijas, kas izveidota Windows 16 bitu versijai un kas bija novatorisks produkts, kas apvienoja komponentu pieeju un kompilāciju mašīnkodā. Tagad mēs atbalstām ne tikai Windows, bet arī Macintosh izstrādi, nemaz nerunājot par tīmekļa izstrādi un lietojumprogrammu izveidi mobilās ierīces, un šīm lietojumprogrammām dažādām platformām var būt viens kods.

Jaunā izstrādes platforma FireMonkey ir Embarcadero un nesen iegādātās Krievijas firmas KSDev kopdarbs no UlanUde, kas ir komponenšu ražotājs vektorgrafika, DirectX un OpenGL, grafisko efektu radīšanas tehnoloģijas un Delphi sastāvdaļas izmantojot GPU ar PixelShader 2.0. Pirms gada iegādājāmies uzņēmumu KSDev (sk. ksdev.ru) un sākām sadarbību izveidot vairāku platformu izstrādes rīku, kas ietver FireMonkey aplikāciju izstrādes platformu ar Delphi un C++Buider komponentiem lietojumprogrammu lietotāja interfeisa izveidei, datu bāzes integrācijai, GPU grafikas apstrādei un operētājsistēmas integrācijai.

Izmantojot FireMonkey, varat izveidot lietojumprogrammu, kas darbojas kopā ar CPU un GPU, un pēc tam izmantot dažādus kompilatorus un izpildlaika bibliotēkas (RTL), lai to kompilētu operētājsistēmai Windows, Mac OS vai iOS. Tā vietā, lai mācītos programmēt, izmantojot dažādas grafikas bibliotēkas, apgūtu dažādu platformu API, kurām ir dažādas koordinātu sistēmas un dažādas iespējas, izstrādātāji, kas izmanto Delphi un C++Builder, var izmantot vienu un to pašu uz komponentiem balstītu pieeju, vizuāli rediģējot veidlapas un izveidojot savienojumu ar datu bāzēm, izmantojot pārvietojot komponentu ar peli. Tas ir principiāli jauns veids, kā izveidot lietojumprogrammas, kas darbojas dažādās platformās, un tā ir nākotne. Ja vēlaties savai lietojumprogrammai pievienot atbalstu citām operētājsistēmām un platformām, jums tas nav jāizstrādā un jāizstrādā vēlreiz – jums vienkārši ir jāpārkompilē.

Mēs veidojam jaunus kompilatorus, kas ģenerē vietējo kodu. Šodien ir Delphi kompilatori 32 un 64 bitiem Windows versijas, 32 bitu Mac OS 10 versijas. Un mēs strādājam pie nākamās paaudzes Delphi un C++Builder kompilatoriem, kas ļaus jums izveidot augstas veiktspējas mašīnkodu gan šīm, gan citām platformām, piemēram, Android vai Linux, un saglabājiet to pašu dizainu, tos pašus komponentus, vienu un to pašu kodu, izmantojot dažādus kompilatorus un izpildlaika bibliotēkas.

Kā redzat, man ir pietiekami daudz iemeslu entuziasmam. Un izstrādātāji, kurus es sastopu visā pasaulē, zina, ka Embarcadero iegulda lielus līdzekļus Delphi un C++Builder, kā arī PHP izstrādes rīkos.

KP: Kādus panākumus esat guvis, integrējot abu uzņēmumu rīkus pēdējo divu gadu laikā? Kādi ir Embarcadero nākotnes plāni šajā jomā?

DI.: Laikā, kad CodeGear kļuva par Embarcadero daļu, uzņēmumam bija izstrādes komandas Toronto, Monterejā un Rumānijā, mēs atradāmies un joprojām atrodamies Scotts Valley un Krievijā, Sanktpēterburgā. Embarcadero bija rīki izstrādātājiem un datu bāzu administratoriem, CodeGear bija rīki lietojumprogrammu izstrādei, bet pēdējie izmanto arī datu bāzes. Uzņēmumu apvienošana ir ekspertīzes, zināšanu datubāzu jomā, koda optimizācija, ieskaitot servera kodu, apvienojums. Uzņēmumu apvienošanās rezultātā tika izveidots arī jauns produkts AppWave, kas ir īpaša tehnoloģija parastās Windows lietojumprogrammas pārvēršanai par kaut ko ļoti viegli lietojamu (piemēram, iPhone vai citu ierīču lietojumprogrammām). AppWave ļauj neinstalēt lietojumprogrammu, bet vienkārši to atlasīt un palaist no sagatavotā lietojumprogrammu krātuves servera (lietotnes), un tā tiks izpildīta lietotāja datorā, neveicot izmaiņas tās reģistrā un sistēmas apgabalā. failu sistēma. Starp citu, AppWave lietojumprogrammu pārlūkprogramma ir rakstīta Delphi. Embarcadero izmanto Dephi savai attīstībai un mūsu lietojumprogrammu izstrādes pieredzei.

iPhone (iOS) lietojumprogrammu izveidoja
izmantojot FireMonkey platformu

Varat arī izmantot mūsu izstrādes rīku un DB optimizētāja integrāciju, lai optimizētu SQL vaicājumus, veidojot lietojumprogrammas. Nosūtot SQL kodu tieši DB optimizētājam, varat to profilēt, pārbaudīt un atgriezt optimizēto versiju atpakaļ savā izstrādes vidē. Embarcadero pieredze datubāzē ir arī uzlabojusi DataSnap tehnoloģiju. Pateicoties izstrādātājiem no Toronto, mēs ieguvām daudz zināšanu par daudzpakāpju sistēmu un datu bāzu arhitektūru. Tagad mums ir kopīga pieredze servera koda un saglabāto procedūru izveidē abos uzņēmumos. Mums ir tādi rīki kā RapidSQL un DB Change Manager, kā arī izstrādes vides, kas vienkāršo servera koda izveidi, piemēram, Code Insight un Code Completion tehnoloģijas ļāva izveidot SQL ieskatu un SQL pabeigšanas tehnoloģijas. Mūsu kopīgās pieejas klienta un servera koda izveidei, mūsu kopīgā filozofija ļauj mums piešķirt kopīgas iezīmes datu bāzes pārvaldības rīkiem un lietojumprogrammu izstrādes rīkiem.

Kirils Ranņevs: Es gribu piebilst kaut ko svarīgu. No komerciālā viedokļa ļoti svarīgi ir tas, kā mēs piegādājam savus rīkus. Piemēram, jauns izlaidums RAD Studio XE 2 Ultimate ietver pilnu DB Power Studio rīku komplektu. Šis ir ļoti jaudīgs rīku komplekts, tostarp RapidSQL vaicājumu izstrādes vide, DB Change Manager izmaiņu pārvaldības rīks un DB optimizētāja vaicājumu optimizācijas rīks, kas ļauj veikt svarīgu izstrādes un izvietošanas procesa daļu, pārvaldot izmaiņas datu modelis, datu bāze, kods un tā tālāk. Šī ir ļoti laba un pareiza tehnoloģiju kombinācija.

DI.: Bet, ja nepieciešams, izstrādātāji var izmantot Subversion versiju kontrolei avota kods un DB izmaiņu pārvaldnieks metadatu versijām. Varat izmantot koda profilēšanu un DB optimizētāju, lai optimizētu servera kodu, RapidSQL, lai izveidotu un atkļūdotu servera kodu, un mūsu izstrādes vides, lai izveidotu un atkļūdotu lietojumprogrammas. Šī tehnoloģiju kombinācija RAD Studio XE Ultimate Edition demonstrē paralēles starp datu bāzes un lietojumprogrammu izstrādes modeļiem. Lielākā daļa izstrādātāju, kas veido biznesa lietojumprogrammas ar Delphi un C++Builder, strādā ar datu bāzēm, un tiem ir nepieciešami šie rīki, un RAD Studio XE Ultimate Edition ir lieliska kombinācija šādiem izstrādātājiem.

KP: Mūsdienu lietotājs vairs nav tikai Windows platformas lietotājs. Mēs izmantojam mobilās ierīces, iPhone, iPad, ierīces, kuru pamatā ir Android platforma. Tas nozīmē, ka izstrādātājiem jāsāk orientēties uz dažādām platformām, būtiski nepalielinot ieguldījumus apmācībā – tas ir, ir nepieciešami universāli rīki. Acīmredzot ir nereāli gaidīt no platformu ražotājiem universālus rīkus, un šajā jautājumā varam paļauties tikai uz neatkarīgiem instrumentu ražotājiem. Kā mēs varam paļauties uz Embarcadero?

DI.: Mums joprojām ir daudz darāmā platformas atbalsta ziņā. Šodien mēs ieviešam atbalstu iOS platformai iPhone un iPad, tad mūsu atbalstu saņems viedtālruņi, kuru pamatā ir Android platforma, Windows 7 un Blackberry. Programmā RAD Studio XE 2 mēs sākām, izveidojot FireMonkey platformu operētājsistēmai iOS, un pēc tam pievienosim FireMonkey citām platformām.

Tajā pašā laikā ir liels skaits operētājsistēmu, kas atbalsta tālruņu skārienekrānus, planšetdatori un galddatoriem, un mēs turpināsim tām pievienot atbalstu. Turklāt ir balss, kustības, biometriskās sistēmas, akselerometri, tāpēc mums ir jāturpina paplašināt FireMonkey, lai visi izstrādātāji varētu izmantot jauno platformu priekšrocības. Piemēram, Microsoft Kinect ierīce tika izstrādāta Xbox 360, un tagad ir atbilstošs SDK (Software Development Kit) operētājsistēmai Windows. Un mums jau ir piemēri, kur mēs izmantojam kustību, lai vadītu lietojumprogrammu tādā pašā veidā, kā parasti tiek izmantota pele vai tastatūra.

Kad veidojat lietojumprogrammas ar daudz sarežģītu grafiku, jūs ģenerējat veselu jaunu lietotāja interfeisu pasauli. Ja mums ir darīšana ar operāciju zāli Windows sistēma, mēs iekapsulējam tā pielietojumu programmatūras interfeiss Windows API VCL bibliotēkā (Visual Component Library — vizuālo komponentu bibliotēka, kas ir daļa no Delphi un C++Builder izstrādes rīkiem. - Piezīme ed.), ko, starp citu, var izmantot tālāk. Un FireMonkey mēs iekapsulējam operētājsistēmas API. Bet šodien mēs daudz plašāk manipulējam ar formām un grafiku. Animācijas un specefektu vietai varat pievienot arī fiziskas īpašības. Turklāt lietotāja interfeisu izveidei ir pieejams milzīgs skaits citu papildu iespēju, kuras mēs gatavojamies ieviest tuvāko gadu laikā dažādām platformām, mobilajām ierīcēm un planšetdatoriem.

Microsoft nesen paziņoja Detalizēta informācija par Windows 8, kas iznāks pēc gada. Mēs atbalstīsim šos jauninājumus VCL bibliotēkā un FireMonkey platformā. Bet Delphi ir izstrādes rīks, kas paredzēts ne tikai Windows, bet arī Macintosh, iPhone un iPad. Mēs arī izstrādājam savus PHP produktus, atbalstām jQuery Mobile, izmantojam iOS API, lai izstrādātu mobilo klientu lietojumprogrammas, un veidojam servera puses PHP lietojumprogrammas, izmantojot vedņus un rīkus, lai ģenerētu klienta puses JavaScript, HTML un kaskādes stila lapas. Mēs varam izveidot pakotnes no PHP lietojumprogrammām un klientu lietojumprogrammām ar vietējo kodu iPhone iOS, un šāds klients sazināsies ar PHP serveris. Un viņš, savukārt, sazināsies ar datu bāzes serveri un ar tīmekļa pakalpojumiem - ar visu, kas nepieciešams biznesam.

RadPHP XE2 izstrādes vide. Mobilās tīmekļa lietojumprogrammas izveide
izmantojot jQuery Mobile komponentus iPhone 3G

Citiem vārdiem sakot, mēs plānojam paplašināt FireMonkey un VCL iespējas, tostarp atbalstu mobilajām platformām.

KP: Vai jūs varētu mums pastāstīt vairāk par FireMonkey platformu?

DI.: Kā jau minēju, operētājsistēmai Windows izveidotā VCL bibliotēka turpinās attīstīties un pilnveidoties. Bet šodien, ja vēlaties reālu biznesa aplikāciju izstrādi, jums tās ir jāizveido dažādām platformām. Tam ir paredzēta FireMonkey platforma. Tā atbalsta augstas izšķirtspējas lietotāja saskarņu, augstas veiktspējas 3D grafikas, augstu kadru nomaiņas ātrumu un, kas ir svarīgi, šim nolūkam izmanto grafikas procesoru.

Šādas iespējas varat izmantot, veidojot zinātnes, inženierijas un biznesa lietojumprogrammas. Šādas lietojumprogrammas var izveidot savienojumu ar datu bāzēm, izmantojot dbExpress tehnoloģiju, joprojām izmantojot izstrādātājiem pazīstamus nevizuālus komponentus, piemēram, ClientDataSet vai DataSource, izmantot DataSnap tehnoloģiju, izveidot savienojumu ar jebkuru datu bāzi, SOAP un REST serveriem. Varat izveidot pievilcīgus vadības elementus, pogas ar lodziņu, neparastas tabulas un citus interfeisa elementus gan divās, gan trīs dimensijās. Varat ielādēt gatavu 3D modeli lietotnē un savienot to ar 2D formu, kurā varat to pagriezt un skatīt no dažādiem leņķiem. Varat izveidot datu kubu vai 3D biznesa diagrammu un pagriezt to, izmantojot peli, tastatūru vai pat Kinect ierīci, vai arī varat iekāpt kubā un aplūkot tā dažādās virsmas no iekšpuses. Un to visu var izdarīt, izmantojot ātrgaitas GPU. Pēc tam to pašu lietojumprogrammu var kompilēt citai platformai, piemēram, Mac OS.

Lietojumprogramma, kas satur rotējošu datu kubu,
novietots uz tā malām

Vai arī varat izveidot 3D formu no jauna un izmantot kameras un gaismas, lai apgaismotu un pagrieztu lietotāja interfeisa daļas. Veidlapu izstrādātājam jau ir iebūvēta vide, kas atbalsta 3D lietotāja interfeisu projektēšanas laikā.

Operētājsistēmā Windows darbam ar divdimensiju grafiku augstas izšķirtspējas varat izmantot Direct2D bibliotēkas un 3D grafika- Direct3D. Operētājsistēmā Mac OS Quartz un OpenGL bibliotēkas tiek izmantotas tiem pašiem mērķiem. Operētājsistēmā iOS tiek izmantotas Quartz un OpenGL ES bibliotēkas. Taču tas viss tiek slēpts no izstrādātāja – viņš izmanto FireMonkey platformu, tās koordinātu sistēmu un aplikāciju programmēšanas saskarni, nedomājot par šīm bibliotēkām, un var sastādīt vienu un to pašu aplikāciju dažādām platformām.

Atcerēsimies, kas ir VCL. VCL ir Windows API komponentu iesaiņojums. Mēs nodarbojamies ar resursiem, izvēlnēm, dialoglodziņiem, krāsām, stiliem, Windows ziņojumiem. Tā kā FireMonkey ir vairāku platformu ietvars, atšķirībā no VCL, tas saglabā tos pašus notikumu un komponentu modeļus, ļaujot domāt par notikumiem (piemēram, OnClick, OnHasFocus, onMouseDown un onKeyDown notikumiem), bet apstrādā Macintosh vai iPhone notikumus.

Komplektā ir arī FireMonkey platforma pilnīga sistēma lietotāja interfeisa elementu animācija. Tā noteikti nav visaptveroša Pixar stila animācijas sistēma, taču tā pieļauj tādus efektus kā bitkartes animācija, lietotāja interfeisa elementu fokusa izcelšana un vektorgrafika. Izstrādātājam ir pieejami vairāk nekā 50 vizuālie efekti: izplūšana, attēla pārvēršana melnbaltā, šķīdināšana, pārejas, atspulgs, ēnu veidošana – visa veida efekti, kas pieejami mūsdienu grafikas procesoros, kas tagad ir atrodami gandrīz jebkurā datorā. Lietojumprogramma, kas izveidota, izmantojot FireMonkey platformu, nosūta komandas uz GPU, kas veic visu grafikas attēlošanas un lietotāja interfeisa izveides darbu. Kurā Procesors bezmaksas aprēķiniem un zvaniem uz operētājsistēmu. Izstrādātājs komponentus var ievietot tikai pareizi.

Pats galvenais FireMonkey platformā ir veids, kā tā veido lietotāja interfeisu. Ir naktsmītnes rastra grafika uz saskarnes elementiem, piemēram, izvēlnēm, pogām un ritjoslām. Uzņēmumā FireMonkey šim nolūkam mēs izmantojam ar GPU darbinātu vektorgrafiku. No programmēšanas viedokļa tās joprojām ir tās pašas vadības ierīces, taču visu darbu, lai tās parādītu, veic grafikas procesors. Mēs varam lietot stilus vadīklām, likt lietojumprogrammai izskatīties kā lietojumprogrammai operētājsistēmai Mac OS vai Windows, izveidot savu stilu, lietot savus stilus saskarnes elementiem (piemēram, padarīt pogu taisnstūrveida vai apaļu, mainot tās stilu veidlapu redaktorā ) - šim Izstrādes vidē ir stila redaktors. Varat izveidot savu stilu vai mainīt jau pabeigtas lietojumprogrammas stilu.

FireMonkey platforma — izstrādes rīki
un atbalstītās platformas

Ja atceraties, VCL bibliotēkā bija ierobežots skaits vadīklu - konteineru (tas ir, kas ļāva tajos ievietot citus elementus), un FireMonkey katra vadīkla ir konteiners. Tas nozīmē, ka katra vadīkla var saturēt jebkuru citu vadīklu. Piemēram, nolaižamā saraksta elementos var būt attēli, pogas, rediģēšanas lauki un citas vadīklas. Varat arī novietot komponentus slāņos.

FireMonkey renderēšanas sistēma ir diezgan elastīga – tā var izmantot Direct2D, Direct3D un OpenGL bibliotēkas, nosūtot komandas uz GPU. Lai to pašu panāktu VCL, bija jāģenerē atsevišķs ārpusekrāna buferis, jāizveido tajā attēls, izsaucot atbilstošās grafikas bibliotēkas funkcijas, un pēc tam tas jāparāda formā.

FireMonkey atbalstīto grafisko efektu piemēri

Ja jums nav GPU, joprojām varat lietot 2D vai 3D formas un izmantot FireMonkey vadīklas. Šādā gadījumā FireMonkey platforma izmantos GDI+ bibliotēkas vai citas līdzīgas bibliotēkas un veiks tādus pašus efektus un animācijas vai manipulācijas ar 3D objektiem.

Vēl viena FireMonkey iezīme ir jauna sistēma saskarnes elementu saistīšana ar datiem, atvērta un elastīga. VCL ir divu veidu saskarnes elementi: ar datiem saistīti un ar datiem nesaistīti (piemēram, TDBEdit un TEdit). Programmā FireMonkey katru vadīklu var saistīt ar jebkura veida datiem. Tā varētu būt vienkārša izteiksme, lauks no datu kopas, dati no izstrādātāja izveidotiem objektiem vai metodes izsaukumu rezultāti.

Turklāt, veidojot aplikāciju, tajā var ielādēt jau gatavu 3D modeli un to izmantot – šādas iespējas bieži vien ir nepieciešamas gan biznesa, gan inženierzinātņu aplikācijās. Mums ir klients, kas veido lietojumprogrammas loģistikai. Viņiem bija Informācijas sistēma, kas būvēts, izmantojot Delphi, un tajā - aplikācija, kas zīmēja plānu un attēloja informāciju no datu avotiem. Viņi nesen izdarīja ko interesantu – uzzīmēja pilnībā automatizētu 3D noliktavu AutoCAD, un to aplikācija ļauj redzēt, kā automatizētais autokrāvējs pārvietojas pa noliktavu un novieto preces plauktos. Un viņi ievieto datus no avotiem attiecīgajā attēlā.

Lietojumprogrammu stilu maiņas piemēri

KP: Kādi 3D modeļu formāti pašlaik tiek atbalstīti?

DI.:Šajā laidienā mēs atbalstām modeļu ielādi no AutoCAD, Collada (atvērtā koda 3D modelēšanas rīks. - Piezīme rediģēt.), Maya, OBJ formāts, ko atbalsta daudzi 3D grafikas pārdevēji.

KP: Kādus citus formātus plānojat pievienot?

DI.: Plānojam pievienot 3DS (3D Studio MAX), SVG (parasti šis formāts tiek izmantots 2D vektorgrafikai, bet dažreiz arī 3D), Google SketchUp. Varbūt mēs atbalstīsim citus formātus.

KP: Vai 3D modeļu izmantošanai lietojumprogrammās, kas veidotas ar FireMonkey, ir nepieciešama attiecīgā 3D modelēšanas rīka licence?

DI.: Nē, tas neprasa. Viss, ko mēs darām, ir nolasīt modeļa failu. Mēs importējam modeli, bet neeksportējam (lai gan, protams, jūs varētu uzrakstīt lietojumprogrammu, kas saglabā modeli jūsu formātā). Mēs nepretendējam par 3D modelēšanas rīku ražotāju - šim nolūkam varat izmantot AutoCAD, 3D Studio Max, Maya vai jebkuru citu 3D modelēšanas rīku, un izveidotos modeļus importēt mūsu aplikācijās.

KP: Cik efektīvas ir lietojumprogrammas, kas izveidotas, izmantojot FireMonkey mūsdienu aparatūras platformās?

DI.: Produktivitāte ir diezgan augsta. Piemēram, 3D formas renderēšana ar trim sfērām un trim gaismas avotiem MacBook Pro var veikt ar ātrumu 100 kadri sekundē. Vai arī tas var sasniegt 600 — tas ir atkarīgs no tā, ko tieši mēs darām. Atkal, tas viss ir atkarīgs no GPU jaudas.

KP: Vai tas nozīmē, ka varat izveidot modernas spēles, izmantojot FireMonkey?

DI.: Mēs nepozicionējam savus izstrādes rīkus kā spēļu rīkus. Tomēr, izmantojot moderno GPU augsto veiktspēju, jūs varat izveidot spēles, izmantojot FireMonkey - galu galā tās tiek veidotas, izmantojot Direct3D vai OpenGL.

KP: Kādu darbu jūs pašlaik darāt žestu atpazīšanas un citu jaunu lietu atbalsta jomā? Vai šāds atbalsts ir pieejams?

DI.:Šajā laidienā mums vēl nav žestu atbalsta. Žestu vadīklas tiks pievienotas nākamajā FireMonkey laidienā, taču tikmēr varat izmantot operētājsistēmā iebūvēto žestu atbalstu.

Mihails Filippenko, Fast Reports, Inc direktors.

K.R.: Jau teicām, ka FireMonkey tehnoloģijai ir krievu saknes – tās pamati tika radīti mūsu valstī, un tad gan pati tehnoloģija, gan tās izstrādātāji pievienojās Embarcadero. Kopumā ir patīkami redzēt krievu komponentes pieaugumu RAD Studio un Delphi. Tas ietver mūsu attīstības centra darbību Sanktpēterburgā un neatkarīgo Krievijas izstrādātāju ieguldījumu. Piemēram, Rad Studio XE2 ietver FastReport atskaišu ģeneratoru – pazīstamu visā pasaulē un ļoti populāru mūsu valstī. Viņš ir no Rostovas pie Donas.

KP: Es gribētu runāt par kompilatoriem. Kāds kompilators tiek izmantots, veidojot iOS lietojumprogrammas?

DI.: Mums nav sava Delphi kompilatora iPhone vai iPad — mēs vēl neesam izstrādājuši kompilatorus šajās ierīcēs izmantotajiem ARM procesoriem. Operētājsistēmā iOS mēs īslaicīgi izmantojam Free Pascal kompilatoru un izpildlaika bibliotēku. Bet mēs strādājam pie nākamās paaudzes kompilatoriem, tostarp AWP procesoriem. Bet ir kompilatori operētājsistēmai Windows un Mac OS, jo abas aparatūras platformas ir balstītas uz Intel procesoriem.

KP: Kas pēdējos divos gados paveikts kompilatoru veidošanas jomā?

DI.: Mums ir 32 un 64 bitu Delphi kompilatori operētājsistēmai Windows un Mac OS. Un mēs strādājam pie jaunas Delphi un C++ kompilatoru paaudzes. Tie joprojām tiek izstrādāti, taču, kad tie būs pabeigti, mums būs Delphi kompilatori ARM procesoriem, Android platformām, Linux un visam pa vidu. Un mums būs 64 bitu C++ kompilatori operētājsistēmai Windows un citām platformām, kas ir saderīgi ar jaunāko C++ valodas standartu, ko tikko pieņēma ISO.

KP: Kas šodien notiek ar mākoņdatošanas atbalstu Embarcadero izstrādes rīkos?

DI.: Programmā RAD Studio XE 2 mēs atbalstām lietojumprogrammu pārvietošanu uz Microsoft Azure vai Amazon EC2 mākoni, izmantojot platformas palīgu. Un mums ir servera komponenti Cloud Storage for Azure un Amazon S3 tabulu, bināro datu un ziņojumu rindu glabāšanai. IN iepriekšējā versija Izmantojot RAD Studio XE, mēs arī atbalstījām lietojumprogrammu izvietošanu Amazon EC2, taču tai trūka krātuves atbalsta.

Mākoņdatošanas atbalsts programmā RAD Studio XE 2

KP: Pirms diviem gadiem jūs runājāt par jauno All-Access risinājumu. Cik populārs tas bija? Kādas ir tās priekšrocības sistēmu integratoriem un izstrādātājiem?

DI.: All-Access risinājums un AppWave mākoņa rīks tiek plaši izmantoti visā pasaulē. Tie ir izstrādāti, lai atvieglotu mūsu pašu un trešo pušu lietojumprogrammu lietošanu. Faktiski tas ir risinājums licenču un lietojumprogrammu lietojuma pārvaldīšanai, un tas ir ērts lielie uzņēmumi. Mazāki uzņēmumi, kuriem nav īpašu cilvēku grupu, kas atbild par lietojumprogrammu pārvaldību, var ievietot lietojumprogrammu repozitorijā, atlasīt lietotājvārdus no datu bāzes un padarīt šīs lietojumprogrammas pieejamas, neatceroties, kur. licences atslēga un cik licenču ir pieejamas. All-Access un AppWave pārlūks ir izstrādāti, lai pārvaldītu gan versiju izveidi, gan piekļuves kontroli.

K.R.: Tirgus ir tik daudzveidīgs un lietotāji ir tik dažādi, ka ar vienu risinājumu nav iespējams segt visas vajadzības. Tāpēc mēs tiecamies pēc daudzveidīgiem iepakojuma risinājumiem. Esam paveikuši lielu darbu, lai vienotu licencēšanas, licenču pārvaldības un produktu uzstādīšanas metodes. Šī risinājumu līnija ietver licenču un nodrošinājuma pārvaldības rīkus ne tikai Embarcadero produktiem, bet arī jebkuram citam produktam, tostarp uzņēmuma iekšējai izstrādei.

Joprojām turpinās darbs pie iepakojuma izstrādes rīkiem, lai izveidotu efektīvus komplektus lietotājiem. Mums ir All-Access — superkomplekts, kas apvieno visus Embarcadero produktus. Ja klients iegādājas All-Access Platinum, viņš saņem visus Embarcadero rīkus. Bet dažreiz šis komplekts izrādās lieks, piemēram, datubāzes speciālistiem esam izveidojuši vēl divus komplektus - DB Power Studio Developer Edition un DB Power Studio DBA Edition. Atšķirība starp tiem ir tāda, ka izstrādātājam mēs piedāvājam RapidSQL - rīku servera koda izstrādei, savukārt administratoram ir iebūvēts DBArtizan - datu bāzes administrēšanas rīks, plašāks produkts nekā RapidSQL. Profesionāļiem mums ir šādi All-Access komplekti: komplekts, kas ietver visus produktus, DB Power Studio izstrādātājiem, DB Power Studio administratoriem, ER Studio Enterprise Edition arhitektiem un ikvienam, kas iesaistīts modelēšanā. Ir kombinācijas lietojumprogrammu izstrādei un administratoriem. Delphi ir izstrādātāju rīks, un ir ļoti lietderīgi tam pievienot SQL izstrādes un optimizācijas rīkus. Visbeidzot, DB izmaiņu pārvaldnieks ir loģisks rīks, lai pārvaldītu to izmaiņu sarežģītību, kas notiek datu bāzēs to dzīves cikla laikā.

Tādējādi All-Access ir lielas dažādu produktu komplektu grupas vadītājs.

KP: Ja nav noslēpums, kurš Krievijā izmanto All-Access?

K.R.: Mums ir klienti, kuri iegādājās All-Access, pamatojoties uz Delphi. Daudzi no tiem veido sarežģītas klienta-servera sistēmas ar SQL serveris un Oracle, un viņiem uzreiz iepatikās mūsu starpplatformu datu bāzes rīki. Mums ir klientu uzņēmums, kas strādā ar Delphi kopš pirmās versijas, un pirms gada tas pārgāja no izmantojot Delphi uz All-Access komplektu. Divi rīki, kurus garantēti izmantos visi šī uzņēmuma izstrādātāji, ir Delphi un DArtisan. Un ir klienti, kuri nāca uz All-Access no datu bāzes puses. Viņu galvenais uzdevums ir administrēt datu bāzes, taču dažreiz viņi izstrādā arī lietojumprogrammas. Klienti, kas izmanto All-Access, ir mediju uzņēmumi, inženiertehniskie uzņēmumi un citas nozares.

Atsevišķi es vēlētos pievērsties maziem uzņēmumiem. Ļoti bieži mazās komandās izstrādātājs dara visu, un šāds uzņēmums dažkārt iegādājas lielus All-Access produktu komplektus vienam vai diviem izstrādātājiem. Lielās komandās izstrādātājam nav mudināts pildīt arī, piemēram, datu bāzes administratora lomu, tāpēc tur parasti populāri ir nelieli produktu komplekti, bet mazos uzņēmumos šāda pienākumu kombinācija ir visai pieņemama.

Delphi Architect ir plaši tirgots produkts, kas ietver modelēšanas un programmēšanas rīkus. Tomēr pārdoto kopiju skaits ir mazāks nekā Delphi Enterprise versijai, taču tas ir arī liels. Vēlos atzīmēt, ka 2010. gadā mēs izrādījās labākā valsts pēc pārdošanas apjoma, neskatoties uz to, ka visas valstis piedzīvoja krīzi. Šī izaugsme bija saistīta ne tik daudz ar ekonomiskiem faktoriem, bet gan ar to, ka 2009. gada beigās iznākusī RAD Studio XE versija izrādījās ļoti populāra. Un pagaidām mēs sagaidām turpmāku pārdošanas apjomu pieaugumu.

Esam spēruši vēl vienu saprātīgu soli, kas Krievijā ir ārkārtīgi populārs. Dažādu mūsu produktu versiju legalizācijas pakāpe ir atšķirīga: jo augstāka versija, jo legalizētāka tā ir, jo agrāk programmatūra ne tik aktīvi pirka. Sākot ar RAD Studio XE, licence attiecas uz versijām 2010, 2009, 2007 un pat Delphi 7, plaši izmantotu produktu.

Mūsdienās izstrādātāji saskaras ar faktu, ka viņiem ir gan jauni projekti, gan atbalsta projekti. Liels skaits projektu ir pārcelti no iepriekšējās versijas Delphi uz 7. versiju un paliek šajā versijā, turpinot strādāt ar salīdzinoši maziem resursiem. Neviens tos nepārvieto uz jaunākām versijām, taču tie tiek uzturēti dzīvotspējīgā stāvoklī. Un tagad par nelielu naudu (mazāk par Delphi 7 licences cenu) ļaujam iegūt gan RAD Studio XE, gan Delphi 7 - proti, legalizējam izstrādātāju gan jaunu projektu īstenošanai, gan atbalsta projektiem.

KP: Kā jūs vērtējat Embarcadero kopienas pašreizējo stāvokli?

DI.:Šī kopiena ir liela un ļoti prasīga. Viņiem visu vajag uzreiz – viņi ir izstrādātāji. Bet dažreiz ir nepieciešams ilgs laiks, lai kaut ko izdarītu pareizi.

Pirms dažiem gadiem mēs izmantojām Windows komponentu arhitektūru un ievietojām to Linux galddatoros. Tagad mēs redzam, ka tas nebija pareizais lēmums. Pareizais risinājums ir izveidot lietojumprogrammu platformu. Lietojumprogrammām pat dažādās platformās ir izvēlnes, logi, grafika, piekļuve tīklam un piekļuve ierīcei. Var būt dažādas platformas dažādi modeļi plūsmas kontrole vai izņēmumu apstrāde, bet lietojumprogrammas kodā mēs redzam tos pašus mēģinājuma blokus. Mūsu uzdevums ir atvieglot izstrādātājiem biznesa aplikāciju izveidi un kompilēšanu tām platformām, kurās tās paredzēts izmantot, neatkarīgi no tā, kā ir strukturēta attiecīgo procesoru instrukciju kopa un kādas vēl ir šo platformu iespējas. Un FireMonkey ir tieši tas, kas jums nepieciešams, lai atrisinātu šo problēmu.

KP: Ja uzņēmums izveido jaunu ierīci un vēlas, lai tā tiktu atbalstīta programmā FireMonkey, vai tas būs iespējams?

DI.: Ar jaunās paaudzes kompilatoriem, kuriem būs no platformas neatkarīgs priekšgals un no platformas atkarīga aizmugure, tas būs pilnīgi iespējams. Tikmēr katrai operētājsistēmai mēs no jauna izveidojam kompilatoru un izpildlaika bibliotēku.

Jebkurai modernai jaunai ierīcei, kā likums, ir grafika lietotāja interfeiss(daudziem no tiem ir divkodolu procesors un GPU) un standarta SDK izstrādātājiem. Tas atvieglo ierīces atbalsta izveidi FireMonkey. Ja jaunajā ierīcē ir tikai bibliotēkas divdimensiju grafikai, piemēram, Quartz, mēs varēsim atbalstīt šādu ierīci programmā FireMonkey, taču tas prasīs aptuveni vairākus mēnešus. Tomēr daudz kas ir atkarīgs no platformas: ne visas platformas atbalsta visas funkcijas, piemēram, iOS nav izvēlņu un dialoglodziņu, un šādu aplikāciju formās nevarēs ievietot atbilstošus komponentus.

KP: Vai ir kas mainījies politikā darbā ar partneriem? Kas tiek darīts, lai palielinātu jūsu produktu lietotāju īpatsvaru? Kas tiek darīts Krievijā?

DI.: Mūsu partneru ekosistēma ir plaša — ir simtiem tādu rīku un komponentu ražotāju, kas nav atrodami mūsu produktos, un mums ir tehnoloģiju partnerības programma. Tāpēc izstrādātājiem ir pieejams plašs komponentu, tehnoloģiju un rīku klāsts. Un risinājumi, ko viņi rada saviem klientiem, ir labāki nekā tad, ja viņi izmantotu tikai mūsu produktus. Un pārdošanai mums ir biroji daudzās valstīs, tālākpārdevēji un izplatītāji.

K.R.: Mums ir svarīgs nevis partneru skaits, bet gan katra konkrētā partnera darba kvalitāte. Pagaidām mēs vēlamies koncentrēties uz ciešu sadarbību ar esošajiem partneriem, lai gan partneru loks joprojām ir atvērts. Mums ir daudz partneru, un mums ir jāpalīdz viņiem tehnoloģiju jomā. Mēs strādājam ar izstrādātājiem, un viņi zina, ko vēlas, un zina, kas ir pieejams tirgū, un partneru iespējām ir jāatbilst tam.

Mums ir biznesa partneri, kuri ir nopietni ieguldījuši Embarcadero kā biznesa līnijā – viņi ir apmācījuši speciālistus, tirgojuši mūsu produktus, mērķtiecīgi darbinieki, kas atbild par šo līniju un uzrauga, kas notiek ar mūsu produktiem, cenrādi, mārketingu. Protams, viņi ir veiksmīgāki mūsu produktu pārdošanas jomā nekā uzņēmumi, kas mūsu produktus pārdod neregulāri.

KP: Deivid, Kiril, liels paldies par interesanto interviju. Ļaujiet man mūsu izdevuma un mūsu lasītāju vārdā novēlēt jūsu uzņēmumam turpmākus panākumus jūsu apbrīnojamo rīku izveidē, kas izstrādātājiem ir tik ļoti nepieciešami!

Natālijas Elmanovas uzdotie jautājumi

FireMonkey ir "jaunā Delphi" galvenā tehnoloģija. Lūdzu, pastāstiet mums par šīs fundamentāli jaunās bibliotēkas mērķiem, iespējām un tehniskajiem aspektiem. Pēc kāda laika, atskatoties pagātnē, cik grūts un pamatots bija jūsu atteikums tālāk attīstīt superpopulāro VCL?

Tas tika izvēlēts kā galvenais Delphi tehnoloģiju attīstības virziens, lai sasniegtu konkrētu mērķi – vairāku platformu izstrāde no vienas vides, balstoties uz vienotu pirmkoda bāzi, bez nepieciešamības veikt radikālu izstrādātāju pārkvalifikāciju. Tagad klasiskā un ļoti populārā VCL ietvaros tas nebija iespējams, tā saistība ar WinAPI bija pārāk cieša, varētu teikt, “ģenētiskā līmenī”.

VCL komponentiem nebija “abstrakta” ​​slāņa starp funkcionālo līmeni saskarnes ziņā un to parādīšanas mehānismiem. Funkcionālais līmenis— kā tas darbojas kā vadīkla, uz kādiem notikumiem tā reaģē, kāda veida lietotāja mijiedarbību tā nodrošina. Displejs— platformorientētas vizualizācijas metodes izsaukšana par noteiktu attēlu, ko veido rastra objekti un vektoru primitīvi. FireMonkey sākotnēji ieviesa principu stingri sadalīt kontroli divās daļās: “uzvedības” un “vizuālā”.


Vsevolods Ļeonovs, Embarcadero Technologies

Pirmais parasti atkārtos nevis VCL pamatus, bet gan objektorientētās programmēšanas būtību. Komponents ir klase; komponentu klases veido hierarhiju, kurā var atšķirt ģimenes un moduļus. Komponenta klase ir brīvi saistīta ar to, kā tā tiek renderēta.

Vizuālais “attēls” veidojas dinamiski, tas nav stingri ierakstīts komponentu klasē. FireMonkey attēls vai "stils" tiek ielādēts komponentā, startējot lietojumprogrammu. Mums ir sava veida funkcionāls rāmis komponentam, un "apvalku" vai "apšuvumu" var mainīt, bet kāpēc? Tas ir tāpēc, lai FireMonkey aplikācijas izskatītos autentiskas uz jebkuras platformas – Windows 7, Windows 8, Mac OS, iOS un tuvākajā nākotnē arī Android. To nevarēja nodrošināt tradicionālā VCL monolītā klases struktūra.

Šeit īpaša loma ir tehnoloģiskajai pieejai. Principā jūs varat paņemt VCL bibliotēku un "piebāzt" to ar WinAPI un visiem citiem iespējamiem platformas izsaukumiem. To joprojām var izdarīt ļoti ierobežotā komponentu apakškopā, taču VCL satur vairākus simtus komponentu, tāpēc šī pieeja varētu vienkārši “nogalināt” VCL. Tika nolemts nepieskarties VCL, bet izstrādāt jaunas iespējas uz jaunas platformas - FireMonkey. Šī tehnoloģija Tam pat piemīt zināma tehniska elegance – projekta komplektēšanas laikā konkrētai platformai Delphi IDE pieslēdz vajadzīgo kompilatoru, un saskarnes komponenti saņem platformas stilu.

Lietotājam tas ir viens peles klikšķis un tas pats avota kods; Delphi ir daudzu gadu smags izstrādātāju darbs, lai izveidotu šādu daudzplatformu bibliotēku.

Kad kļuva skaidrs, ka FireMonkey tiks ieviesta kā atsevišķa jauna platforma, bija jāizvēlas pareizā līdzāspastāvēšanas stratēģija: Embarcadero nekādā veidā nevēlējās negatīvi ietekmēt VCL lietotājus. Tāpēc esam izvēlējušies šādu plānu: VCL paliek ideoloģiski un arhitektoniski stabils, lai nodrošinātu pēc iespējas augstāku savietojamību, atvieglojot projektu migrēšanu uz modernām versijām. FireMonkey izstrāde notiks pa dabisku un paralēlu ceļu, neņemot vērā VCL.

Šī risinājuma vājā vieta ir diezgan problemātiskā migrācija no VCL uz FireMonkey viena projekta ietvaros. Taču jaunam projektam izstrādātājs var izvēlēties FireMonkey, lai nodrošinātu iegūtās lietojumprogrammas vairāku platformu raksturu. Pēc XE4 izlaišanas ar iOS atbalstu, iesākumam jau varam runāt par spilgtajām Delphi konkurences priekšrocībām mobilā attīstība korporatīvajā vidē, kas tiks palielināts pēc plānotā Android atbalsta ieviešanas.

Tāpēc nav acīmredzama “atteikuma” no VCL attīstības kā tādas. Jaunajās versijās attīstās arī Delphi VCL daļa. Tas ietver 64 bitu atbalstu, vizuālo komponentu stila ieviešanu, elastīgu dinamisku savienojumu jeb “saistīšanas” mehānisma ieviešanu un FireDAC bibliotēkas iekļaušanu darbam ar datu bāzēm VCL projektos. Vienkārši, salīdzinot ar FireMonkey milzīgo kvalitatīvo lēcienu, progress VCL šķiet nedaudz vājš. Bet, lai kā arī būtu, VCL ir neatņemama Delphi sastāvdaļa un tā paliks vēl daudzus gadus. Lai gan platformu attīstība un pašreizējais stāvoklis OS jomā par galddatoru sistēmas un mobilās ierīces ir tādas, ka nākotne noteikti ir FireMonkey.

Intervijā jau runājām par iOS atbalstu, pastāstīsim saviem lasītājiem par atbalstu citām jaunākajām tehnoloģijām no jaunākā RAD Studio XE4, piemēram, piemēram, Windows 8 un WinRT, 64 bitu sistēmām, MacOS un tā tālāk. Vai varat uzskaitīt, ko vēl varat piedāvāt mūsdienu, inovāciju izlutinātam programmētājam?

Visticamāk, mūsdienu programmētājs nav "lutināts" ar jauninājumiem. Priekš lielie projekti jebkura “inovācija” bieži vien rada milzīgu darba apjomu.

Piemēram, visi ilgi gaidīja, daudzi nekavējoties steidzās tulkot savus kodus jauna platforma. Taču izrādās, ka pat ļoti profesionālas komandas tam nav gatavas. 64 bitu koda kompilēšana nenozīmē darbu. “Jaunības grēki” sāka parādīties, piemēram, izmantojot norādījumus, pieņemot, ka adreses lielums ir 4 baiti. Pārbaužu kultūras trūkums kopā ar tehnoloģisko negatavību ieviest šo procesu īsā laikā.

Un šeit - jo lielāks ir projekts, ko mēra, teiksim, pēc avota koda rindiņu skaita, jo uzmanīgāki un līdzsvarotāki programmētāji ir ar dažāda veida jauninājumiem, sākot no “pogas” parādīšanās saskarnē līdz “sintaktiskajam cukuram”. kompilatorā.

Viens no šiem “problemātiskajiem” sasniegumiem bija operētājsistēmas Windows 8 izlaišana. Es personīgi kā datoru lietotājs un vienkārši moderns IT speciālists esmu sajūsmā par Windows 8. Bet izstrādātājiem, kuriem kā slodze tika nosūtīta datoru partija, kurā darbojas operētājsistēma Windows 8 ar specifikācijām izstrādei jaunajā OS, tas nozīmē zināmas grūtības.

Mēs centāmies nodrošināt šīs OS jaunās saskarnes izstrādes atbalstu pēc iespējas ērtāk un nesāpīgāk. Tāpēc ir ieviesti īpaši stili gan VCL, gan FireMonkey, un programmētājs var vai nu pārbūvēt lietojumprogrammas saskarni, vai izveidot jaunu lietojumprogrammu, kas nebūs atšķirama no Windows 8 “vietējās”. izskats. Protams, ir nepieciešams “vietējais” atbalsts operētājsistēmai Windows 8, izmantojot WinRT. Taču to ietekmē mērķu prioritāšu noteikšana mūsdienu apstākļos. Mac OS, iOS, Android tuvākajā nākotnē vēl neļauj runāt par pilnīgu WinRT atbalstu tuvākajā nākotnē.

Embarcadero stratēģiskais mērķis, protams, ir vairāku platformu. RAD Studio XE4 izlaišana bija svarīga, galvenokārt tāpēc, ka tā atbalsta iOS. Esošs programmētājs, kas izmanto VCL, dažu stundu laikā var sākt izstrādāt iOS. Pat vienkārši mobilā lietotne var uzreiz pārveidot par spēcīgu projektu, kas darbojas esošās infrastruktūras ietvaros. Nedomājiet, ka tas ir viegli jauns kompilators uz FireMonkey un jauns stils lai nodrošinātu atbilstību iOS saskarnei.

Tas ietver jaunu vizuālo noformētāju, iebūvētu atbalstu dažādiem formas faktoriem, datu piekļuves bibliotēkas, tostarp jauno FireDAC, un LiveBindings tehnoloģiju elastīgai un dinamiskai saistīšanai ar korporatīvajiem datiem. Visi šie jauninājumi tiek ieviesti vienlaikus — operētājsistēmām Windows, Mac OS un iOS. operētājsistēma Mac OS neattīstās tik strauji, tāpēc nav tādu problēmu kā pāreja no Windows 7 uz Windows 8. Bet viņi parādījās Tīklenes displeji, un tam bija jāpievērš īpaša uzmanība. Tagad jebkura MacOS lietojumprogramma, kas izveidota Delphi XE4, automātiski ietver divus stilus - “normālu” un “augstas izšķirtspējas”.

Tas. vienai un tai pašai lietojumprogrammai jebkurā ierīcē var būt tāda pati augstas kvalitātes “vietējā” saskarne galddators no Apple.

Embarcadero nevēlas “pārsteigt”, “pārsteigt” vai pat “izklaidēt” izstrādātājus ar saviem jaunajiem novatoriskajiem izdevumiem. Drīzāk, gluži pretēji, IT sfēra jau ir pilna ar dažādiem pārsteigumiem: jaunas ierīces, jaunas platformas, jauni lietotāji, viņu jaunās vajadzības, jauni mijiedarbības scenāriji. Pievienojiet tam jaunas programmatūras izstrādes tehnoloģijas, un programmētājiem vienkārši nebūs laika izveidot jaunas sistēmas un esošās - viss, ko viņi darīs, ir migrēt no vienas vides uz otru, no vecās bibliotēkas uz jaunu, no vienas valodas uz citu.

Bet mēs neapliecinām, ka noraidām visu jauno. Mēs tikai vēlamies nodrošināt nepārtrauktību visam - kodam, interfeisam, projektam, pat profesionālajām iemaņām, kad parādās jaunas platformas un ierīces. Varētu teikt, ka mēs cīnāmies ar neveselīgu konservatīvismu attiecībā uz jaunām platformām, izmantojot veselīgu konservatīvismu izstrādes rīkos. Negaidiet no Embarcadero eksotiskus produktus, nestandarta programmēšanas valodas vai neparastus izstrādes rīkus.

Pie mums jūs vienmēr atradīsiet vizuālo izstrādi, klasiskās valodas, “native” kodu un ļausiet savām lietojumprogrammu mērķa platformām, kas izveidotas tādā pašā pārbaudītā klasiskā veidā, būt jaunas.




Tops