Firemonkey sadədən mürəkkəbə doğru. FireMonkey nədir? yerli sinifləri fərdiləşdirmək üçün dəstəyin olmaması

FireMonkey nədir?


FireMonkey (FMX) Delphi/C++ dilindən istifadə etməklə həm masa üstü sistemləri (Windows, Mac OS + Linux-da server dəstəyi yaxın gələcəkdə planlaşdırılır) və həm də mobil (iOS və Android) üçün çarpaz platforma inkişafı üçün çərçivədir.

Xüsusiyyətlər:

  • bütün platformalar üçün vahid kod bazası;

  • istənilən nəzarət (vizual komponent) digər komponentlər üçün konteyner (ana) ola bilər;

  • formada komponentlərin çox inkişaf etmiş nisbi düzülüşünün (20 növ) olması;

  • LiveBinding sizə istənilən növ məlumatı və ya məlumatı istənilən istifadəçi interfeysinə və ya qrafik obyektlərə qoşmağa imkan verir;

  • forma/komponent üslublarının olması;

  • Multi-Device Preview hər bir platforma üçün vizual təqdimatı fərdiləşdirməyə imkan verir;

  • FireUI Live Preview - real vaxt rejimində real cihazlarda tətbiqin görünüşünü göstərir.

İmkanlar:

  • hər bir platformanın yerli API-sindən istifadə, həmçinin üçüncü tərəfin yerli kitabxanalarına zəng etmək imkanı;

  • bütün sensorlarla qarşılıqlı əlaqə (GPS, Accelerometer, Compass, Bluetooth (LE daxil olmaqla) və s.);

  • təkan bildirişləri, IoT dəstəyi;

  • asinxron HTTP sorğuları üçün dəstək;

  • əksər verilənlər bazası üçün dəstək (MsSQL, MySql, Oracle, PostgreSQL, MongoDB və s.);

  • bulud xidməti ilə işləmək (Amazon, Azure);

  • Android Xidməti dəstəyi.

Eksiler (hazırda):

  • yerli sinifləri fərdiləşdirmək üçün dəstəyin olmaması;

  • konkret şeylərin həyata keçirilməsi ya qeyri-mümkündür (vidjetlər, genişləndirmələr (iOS) və s.) və ya qavalla rəqs tələb olunur (fon xidməti, yayım mesajı və s.);

  • Splash ekranının (ilkin ekran) fərdiləşdirilməsi, yumşaq desək, çatışmazlıqdır;

  • FMX nəzarətləri vizual olaraq yerli birinə bənzəyən öz renderindən (vizuallaşdırma, rəsm) istifadə edir;

  • yerli idarəetmə vasitələrinin istifadəsi böyük bədən hərəkətlərini əhatə edir;

  • komponentlərin çoxlu yuvası olduqda, inanılmaz şeylər baş verir: proqram müxtəlif yerlərdə çökür, diqqəti itirir, donur və s.;

  • mobil platformalarda tətbiqin sazlanmasının məlumat məzmunu sıfırdır;

  • mobil platformalardakı səhvlərin təsviri yararsız "Xəta 0x00000X" səviyyəsinə endirilir;

  • tərtib müddəti orta və böyük layihələr üçün ən yaxşısı olmaq istəyir;

  • hər bir platforma üçün mobil tətbiqləri cilalamaq üçün fayldan istifadə ehtiyacı;

  • Intel Atom arxitekturasına dəstək yoxdur;

  • rəqiblərlə müqayisədə qeyri-adekvat qiymət.

Müsbət cəhətləri:

  • son zamanlar həm məhsulun, həm də cəmiyyətin çox fəal inkişafı, getdikcə daha çox yeni texnologiyalara dəstək;

  • çox sayda pulsuz və kommersiya komponentlərinin olması;

  • Tətbiqin sürəti yerli proqrama çox yaxındır;

  • çox inkişaf etmiş vizual redaktor və ümumiyyətlə mühit, üslubların olması;

  • bir tətbiqi Win-də sınamaq və yalnız bundan sonra inkişafı çox sürətləndirən cihazlarda yerləşdirmək imkanı;

  • bilək hərəkəti ilə rejimi/platformanı dəyişdirin;

  • PAServer Apple OS üçün inkişaf etdirərkən MacO-larla asan qarşılıqlı əlaqəni təmin edir;

  • Qutudan kənar 3D qrafika dəstəyi.

Sonda demək istəyirəm ki, son bir neçə il ərzində FireMonkey biznes proqramlarının cross-platform inkişafı üçün peşəkar bir vasitəyə çevrildi və daha çox. Bir çox çatışmazlıqlar tədricən aradan qaldırılır və hər buraxılışla məhsul daha müasir və özünü təmin edir və Delfi dilinin özünə qarşı uzun illər durğunluqla bağlı mövcud skeptisizm də aradan qalxır. FireMonkey-də yeni layihələr yazmaq "təhlükəsiz" və perspektivlidir.

Ötən ilin sentyabrında buraxılmış Delphi XE2 rekord sayda yenilikləri ehtiva edir.
Delphi XE2-nin imkanlarının qısa icmalı artıq Habré-də dərc olunub. Amma, açıq-aydın, ən diqqət çəkən yenilik FireMonkey platformasıdır və burada mən ona bir az diqqət yetirmək istərdim.
Mən ümid edirəm ki, bu platforma haqqında az-çox adekvat fikir əldə etməyə kömək edəcək materiallara kiçik bir keçid seçdim. Ancaq əvvəlcə xəbəri olmayanlar üçün FireMonkey-in nə olduğunu qısaca deyim.
Embarcadero Technologies FireMonkey-i Windows, Mac və iOS üçün zəngin biznes proqramları yaratmaq üçün platforma kimi yerləşdirir. Üstəlik, bu platforma hər bir OS üçün doğmadır, yəni. FireMonkey istifadə edərək yaradılmış proqram işlədərkən heç bir əlavə əlavələrdən istifadə edilmir.
FireMonkey birbaşa OpenGL və ya DirectX kimi yerli (OS nöqteyi-nəzərindən) qrafik kitabxanası ilə əlaqələndirir. Beləliklə, GPU baxımından ən yaxşı həll təklif olunur.
FireMonkey arxitekturasının əsasını güclü siniflər kitabxanası (vizual komponentlər daxil olmaqla) təşkil edir.
Kompilyasiya prosesi zamanı hədəf platforma seçilir.
FireMonkey-in ilk versiyası yalnız Win32, Win64, MacOSX və iOS-u dəstəkləyirdi, lakin Embarcadero onu gələcəkdə bir neçə başqa platformaya köçürməyi planlaşdırır.

Nəyi nəzərə almalısınız?

FireMonkey platforması 3D proqramların hazırlanması üçün geniş alətlər təqdim etsə də, onu oyun mühərriki hesab etmək olmaz. FireMonkey xüsusi olaraq biznes proqramlarının inkişafı üçün platforma kimi yerləşdirilib.
Məhsul hazırda təkamülünün ilkin mərhələsindədir. Və çoxları funksionallıq FireMonkey həm keyfiyyət, həm də kəmiyyət baxımından dəyişikliklərə məruz qalır.

Ümid edirəm ki, aşağıdakı linklər yeni platformanın əsas xüsusiyyətlərini anlamağa kömək edəcək.
Embarcadero saytında rəsmi məhsul səhifəsi (Rus)

İngilis dilli materiallar arasında seriyanı vurğulamaq istərdim (İngilis dili)

Nə görmək lazımdır?

Haqqında son versiya Delphi, məhsulun imkanlarına və onunla necə işləməyə həsr olunmuş daha çox video material var. Həm rəsmi, həm Embarcaderodan, həm də müstəqil tərtibatçılardan. YouTube-da FireMonkey haqqında çoxlu videolar var, sadəcə axtarışdan istifadə edə bilərsiniz. Bu material bolluğu arasında mən Marco Cantu - RAD in Action açılış səhifəsindən bir sıra üç videonu vurğulayacağam və bununla da tədqiqatıma faydalılıq vektoru verəcəyəm.

Yəqin ki, Embarcadero-nun çarpaz platforma GUI yaratmaqla bağlı yeni vizyonunu - FireMonkey ( onlar bunu çərçivə adlandırırlar, lakin indiki vəziyyətinə görə çox gözəl səslənir). RuNet-də bir-birinin ardınca müsabiqə elan olunur, vebinarlar keçirilir və sonuncunun keyfiyyəti arzuolunmaz olsa da, fəaliyyət həvəsləndiricidir. İndi, əslində, mövzuya. Son müsabiqənin bir hissəsi olaraq, öyrənmə üçün bir növ tətbiqin hazırlanması təklif edildi. Dünən isə müəllifi Yevgeniy Çmel ( Bu soyadın meylli olub-olmadığını bilmirəm). Əvvəllər görünən sadə "bir formada" olanlardan fərqli olaraq, burada meymunu bütün əzaları ilə dartmağa cəhd edildi: stilizasiya, 3D, şeyder effektləri ( Embarcadero evangelistləri GPU sürətləndirilmiş qrafika haqqında danışmağı sevirlər :))). Gəlin görək bundan nə çıxdı. Vebinarları izləməyənlər üçün kiçik bir ekskursiya edəcəm. Vebinarların birində Embarcadero evangelisti Vsevolod Leonov, Silverlight SDK və SDK-nın işləməsi səbəbindən "kompüteri yenidən başlatmaq məcburiyyətində qalması, xüsusən də çətin" (bu sitatdır) haqqında ürəkaçan bir hekayə danışdı. Windows emulyatoru Telefon 7 onun kompüterində "işləmədi" (bu sitatdır) çünki... Onlar video adapter və ya GPU parametrlərini bəyənmədilər. Lakin FireMokey istifadə edərək hazırlanmış proqramlar, Vsevolod davam edir, heç də tələbkar deyil aparat. Görək bizə necə yalan danışdı. Mark Rusinoviçdən Process Explorer v15.05 bizim qərəzsiz şahidimiz olacaq. Beləliklə, Evgeniy proqramını yükləyin və işə salın ( Mən Evgeni ərizəsinin ekran görüntülərini təqdim etmirəm, onlar onun işinə keçiddə mövcuddur. Bulanıq şriftlərə diqqət yetirin).

Tətbiqi işə saldı. Gəlin istehlaka baxaq:

Təvazökar deyil, amma bağışlaya bilərsən" qabaqcıl texnologiya" “Dərslər” bölməsinə keçin və “Dərs 5”i seçin. Səhnə hazırlığı başlayır. Bu proses uzundur ( 3.3 GHz tezliyi olan dördnüvəli Phenom II-də mənə bir dəqiqədən bir qədər çox vaxt lazım oldu.), səbirli olun. Səhnə tikilir. Gəlin istehlaka baxaq:

Meymun yaxşı qidalanırdı. Cox yaxsi. İndi siçanınızı cavab seçimi düymələri üzərində hərəkət etdirməyə çalışın. GUI çox ləng reaksiya verir, elə deyilmi? CPU istifadə qrafikinə baxın ( Demək istəyirəm ki, bunu özünüz, kompüterinizdə sınamalısınız) – bu anlarda onun yükü 100%-ə yaxınlaşır ( Dördnüvəli prosessor üçün ~21,5%-im var idi ki, bu da bir nüvəli üçün 86%-ə bərabərdir.). Ancaq kimsə bizə GPU sürətləndirilmiş qrafika haqqında danışdı. Yaxşı, davam edək. Dərsdə bütün suallara cavab veririk. Gəlin istehlaka baxaq:

Gözləriniz böyüdü? İndi müqayisə üçün baxın, FarCry 3D atıcı aktiv oyunla nə qədər istehlak edir ( kim maraqlanırsa səviyyə Fabrika adlanır) 1440x900 tam ekran rejimində işləyir:

Özünüz nəticə çıxarın.

Delphi, C++Builder və JBuilder kimi dünyaca məşhur alətlərin, həmçinin Interbase verilənlər bazası idarəetmə sisteminin yaradılmasına cavabdeh olan CodeGear bölməsi öz alətləri ilə tanınan Embarcadero Technologies-in bir hissəsinə çevrilməsindən üç ildən çox vaxt keçir. verilənlər bazası dizaynı və idarəsi üçün və jurnalımızın səhifələrində bu qədər məşhur olan alətlərin inkişafında nə gözlədiyini müzakirə etdiyimizdən iki il sonra Rus tərtibatçıları. Biz Embarcadero Technologies-in tərtibatçılarla əlaqələr üzrə vitse-prezidenti və baş müjdəçi David Intersimone və Embarcadero Technologies nümayəndəliyinin rəhbəri Kirill Rannevdən son iki ildə bu sahədə hansı yeniliklərin edildiyi və bundan sonra nələrin gözlənilməsi barədə danışmağı xahiş etdik. yaxın gələcək Rusiya. Ən gənc oxucularımız üçün nəzərinizə çatdırırıq ki, bu, David və Kirillin ComputerPress-ə verdikləri ilk müsahibə deyil - əməkdaşlığımız ikinci onillikdir ki, davam edir. Təxminən eyni sayda ildir ki, biz Embarcadero məhsullarına çox diqqət yetirilən verilənlər bazası idarəetmə vasitələrinin icmallarını vaxtaşırı dərc edirik.

ComputerPress: David, sizin bölməniz üç ildir ki, Embarcadero-nun bir hissəsidir. İki il əvvəl siz onun məqsədlərinizə və ruhunuza yaxın bir şirkətin bir hissəsi olmaqdan çox həvəsli idiniz. Bu müddət ərzində nəsə dəyişdi? Sizdə və həmkarlarınızda hələ də eyni həvəs varmı?

Bəli, mən hələ də çox həvəsliyəm. Embarcadero şirkətinin bir hissəsi olduqdan sonra baş verən əsas dəyişiklik Delphi-nin inkişafına çoxlu sərmayə qoyulmasıdır. İnkişaf alətləri üzərində işləyənlərin sayı artıb, inkişaf etdirə biləcəyimiz və ya lazım gələrsə, əldə edə biləcəyimiz texnologiyaların sayı artıb.

Moskvada nümayiş etdirməyi planlaşdırdığımız RAD Studio XE 2-nin buraxılışı Windows və Windows-un 16-bit versiyası üçün yaradılmış Delphi-nin ilk versiyasından bəri böyük imkanlara və çoxlu sayda dəstəklənən platformalara malik bu məhsulun ən böyük buraxılışıdır. komponent yanaşması və kompilyasiyanı maşın koduna birləşdirən innovativ məhsul idi. İndi biz yalnız Windows üçün deyil, Macintosh üçün də inkişafı dəstəkləyirik mobil cihazlar, və müxtəlif platformalar üçün bu proqramlar tək kod ola bilər.

Yeni inkişaf platforması - FireMonkey - Embarcadero və UlanUde-dən bu yaxınlarda satın alınmış Rusiya firması KSDev arasında birgə səydir. vektor qrafikası, DirectX və OpenGL, qrafik effektlərin yaradılması texnologiyaları və Delphi komponentləri istifadə edərək GPU PixelShader 2.0 ilə. Biz bir il əvvəl KSDev şirkətini (bax: ksdev.ru) aldıq və başladıq əməkdaşlıqlar proqram istifadəçi interfeysinin yaradılması, verilənlər bazası inteqrasiyası, GPU qrafiklərinin işlənməsi və əməliyyat sistemi inteqrasiyası üçün Delphi və C++Buider komponentləri ilə FireMonkey proqram inkişaf platformasını ehtiva edən çox platformalı inkişaf aləti yaratmaq.

FireMonkey-dən istifadə edərək, CPU və GPU-da birlikdə işləyən proqram yarada və sonra onu Windows, Mac OS və ya iOS üçün tərtib etmək üçün müxtəlif tərtibçilərdən və Run-time Libraries (RTL) istifadə edə bilərsiniz. Müxtəlif qrafik kitabxanalardan istifadə edərək proqramlaşdırmağı öyrənmək, fərqli koordinat sistemləri və fərqli imkanlara malik müxtəlif platformaların API-lərini öyrənmək əvəzinə, Delphi və C++Builder istifadə edən tərtibatçılar eyni komponent əsaslı yanaşmadan istifadə edə, formaları vizual olaraq redaktə edə və verilənlər bazasına qoşula bilər. komponenti siçan ilə hərəkət etdirin. Bu, müxtəlif platformalarda işləyən proqramlar yaratmağın prinsipcə yeni üsuludur və gələcəkdir. Tətbiqinizə digər əməliyyat sistemləri və platformaları üçün dəstək əlavə etmək istəyirsinizsə, onu yenidən dizayn edib inkişaf etdirməyə ehtiyac yoxdur - sadəcə onu yenidən tərtib etməlisiniz.

Doğma kodu yaradan yeni kompilyatorlar yaradırıq. Bu gün 32 və 64 bitlik Delphi kompilyatorları mövcuddur Windows versiyaları, Mac OS 10-un 32-bit versiyaları. Biz həm bu, həm də Android və ya Linux kimi digər platformalar üçün yüksək performanslı maşın kodu yaratmağa imkan verəcək Delphi və C++ Builder kompilyatorlarının növbəti nəsli üzərində işləyirik. eyni dizaynı, eyni komponentləri, eyni kodu müxtəlif kompilyatorlardan və iş vaxtı kitabxanalarından istifadə edərək saxlayın.

Gördüyünüz kimi, həvəs üçün kifayət qədər səbəblərim var. Və bütün dünyada tanış olduğum tərtibatçılar bilirlər ki, Embarcadero Delphi və C++ Builder-ə, eləcə də PHP inkişaf alətlərinə böyük sərmayə qoyur.

KP: Son iki ildə iki şirkətin alətlərinin inteqrasiyasında hansı uğurlara nail olmusunuz? Embarcaderonun bu sahədə gələcək planları nədən ibarətdir?

DI.: CodeGear Embarcadero-nun bir hissəsinə çevrildiyi vaxt şirkətin Toronto, Monterrey və Rumıniyada inkişaf qrupları var idi, biz Scotts Valley və Rusiyada, Sankt-Peterburqda yerləşirdik və hələ də yerləşirik. Embarcadero-da tərtibatçılar və verilənlər bazası administratorları üçün alətlər var idi, CodeGear-da proqramların inkişafı üçün alətlər var idi, lakin sonuncular verilənlər bazalarından da istifadə edirlər. Şirkətlərin birləşməsi təcrübənin, verilənlər bazası sahəsində biliklərin, kodun optimallaşdırılması, o cümlədən server kodunun birləşməsidir. Şirkətlərin birləşməsi həm də yeni məhsulun - AppWave-in yaradılmasına gətirib çıxardı ki, bu da adi Windows proqramını istifadə üçün çox asan bir şeyə (iPhone və ya digər cihazlar üçün proqramlar kimi) çevirmək üçün xüsusi texnologiyadır. AppWave sizə proqramı quraşdırmamağa, sadəcə onu seçib hazırlanmış proqram saxlama serverindən (tətbiq) işə salmağa imkan verir və o, reyestrinə və sistem sahəsinə dəyişiklik etmədən istifadəçinin kompüterində icra ediləcək. fayl sistemi. Yeri gəlmişkən, AppWave proqram brauzeri Delphi-də yazılmışdır. Embarcadero Dephi-dən öz inkişafı və tətbiqetmə təcrübəmiz üçün istifadə edir.

tərəfindən yaradılmış iPhone (iOS) proqramı
FireMonkey platformasından istifadə etməklə

Siz həmçinin proqramlar yaratarkən SQL sorğularını optimallaşdırmaq üçün inkişaf alətlərimizin və DB Optimizerimizin inteqrasiyasından istifadə edə bilərsiniz. SQL kodunu birbaşa DB Optimizer-ə ötürməklə siz onu profilləşdirə, sınaqdan keçirə və optimallaşdırılmış versiyanı inkişaf mühitinizə qaytara bilərsiniz. Embarcadero-nun verilənlər bazası təcrübəsi DataSnap texnologiyasını da təkmilləşdirmişdir. Torontodan olan tərtibatçılar sayəsində biz çox səviyyəli sistemlərin və verilənlər bazalarının arxitekturası haqqında çoxlu biliklər əldə etdik. İndi hər iki şirkətdə server kodu və saxlanılan prosedurların yaradılmasında birgə təcrübəmiz var. Bizdə RapidSQL və DB Change Manager kimi alətlər, eləcə də server kodunun yaradılmasını sadələşdirən inkişaf mühitləri var - məsələn, Code Insight və Code Completion texnologiyaları SQL insight və SQL Completion texnologiyalarının yaradılmasına imkan verib. Müştəri və server kodunu yaratmaq üçün ümumi yanaşmalarımız, ümumi fəlsəfəmiz verilənlər bazası idarəetmə vasitələrinə və proqram inkişaf alətlərinə ümumi xüsusiyyətlər verməyə imkan verir.

Kirill Rannev: Mən vacib bir şey əlavə etmək istəyirəm. Kommersiya baxımından alətlərimizi necə çatdırdığımız çox vacibdir. Misal üçün, yeni buraxılış RAD Studio XE 2 Ultimate proqramına DB Power Studio alətlərinin tam dəsti daxildir. Bu, RapidSQL sorğularının işlənib hazırlanması mühiti, DB Dəyişiklik Meneceri dəyişikliklərin idarə edilməsi aləti və DB Optimizer sorğularının optimallaşdırılması aləti daxil olmaqla, çox güclü alətlər dəstidir və sizə dəyişiklikləri idarə etməklə inkişaf və yerləşdirmə prosesinin mühüm hissəsini həyata keçirməyə imkan verir. məlumat modeli, verilənlər bazası, kod və s. Bu, texnologiyaların çox yaxşı və düzgün birləşməsidir.

DI.: Lakin, lazım gələrsə, tərtibatçılar versiyaya nəzarət üçün Subversion-dan istifadə edə bilərlər mənbə kodu və metadata versiyaları üçün DB Dəyişiklik Meneceri. Siz server kodunu optimallaşdırmaq üçün kod profilindən və DB Optimizerindən, server kodunu qurmaq və sazlamaq üçün RapidSQL-dən və proqramların qurulması və sazlanması üçün inkişaf mühitlərimizdən istifadə edə bilərsiniz. RAD Studio XE Ultimate Edition-da texnologiyaların bu kombinasiyası verilənlər bazası və proqram inkişaf modelləri arasında paralelləri nümayiş etdirir. Delphi və C++ Builder ilə biznes proqramları quran əksər tərtibatçılar verilənlər bazası ilə işləyir və bu alətlərə ehtiyac duyurlar və RAD Studio XE Ultimate Edition belə tərtibatçılar üçün əla birləşmədir.

KP: Müasir istifadəçi artıq tək Windows platformasının istifadəçisi deyil. Biz mobil cihazlardan, iPhone, iPad, Android platformasına əsaslanan cihazlardan istifadə edirik. Bu o deməkdir ki, tərtibatçılar təlimə sərmayəni əhəmiyyətli dərəcədə artırmadan müxtəlif platformaları hədəf almağa başlamalıdırlar - yəni universal alətlər lazımdır. Aydındır ki, platforma istehsalçılarından universal alətlər gözləmək qeyri-realdır və bu məsələdə biz yalnız müstəqil alət istehsalçılarına arxalana bilərik. Embarcadero-ya necə arxalana bilərik?

DI.: Platforma dəstəyi baxımından hələ çox işimiz var. Bu gün biz iPhone və iPad üçün iOS platforması üçün dəstəyi təqdim edirik, sonra Android platformasına əsaslanan smartfonlar, Windows 7 və Blackberry dəstəyimizi alacaq. RAD Studio XE 2-də biz iOS üçün FireMonkey platformasını qurmaqla başladıq və sonra FireMonkey-i digər platformalara gətirəcəyik.

Eyni zamanda, telefonlar üçün sensor ekranları dəstəkləyən çoxlu sayda əməliyyat sistemi var, planşet kompüterlər və masa üstü cihazları və biz onlara dəstək əlavə etməyə davam edəcəyik. Bundan əlavə, səs, hərəkət, biometrik sistemlər, akselerometrlər, buna görə də biz FireMonkey-i genişləndirməyə davam etməliyik ki, bütün tərtibatçılar yeni platformalardan yararlana bilsinlər. Məsələn, Microsoft Kinect cihazı Xbox 360 üçün nəzərdə tutulmuşdu və indi Windows üçün müvafiq SDK (Proqram Təminatı İnkişaf etdirmə Kiti) mövcuddur. Və bizdə artıq nümunələrimiz var ki, tətbiqi idarə etmək üçün siçan və ya klaviatura adətən istifadə olunduğu kimi hərəkətdən istifadə edirik.

Bir çox mürəkkəb qrafika ilə proqramlar yaratdığınız zaman bütün yeni istifadəçi interfeysləri dünyasını yaradırsınız. Bir əməliyyat otağı ilə məşğul olsaq Windows sistemi, biz onun tətbiqini əhatə edirik proqram interfeysi VCL kitabxanasında Windows API (Visual Komponent Kitabxanası - Delphi və C++ Builder inkişaf alətlərinin bir hissəsi olan vizual komponentlər kitabxanası. - Qeyd red.), yeri gəlmişkən, daha da istifadə edilə bilər. FireMonkey-də əməliyyat sistemi API-ni əhatə edirik. Amma bu gün biz formaları və qrafikləri daha geniş şəkildə manipulyasiya edirik. Siz həmçinin animasiya və xüsusi effektlər üçün məkana fiziki xüsusiyyətlər əlavə edə bilərsiniz. Bundan əlavə, yaxın bir neçə ildə müxtəlif platformalar, mobil və planşet qurğuları üçün tətbiq edəcəyimiz istifadəçi interfeysləri yaratmaq üçün çoxlu sayda əlavə imkanlar var.

Microsoft bu yaxınlarda elan etdi ətraflı məlumat bir ildən sonra çıxacaq Windows 8 haqqında. Biz VCL kitabxanasında və FireMonkey platformasında bu yenilikləri dəstəkləyəcəyik. Lakin Delphi təkcə Windows üçün deyil, həm də Macintosh, iPhone və iPad üçün nəzərdə tutulmuş inkişaf vasitəsidir. Biz həmçinin PHP məhsullarımızı inkişaf etdiririk, jQuery Mobile-ı dəstəkləyirik, mobil müştəri proqramlarını inkişaf etdirmək üçün iOS API-dən istifadə edirik və müştəri tərəfində JavaScript, HTML və kaskad stil cədvəllərini yaratmaq üçün sehrbazlar və alətlərdən istifadə edərək server tərəfi PHP proqramları yaradırıq. Biz PHP proqramlarından və yerli kodu olan müştəri proqramlarından paketlər yarada bilərik iPhone iOS, və belə bir müştəri ilə ünsiyyət quracaq PHP serveri. Və o, öz növbəsində verilənlər bazası serveri və veb xidmətləri ilə - biznes üçün lazım olan hər şeylə əlaqə quracaq.

RadPHP XE2 inkişaf mühiti. Mobil veb tətbiqinin yaradılması
iPhone 3G üçün jQuery Mobile komponentlərindən istifadə etməklə

Başqa sözlə, biz FireMonkey və VCL imkanlarını genişləndirməyi, o cümlədən mobil platformalara dəstək verməyi planlaşdırırıq.

KP: FireMonkey platforması haqqında bizə ətraflı məlumat verə bilərsinizmi?

DI.: Artıq qeyd etdiyim kimi, Windows üçün yaradılmış VCL kitabxanası inkişaf etməyə və təkmilləşməyə davam edəcəkdir. Ancaq bu gün real biznes proqramlarının hazırlanmasını istəyirsinizsə, onları müxtəlif platformalar üçün yaratmalısınız. FireMonkey platforması bunun üçün nəzərdə tutulub. O, yüksək keyfiyyətli istifadəçi interfeyslərinin, yüksək performanslı 3D qrafikanın, yüksək kadr sürətlərinin yaradılmasını dəstəkləyir və ən əsası bunun üçün qrafik prosessordan istifadə edir.

Elmi, mühəndislik və biznes proqramları yaratarkən belə imkanlardan istifadə edə bilərsiniz. Bu cür proqramlar dbExpress texnologiyasından istifadə edərək verilənlər bazasına qoşula, hələ də tərtibatçılara tanış olan ClientDataSet və ya DataSource kimi qeyri-vizual komponentlərdən istifadə edə, DataSnap texnologiyasından istifadə edə, istənilən verilənlər bazasına, SOAP və REST serverlərinə qoşula bilər. Siz həm iki, həm də üç ölçülü cəlbedici idarəetmələr, qutuları olan düymələr, qeyri-adi cədvəllər və digər interfeys elementləri yarada bilərsiniz. Siz hazır 3D modeli proqrama yükləyə və onu fırladıb müxtəlif bucaqlardan baxa biləcəyiniz 2D formaya qoşa bilərsiniz. Siz məlumat kubu və ya 3D biznes diaqramı yarada və siçan, klaviatura və ya hətta Kinect cihazınızdan istifadə edərək onu döndərə bilərsiniz və ya kubun içərisinə girib onun müxtəlif səthlərinə içəridən baxa bilərsiniz. Və bütün bunlar yüksək sürətli GPU vasitəsilə edilə bilər. Eyni proqram daha sonra Mac OS kimi başqa platforma üçün tərtib edilə bilər.

Fırlanan məlumat kubunu ehtiva edən proqram,
kənarlarına qoyulur

Və ya sıfırdan 3D forma yarada və istifadəçi interfeysinin hissələrini işıqlandırmaq və fırlatmaq üçün kameralar və işıqlardan istifadə edə bilərsiniz. Forma dizayneri dizayn zamanı 3D istifadəçi interfeysini dəstəkləmək üçün artıq daxili mühitə malikdir.

İki ölçülü qrafika ilə işləmək üçün Windows-da yüksək qətnaməüçün Direct2D kitabxanalarından istifadə edə bilərsiniz 3D qrafika- Direct3D. Mac OS-də Quartz və OpenGL kitabxanaları eyni məqsədlər üçün istifadə olunur. iOS üçün Quartz və OpenGL ES kitabxanalarından istifadə olunur. Lakin bütün bunlar tərtibatçıdan gizlidir - o, bu kitabxanalar haqqında düşünmədən FireMonkey platformasından, onun koordinat sistemindən və tətbiqi proqramlaşdırma interfeysindən istifadə edir və eyni tətbiqi müxtəlif platformalar üçün tərtib edə bilir.

VCL-nin nə olduğunu xatırlayaq. VCL Windows API ətrafında komponent sarğıdır. Biz resurslar, menyular, dialoq qutuları, rənglər, üslublar, Windows mesajları ilə məşğul oluruq. VCL-dən fərqli olaraq çox platformalı sarğı olan FireMonkey eyni hadisə və komponent modellərini saxlayır, bu da sizə hadisələr baxımından düşünməyə imkan verir (məsələn, OnClick, OnHasFocus, onMouseDown və onKeyDown hadisələri), lakin Macintosh və ya iPhone hadisələrini idarə edir.

FireMonkey platforması da gəlir tam sistem istifadəçi interfeysi elementlərinin animasiyası. Bu, əlbəttə ki, hərtərəfli Pixar üslublu animasiya sistemi deyil, lakin o, bitmap animasiyası, UI elementinin fokuslanması və vektor qrafikası kimi effektlərə imkan verir. Tərtibatçının ixtiyarında 50-dən çox vizual effektlər mövcuddur: bulanıqlaşdırma, təsviri qara və ağa çevirmək, həll etmək, keçidlər, əks etdirmək, kölgələr yaratmaq - müasir qrafik prosessorlarında mövcud olan bütün növ effektlər, indi demək olar ki, istənilən kompüterdə mövcuddur. FireMonkey platformasından istifadə edərək qurulan proqram qrafiklərin göstərilməsi və istifadəçi interfeysinin yaradılması üzrə bütün işləri yerinə yetirən GPU-ya əmrlər göndərir. Harada CPUəməliyyat sisteminə hesablamalar və zənglər üçün pulsuzdur. Tərtibatçı yalnız komponentləri düzgün yerləşdirə bilər.

FireMonkey platforması ilə bağlı ən əsas şey onun istifadəçi interfeysini qurma üsuludur. Yaşayış üçün şərait var rastr qrafika menyular, düymələr və sürüşdürmə çubuqları kimi interfeys elementlərində. FireMonkey-də bu məqsədlə GPU ilə işləyən vektor qrafiklərindən istifadə edirik. Proqramlaşdırma nöqteyi-nəzərindən bunlar hələ də eyni idarəetmə vasitələridir, lakin onların göstərilməsi üzrə bütün işlər qrafik prosessor tərəfindən həyata keçirilir. Biz idarəetmə elementlərinə üslublar tətbiq edə, tətbiqi Mac OS və ya Windows üçün proqram kimi göstərə, öz üslubumuzu yarada, interfeys elementlərinə öz üslublarımızı tətbiq edə bilərik (məsələn, forma redaktorunda onun üslubunu dəyişdirərək düyməni düzbucaqlı və ya dairəvi formada edə bilərik) ) - bunun üçün inkişaf mühitində üslub redaktoru var. Siz öz üslubunuzu yarada və ya artıq bitmiş tətbiqin üslubunu dəyişə bilərsiniz.

FireMonkey Platforması - İnkişaf Alətləri
və dəstəklənən platformalar

Xatırlayırsınızsa, VCL kitabxanasında məhdud sayda idarəetmə var - konteynerlər (yəni onlara başqa elementləri yerləşdirməyə imkan verir) və FireMonkey-də hər bir nəzarət bir konteynerdir. Bu o deməkdir ki, hər bir nəzarət istənilən digər nəzarəti ehtiva edə bilər. Məsələn, açılan siyahı elementlərində şəkillər, düymələr, redaktə sahələri və digər nəzarət elementləri ola bilər. Siz həmçinin komponentləri təbəqələrə yerləşdirə bilərsiniz.

FireMonkey render sistemi olduqca çevikdir - o, Direct2D, Direct3D və OpenGL kitabxanalarından istifadə edərək GPU-ya əmrlər göndərə bilər. VCL-də eyni şeyə nail olmaq üçün ayrıca ekrandan kənar bufer yaratmalı, müvafiq qrafik kitabxana funksiyalarını çağıraraq orada təsvir yaratmalı və sonra onu formada göstərməli idiniz.

FireMonkey tərəfindən dəstəklənən qrafik effektlərin nümunələri

GPU-nuz yoxdursa, siz hələ də 2D və ya 3D formaları tətbiq edə və FireMonkey nəzarətlərindən istifadə edə bilərsiniz. Bu halda, FireMonkey platforması GDI+ kitabxanalarından və ya digər oxşar kitabxanalardan istifadə edəcək və eyni effektləri və animasiyaları və ya 3D obyektlərin manipulyasiyasını həyata keçirəcək.

FireMonkey-in başqa bir xüsusiyyəti yeni sistem interfeys elementlərinin məlumatlarla əlaqələndirilməsi, açıq və çevik. VCL-də iki növ interfeys elementi var: verilənlərə bağlı və verilənlərə bağlı olmayan (məsələn, TDBEdit və TEdit). FireMonkey-də hər bir nəzarət istənilən növ məlumatlarla əlaqələndirilə bilər. Bu, sadə ifadə, verilənlər toplusundan sahə, tərtibatçı tərəfindən yaradılmış obyektlərdən alınan məlumatlar və ya metod çağırışlarının nəticələri ola bilər.

Bundan əlavə, proqram yaratarkən ona hazır 3D modeli yükləyə və ondan istifadə edə bilərsiniz - bu cür imkanlar tez-tez həm biznes, həm də mühəndislik proqramlarında tələb olunur. Logistika üçün proqramlar yaradan müştərimiz var. Onlarda var idi Məlumat Sistemi, Delphi istifadə edərək qurulmuş və onun içində - plan tərtib edən və məlumat mənbələrindən məlumatları göstərən bir proqram. Onlar bu yaxınlarda maraqlı bir şey etdilər - onlar AutoCAD-də tam avtomatlaşdırılmış 3D anbarı çəkdilər və onların tətbiqi avtomatlaşdırılmış forkliftin anbar ətrafında necə hərəkət etdiyini və malları rəflərdə necə yerləşdirdiyini görməyə imkan verir. Və mənbələrdən məlumatları müvafiq görüntüyə qoyurlar.

Tətbiq üslublarının dəyişdirilməsi nümunələri

KP: Hazırda hansı 3D model formatları dəstəklənir?

DI.: Bu buraxılışda biz AutoCAD, Collada-dan (açıq mənbəli 3D modelləşdirmə aləti) yüklənən modelləri dəstəkləyirik. Qeyd redaktə et.), Maya, bir çox 3D qrafik satıcıları tərəfindən dəstəklənən OBJ formatı.

KP: Başqa hansı formatları əlavə etməyi planlaşdırırsınız?

DI.: Biz 3DS (3D Studio MAX), SVG (adətən bu format 2D vektor qrafikası üçün, bəzən isə 3D üçün istifadə olunur), Google SketchUp əlavə etməyi planlaşdırırıq. Ola bilsin ki, digər formatları dəstəkləyək.

KP: FireMonkey ilə qurulmuş proqramlarda 3D modellərdən istifadə etmək müvafiq 3D modelləşdirmə aləti üçün lisenziya tələb edirmi?

DI.: Xeyr, bunu tələb etmir. Bizim etdiyimiz tək şey model faylını oxumaqdır. Biz modeli idxal edirik, lakin ixrac etmirik (baxmayaraq ki, əlbəttə ki, modeli öz formatınızda saxlayan proqram yaza bilərsiniz). Biz özümüzü 3D modelləşdirmə alətlərinin istehsalçısı kimi göstərmirik - bunun üçün siz AutoCAD, 3D Studio Max, Maya və ya hər hansı digər 3D modelləşdirmə alətindən istifadə edə və yaradılmış modelləri tətbiqlərimizə idxal edə bilərsiniz.

KP: Müasir aparat platformalarında FireMonkey ilə qurulan proqramlar nə dərəcədə effektivdir?

DI.: Məhsuldarlıq kifayət qədər yüksəkdir. Məsələn, üç sfera və üç işıq mənbəyi ilə 3D formanı göstərmək MacBook Pro saniyədə 100 kadr sürətlə həyata keçirilə bilər. Və ya 600-ə çata bilər - bu, bizim dəqiq nə etdiyimizdən asılıdır. Yenə də hər şey GPU-nun gücündən asılıdır.

KP: Bu o deməkdir ki, siz FireMonkey-dən istifadə edərək müasir oyunlar yarada bilərsiniz?

DI.: Biz inkişaf alətlərimizi oyunlar üçün alətlər kimi yerləşdirmirik. Bununla belə, müasir GPU-ların yüksək performansından istifadə edərək, siz FireMonkey-dən istifadə edərək oyunlar yarada bilərsiniz - axı onlar Direct3D və ya OpenGL-dən istifadə etməklə yaradılır.

KP: Hal-hazırda jestlərin tanınması və digər yeni işlərin dəstəklənməsi sahəsində hansı işlər görürsünüz? Belə bir dəstək varmı?

DI.: Bu buraxılışda hələ jest dəstəyimiz yoxdur. Jest nəzarətləri FireMonkey-in gələcək buraxılışında əlavə olunacaq, lakin bu vaxt siz əməliyyat sistemində quraşdırılmış jest dəstəyindən istifadə edə bilərsiniz.

Mixail Filippenko, Fast Reports, Inc-in direktoru.

K.R.: Artıq dedik ki, FireMonkey texnologiyası rus köklərinə malikdir - onun əsasları ölkəmizdə yaradılıb və sonra həm texnologiyanın özü, həm də onu tərtib edənlər Embarcadero-ya qoşulublar. Ümumiyyətlə, RAD Studio və Delphi-də rus komponentinin artımını görmək sevindirici haldır. Buraya Sankt-Peterburqdakı inkişaf mərkəzimizin fəaliyyəti və müstəqil rus tərtibatçılarının töhfəsi daxildir. Məsələn, Rad Studio XE2-yə bütün dünyada tanınan və ölkəmizdə çox məşhur olan FastReport hesabat generatoru daxildir. O, əslən Rostov-na-Donudandır.

KP: Mən kompilyatorlar haqqında danışmaq istərdim. İOS proqramları yaratarkən hansı kompilyatordan istifadə olunur?

DI.: Bizim iPhone və ya iPad üçün öz Delphi kompilyatorumuz yoxdur - biz hələ həmin cihazlarda istifadə olunan ARM prosessorları üçün kompilyatorlar hazırlamamışıq. iOS üçün biz müvəqqəti olaraq Pulsuz Paskal kompilyatorundan və iş vaxtı kitabxanasından istifadə edirik. Lakin biz AWP prosessorları da daxil olmaqla növbəti nəsil kompilyatorlar üzərində işləyirik. Ancaq Windows və Mac OS üçün kompilyatorlar var, çünki hər iki aparat platforması Intel prosessorlarına əsaslanır.

KP: Son iki ildə kompilyatorların yaradılması sahəsində hansı işlər görülüb?

DI.: Windows və Mac OS üçün 32 və 64 bitlik Delphi kompilyatorlarımız var. Biz Delphi və C++ kompilyatorlarının yeni nəsli üzərində işləyirik. Onlar hələ də davam edən bir işdir, lakin onlar tamamlandıqdan sonra ARM prosessorları, Android platformaları, Linux və bunların arasında olan hər şey üçün Delphi kompilyatorlarımız olacaq. Windows və digər platformalar üçün ISO tərəfindən qəbul edilmiş ən son C++ dil standartına uyğun 64 bitlik C++ kompilyatorlarımız olacaq.

KP: Bu gün Embarcadero inkişaf alətlərində bulud hesablama dəstəyi ilə nə baş verir?

DI.: RAD Studio XE 2-də biz Platforma köməkçisindən istifadə edərək proqramların Microsoft Azure və ya Amazon EC2 buluduna köçürülməsini dəstəkləyirik. Və cədvəllərin, ikili məlumatların, mesaj növbələrinin saxlanması üçün Azure üçün Cloud Storage və Amazon S3 üçün server komponentlərimiz var. IN əvvəlki versiya RAD Studio XE ilə biz həmçinin Amazon EC2-də tətbiqlərin yerləşdirilməsini dəstəklədik, lakin onun yaddaş dəstəyi yox idi.

RAD Studio XE 2-də bulud hesablama dəstəyi

KP:İki il əvvəl siz yeni All-Access həlli haqqında danışdınız. Nə qədər məşhur idi? Sistem inteqratorları və tərtibatçıları üçün onun üstünlükləri nələrdir?

DI.: All-Access həlli və AppWave bulud aləti bütün dünyada geniş istifadə olunur. Onlar bizim öz və üçüncü tərəf proqramlarından istifadə etməyi asanlaşdırmaq üçün nəzərdə tutulub. Əslində, bu, lisenziyaların və tətbiqlərin istifadəsini idarə etmək üçün bir həlldir və bunun üçün əlverişlidir böyük şirkətlər. Tətbiqlərin idarə edilməsinə cavabdeh olan insanlardan ibarət xüsusi qrupları olmayan kiçik firmalar proqramları depoya yerləşdirə, verilənlər bazasından istifadəçi adlarını seçə və həmin proqramları harada olduğunu xatırlamadan əlçatan edə bilər. Lisenziya açarı və nə qədər lisenziya mövcuddur. All-Access və AppWave brauzeri həm versiyanı, həm də girişə nəzarəti idarə etmək üçün nəzərdə tutulub.

K.R.: Bazar o qədər müxtəlifdir və istifadəçilər o qədər müxtəlifdir ki, bir həll yolu ilə bütün ehtiyacları ödəmək mümkün deyil. Buna görə də biz müxtəlif qablaşdırma həlləri üçün çalışırıq. Lisenziyalaşdırma, lisenziyanın idarə edilməsi və məhsulun quraşdırılması üsullarının unifikasiyası üçün çox iş görmüşük. Bu həll xəttinə yalnız Embarcadero məhsulları üçün deyil, həm də hər hansı digər məhsullar, o cümlədən şirkətin daxili inkişafları üçün lisenziya və təminat idarəetmə vasitələri daxildir.

Qablaşdırma vasitələrinin istifadəçilər üçün effektiv dəstlərə çevrilməsi üzərində iş hələ də davam edir. Bizdə All-Access - bütün Embarcadero məhsullarını birləşdirən superset var. Müştəri All-Access Platinum alırsa, Embarcadero-da tapılan bütün alətləri alır. Lakin bəzən bu dəst lazımsız olur; məsələn, verilənlər bazası mütəxəssisləri üçün biz daha iki dəst hazırlamışıq - DB Power Studio Developer Edition və DB Power Studio DBA Edition. Onların arasındakı fərq ondan ibarətdir ki, biz tərtibatçı üçün RapidSQL - server kodunu inkişaf etdirmək üçün alət, administrator üçün isə daxili DBArtizan - verilənlər bazası idarəetmə vasitəsi, RapidSQL-dən daha geniş məhsul təklif edirik. Peşəkarlar üçün bizdə aşağıdakı Tam Giriş dəstləri var: bütün məhsulları özündə cəmləşdirən paket, tərtibatçılar üçün DB Power Studio, idarəçilər üçün DB Power Studio, memarlar üçün ER Studio Enterprise Edition və modelləşdirmə ilə məşğul olan hər kəs. Proqram inkişafı və idarəçilər üçün birləşmələr var. Delphi bir tərtibatçı alətidir və ona SQL inkişaf etdirmə və optimallaşdırma alətlərini əlavə etməyin çox mənası var. Nəhayət, DB Change Manager verilənlər bazalarının həyat dövrü ərzində baş verən dəyişikliklərin mürəkkəbliyini idarə etmək üçün məntiqi bir vasitədir.

Beləliklə, All-Access müxtəlif məhsul dəstlərinin böyük bir ailəsinin başçısıdır.

KP: Sirr deyilsə, Rusiyada All-Access-dən kim istifadə edir?

K.R.: Delphi əsasında All-Access alan müştərilərimiz var. Onların bir çoxu mürəkkəb müştəri-server sistemləri yaradır SQL Server və Oracle və onlar bizim cross-platform verilənlər bazası alətlərimizi dərhal bəyəndilər. İlk versiyadan bəri Delphi ilə işləyən müştəri şirkətimiz var və bir il əvvəl o, dəyişdi Delphi istifadə edərək All-Access dəstinə. Bu şirkətdəki bütün tərtibatçıların istifadə edəcəyi iki alət Delphi və DBArtisandır. All-Access-ə verilənlər bazası tərəfdən gələn müştərilər də var. Onların əsas vəzifəsi verilənlər bazalarını idarə etməkdir, lakin bəzən proqramlar da inkişaf etdirirlər. All-Access-dən istifadə edən müştərilərə media şirkətləri, mühəndislik şirkətləri və digər sənayelər daxildir.

Ayrı-ayrılıqda kiçik şirkətlərə diqqət yetirmək istərdim. Çox vaxt kiçik komandalarda tərtibatçı hər şeyi edir və belə bir şirkət bəzən bir və ya iki tərtibatçı üçün böyük All-Access məhsul dəstlərini alır. Böyük komandalarda bir tərtibatçının, məsələn, verilənlər bazası administratoru rolunu da yerinə yetirməsi təşviq edilmir, buna görə də kiçik məhsul dəstləri adətən orada populyardır, lakin kiçik şirkətlərdə bu cür məsuliyyət birləşməsi olduqca məqbuldur.

Delphi Architect, modelləşdirmə və proqramlaşdırma alətlərini özündə birləşdirən, çox satılan məhsuldur. Satılan nüsxələrin sayı Delphi Enterprise versiyasından az olsa da, həm də böyükdür. Qeyd etmək istərdim ki, 2010-cu ildə bütün ölkələrin böhran yaşamasına baxmayaraq, biz satış həcminə görə ən yaxşı ölkə olduq. Bu artım iqtisadi amillərlə deyil, 2009-cu ilin sonunda buraxılan RAD Studio XE versiyasının çox populyar olması ilə əlaqələndirildi. Hələlik biz daha çox satış artımını gözləyirik.

Rusiyada son dərəcə populyar olan daha bir ağlabatan addım atdıq. Məhsullarımızın müxtəlif versiyalarının leqallaşdırılma dərəcəsi fərqlidir: versiya nə qədər yüksəkdirsə, bir o qədər qanuniləşir, çünki əvvəllər proqram təminatı o qədər də aktiv alınmayıb. RAD Studio XE ilə başlayan lisenziya 2010, 2009, 2007 versiyalarını və hətta geniş istifadə olunan məhsul olan Delphi 7-ni əhatə edir.

Bu gün tərtibatçılar həm yeni layihələrin, həm də dəstəklənən layihələrin olması ilə üzləşirlər. Çoxlu sayda layihə transfer edildi əvvəlki versiyalar Delphi-ni 7-ci versiyaya köçürdü və nisbətən kiçik resurslar üzərində işləməyə davam edərək bu versiya daxilində qalır. Heç kim onları daha yeni versiyalara köçürmür, lakin onlar etibarlı vəziyyətdə saxlanılır. İndi biz sizə həm RAD Studio XE, həm də Delphi 7-ni az pulla (Delphi 7 lisenziyasının qiymətindən aşağı) əldə etməyə imkan veririk - yəni biz həm yeni layihələrin həyata keçirilməsi, həm də dəstək layihələri üçün tərtibatçını qanuniləşdiririk.

KP: Embarcadero icmasının hazırkı vəziyyətini necə qiymətləndirirsiniz?

DI.: Bu cəmiyyət böyükdür və çox tələbkardır. Onlara dərhal hər şey lazımdır - onlar tərtibatçılardır. Ancaq bəzən bir şeyi düzgün etmək çox vaxt tələb edir.

Bir neçə il əvvəl biz Windows komponent arxitekturasını götürdük və onu Linux masaüstlərinə yerləşdirdik. İndi görürük ki, bu düzgün qərar deyildi. Düzgün həll tətbiq platforması yaratmaqdır. Hətta müxtəlif platformalardakı tətbiqlərdə menyular, pəncərələr, qrafiklər, şəbəkəyə giriş və cihaz girişi var. Fərqli platformalar ola bilər müxtəlif modellər axına nəzarət və ya istisnaların idarə edilməsi, lakin proqram kodunda biz eyni sınaq bloklarını görürük. Bizim işimiz, müvafiq prosessorların təlimat dəstinin necə qurulduğundan və bu platformaların hansı digər xüsusiyyətlərindən asılı olmayaraq, tərtibatçılara biznes proqramları yaratmağı və onları istifadə edilmək nəzərdə tutulan platformalar üçün tərtib etməyi asanlaşdırmaqdır. Və FireMonkey bu problemi həll etmək üçün sizə lazım olan şeydir.

KP:Əgər şirkət yeni cihaz yaradırsa və onun FireMonkey-də dəstəklənməsini istəyirsə, bu mümkün olacaqmı?

DI.: Platformadan müstəqil ön və platformadan asılı arxa hissəyə sahib olacaq yeni nəsil kompilyatorlarla bu, tamamilə mümkün olacaq. Bu arada, hər bir əməliyyat sistemi üçün sıfırdan bir kompilyator və işləmə vaxtı kitabxanası yaradırıq.

Hər hansı bir müasir yeni cihaz, bir qayda olaraq, qrafika malikdir istifadəçi interfeysi(onların çoxunda var iki nüvəli prosessor və GPU) və tərtibatçılar üçün standart SDK-lar. Bu, FireMonkey-də cihaz dəstəyi yaratmağı asanlaşdırır. Əgər yeni cihazın yalnız Kvars kimi ikiölçülü qrafika üçün kitabxanaları varsa, biz belə bir cihazı FireMonkey-də dəstəkləyə biləcəyik, lakin bu, təxminən bir neçə ay çəkəcək. Bununla belə, platformadan çox şey asılıdır: bütün platformalar bütün funksiyaları dəstəkləmir, məsələn, iOS-da menyular və dialoq qutuları yoxdur və siz bu cür proqramların formalarına uyğun komponentləri yerləşdirə bilməyəcəksiniz.

KP: Tərəfdaşlarla işləmək siyasətində nəsə dəyişibmi? Məhsullarınızın istifadəçilərinin payının artırılması üçün hansı işlər görülür? Rusiyada nələr edilir?

DI.: Bizim tərəfdaş ekosistemimiz genişdir - məhsullarımızda tapılmayan yüzlərlə alət və komponent istehsalçısı var və bizim texnologiya tərəfdaşlığı proqramımız var. Buna görə də, tərtibatçılar üçün geniş çeşidli komponentlər, texnologiyalar və alətlər mövcuddur. Müştəriləri üçün yaratdıqları həllər yalnız bizim məhsullardan istifadə etdiklərindən daha yaxşıdır. Satış üçün isə bir çox ölkələrdə ofislərimiz, resellerlərimiz və distribyutorlarımız var.

K.R.: Bizim üçün vacib olan tərəfdaşların sayı deyil, hər bir konkret tərəfdaşın işinin keyfiyyətidir. Hələlik, tərəfdaşlar hovuzunun açıq qalmasına baxmayaraq, mövcud tərəfdaşlarla sıx işləməyə diqqət yetirmək istəyirik. Bizim çoxlu tərəfdaşlarımız var və biz onlara texnologiya baxımından kömək etməliyik. Biz tərtibatçılarla işləyirik və onlar nə istədiklərini bilirlər və bazarda nəyin mövcud olduğunu bilirlər və tərəfdaşların imkanları buna uyğun olmalıdır.

Bizim Embarcadero-ya biznes xətti kimi ciddi sərmayə qoyan işgüzar tərəfdaşlarımız var - onlar təlim keçmiş mütəxəssislərə, məhsullarımızın marketinqinə, bu xəttə cavabdeh olan xüsusi işçilərə və məhsullarımız, qiymət siyahısı, marketinqlə bağlı nə baş verdiyini izləyirlər. Təbii ki, onlar bizim məhsullarımızın satışı baxımından ara-sıra məhsullarımızı satan şirkətlərdən daha uğurlu olurlar.

KP: David, Kirill, maraqlı müsahibə üçün çox sağ olun. İcazə verin, nəşrimiz və oxucularımız adından şirkətinizə tərtibatçıların çox ehtiyac duyduğu heyrətamiz alətlərinizi yaratmaqda gələcək uğurlar arzulayıram!

Natalya Elmanova tərəfindən verilən suallar

FireMonkey "yeni Delphi"nin əsas texnologiyasıdır. Zəhmət olmasa, bu yeni kitabxananın məqsədləri, imkanları və texniki aspektləri haqqında bizə məlumat verin. Bir müddət sonra geriyə baxanda super populyar VCL-i daha da inkişaf etdirməkdən imtina etməyiniz nə dərəcədə çətin və əsaslı idi?

O, konkret məqsədə çatmaq üçün Delphi texnologiyasının inkişafının əsas istiqaməti kimi seçilmişdir - tərtibatçıların köklü şəkildə yenidən hazırlanmasına ehtiyac olmadan, vahid mənbə kodu bazasına əsaslanan vahid mühitdən çox platformalı inkişaf. İndi klassik və super-populyar VCL çərçivəsində bu mümkün deyildi; onun WinAPI ilə əlaqəsi çox yaxın idi, "genetik səviyyədə" demək olar.

VCL komponentlərində interfeys baxımından funksional səviyyə ilə onların nümayiş etdirilməsi mexanizmləri arasında “mücərrəd” təbəqə yox idi. Funksional səviyyə— idarəedici kimi özünü necə aparır, hansı hadisələrə reaksiya verir, hansı istifadəçi qarşılıqlı əlaqəsini təmin edir. Ekran— rastr obyektləri və vektor primitivləri tərəfindən formalaşmış müəyyən təsvir kimi platforma yönümlü vizuallaşdırma üsullarını çağırmaq. FireMonkey əvvəlcə nəzarəti ciddi şəkildə iki komponentə bölmək prinsipini həyata keçirdi: "davranış" və "vizual".


Vsevolod Leonov, Embarcadero Technologies

Birincisi ümumiyyətlə VCL-nin əsaslarını deyil, obyekt yönümlü proqramlaşdırmanın mahiyyətini təkrarlayacaqdır. Komponent sinifdir; komponent sinifləri ailələrin və modulların fərqləndirilə biləcəyi bir iyerarxiya təşkil edir. Komponentin sinfi onun necə göstərildiyi ilə sıx bağlıdır.

Vizual "şəkil" dinamik şəkildə formalaşır, komponent sinfində sərt şəkildə yazılmır. FireMonkey-dəki şəkil və ya "üslub" proqram işə salındıqda komponentə yüklənir. Komponent üçün bir növ funksional çərçivəmiz var və "dəri" və ya "üzlük" dəyişdirilə bilər, amma niyə? Bu, FireMonkey proqramlarının istənilən platformada - Windows 7, Windows 8, Mac OS, iOS və yaxın gələcəkdə Android-də orijinal görünməsidir. Bu, VCL-nin ənənəvi monolit sinif strukturunun təmin edə bilmədiyi bir şeydir.

Burada texnoloji yanaşma xüsusi rol oynayır. Prinsipcə, siz VCL kitabxanasını götürüb WinAPI və bütün digər mümkün platforma zəngləri ilə “doldura” bilərsiniz. Bu hələ də çox məhdud komponentlər toplusunda edilə bilər, lakin VCL bir neçə yüz komponentdən ibarətdir, ona görə də bu yanaşma sadəcə VCL-ni “öldürə” bilər. VCL-ə toxunmamaq, yeni platformada - FireMonkey-də yeni imkanları inkişaf etdirmək qərara alındı. Bu texnologiya O, hətta müəyyən texniki zərifliyə malikdir - layihənin konkret platforma üçün yığılması zamanı Delphi IDE tələb olunan kompilyatoru birləşdirir və interfeys komponentləri platforma üslubunu alır.

İstifadəçi üçün bu, siçanın bir klikləməsi və eyni mənbə kodudur; Delphi üçün isə belə çox platformalı kitabxana yaratmaq tərtibatçıların uzun illər gərgin işidir.

FireMonkey-in ayrıca yeni platforma kimi təqdim ediləcəyi aydınlaşdıqda, düzgün birgəyaşayış strategiyası seçilməli idi: Embarcadero VCL istifadəçilərinə heç bir şəkildə mənfi təsir göstərmək istəmirdi. Buna görə də, biz aşağıdakı planı seçdik: VCL mümkün olan ən yüksək uyğunluğu təmin etmək üçün ideoloji və memarlıq cəhətdən sabit qalır, layihələrin müasir versiyalara köçürülməsini asanlaşdırır. FireMonkey-in inkişafı VCL-dən asılı olmayaraq təbii və paralel bir yol izləyəcək.

Bu həllin zəif nöqtəsi eyni layihə çərçivəsində VCL-dən FireMonkey-ə olduqca problemli miqrasiyadır. Ancaq yeni bir layihə üçün tərtibatçı nəticədə ortaya çıxan tətbiqinin çox platformalı xarakterini təmin etmək üçün FireMonkey-i seçə bilər. iOS dəstəyi ilə XE4 buraxıldıqdan sonra, başlanğıc üçün Delphi-nin parlaq rəqabət üstünlükləri haqqında artıq danışa bilərik. mobil inkişaf planlaşdırılmış Android dəstəyinin həyata keçirilməsindən sonra artırılacaq korporativ mühitdə.

Buna görə də, VCL-nin inkişafından açıq bir "imtina" yoxdur. Yeni versiyalarda Delphi-nin VCL hissəsi də inkişaf edir. Bura 64-bit dəstəyi, vizual komponentlər üçün üslubun tətbiqi, çevik dinamik əlaqələr və ya “bağlama” mexanizminin həyata keçirilməsi və VCL layihələrində verilənlər bazası ilə işləmək üçün FireDAC kitabxanasının daxil edilməsi daxildir. Sadəcə olaraq, FireMonkey tərəfindən edilən nəhəng keyfiyyət sıçrayışı ilə müqayisədə VCL-də irəliləyiş bir qədər zəif görünür. Lakin, nə olursa olsun, VCL Delphi-nin ayrılmaz hissəsidir və uzun illər belə qalacaq. Baxmayaraq ki, platformaların təkamülü və OS sahəsində mövcud vəziyyət masa üstü sistemlər və mobil qurğular elədir ki, gələcək mütləq FireMonkey üçündür.

Müsahibədə iOS dəstəyini artıq müzakirə etdik, gəlin oxucularımıza ən son RAD Studio XE4-dən, məsələn, Windows 8 və WinRT, 64-bit sistemlər, MacOS və s. kimi digər ən son texnologiyaların dəstəyi haqqında danışaq. Yeniliklərdən korlanmış müasir proqramçıya daha nə təklif edə biləcəyinizi sadalaya bilərsinizmi?

Çox güman ki, müasir bir proqramçı yeniliklərdən "korlanmır". üçün böyük layihələr hər hansı bir “yenilik” çox vaxt nəhəng iş həcmi ilə nəticələnir.

Məsələn, hər kəs uzun müddət gözlədi, çoxları dərhal kodlarını tərcümə etməyə tələsdilər yeni platforma. Amma belə çıxır ki, çox peşəkar komandalar belə buna hazır deyil. 64-bit kodu tərtib etmək işləmək demək deyil. Məsələn, 4 baytlıq ünvan ölçüsünü nəzərdə tutan təlimatlardan istifadə etməklə “Gəncliyin günahları” üzə çıxmağa başladı. Test mədəniyyətinin olmaması, bu prosesi qısa müddətdə həyata keçirmək üçün texnoloji hazırlıqsızlıq.

Və burada - mənbə kodunun sətirlərinin sayı ilə ölçülən layihə nə qədər böyükdürsə, proqramçılar interfeysdə "düymənin" görünməsindən tutmuş "sintaktik şəkərə" qədər müxtəlif növ yeniliklərlə daha diqqətli və balanslı olurlar. kompilyatorda.

Bu “problemli” nailiyyətlərdən biri Windows 8-in buraxılışı idi. Şəxsən mən bir PC istifadəçisi və sadəcə müasir İT mütəxəssisi kimi Windows 8-dən çox məmnunam. Ancaq yük kimi yeni OS altında inkişaf etdirmək üçün spesifikasiyaları olan Windows 8 ilə işləyən kompüterlərin bir partiyasını göndərən tərtibatçılar üçün bu, müəyyən çətinliklər deməkdir.

Biz bu OS-nin yeni interfeysi üçün inkişaf dəstəyini mümkün qədər rahat və ağrısız şəkildə təmin etməyə çalışdıq. Buna görə də, həm VCL, həm də FireMonkey üçün xüsusi üslublar təqdim edilmişdir və proqramçı ya proqram interfeysini yenidən qura, ya da Windows 8 üçün “doğma” olandan fərqlənməyən yeni proqram yarada bilər. görünüş. Əlbəttə ki, WinRT vasitəsilə Windows 8 üçün "doğma" dəstəyə ehtiyac var. Ancaq bu, hədəflərin prioritetləşdirilməsindən təsirlənir müasir şərait. Yaxın gələcəkdə Mac OS, iOS, Android yaxın gələcəkdə WinRT üçün tam dəstək haqqında danışmağa hələ imkan vermir.

Embarcadero-nun strateji məqsədi, əlbəttə ki, çox platformalıdır. RAD Studio XE4-ün buraxılışı, ilk növbədə iOS üçün dəstəyi sayəsində əsas idi. VCL istifadə edən mövcud proqramçı bir neçə saat ərzində iOS üçün inkişaf etməyə başlaya bilər. Hətta sadə mobil proqram dərhal mövcud infrastruktur daxilində fəaliyyət göstərən güclü bir layihəyə çevrilə bilər. Bunun asan olduğunu düşünməyin yeni kompilyator FireMonkey və yeni üslub iOS interfeysinə uyğunluğu təmin etmək.

Bura yeni vizual dizayner, müxtəlif forma faktorları üçün daxili dəstək, yeni FireDAC daxil olmaqla məlumat girişi kitabxanaları və korporativ məlumatlarla çevik və dinamik əlaqə üçün LiveBindings texnologiyası daxildir. Bütün bu yeniliklər eyni vaxtda gəlir - Windows, Mac OS və iOS üçün. əməliyyat sistemi Mac OS o qədər də sürətlə inkişaf etmir, ona görə də Windows 7-dən Windows 8-ə keçid kimi heç bir problem yoxdur. Ancaq ortaya çıxdılar Retina göstərir və bu, xüsusi diqqət tələb edirdi. İndi Delphi XE4-də yaradılan istənilən MacOS proqramı avtomatik olaraq iki üslubu - “normal” və “yüksək təsviri” ehtiva edir.

Bu. eyni proqram hər hansı birində eyni yüksək keyfiyyətli “doğma” interfeysə malik ola bilər masa üstü kompüter Apple-dan.

Embarcadero yeni innovativ buraxılışları ilə tərtibatçıları "təəccübləndirmək", "heyrətləndirmək" və hətta "əyləndirmək" istəmir. Əksinə, İT sahəsi artıq müxtəlif sürprizlərlə doludur: yeni qurğular, yeni platformalar, yeni istifadəçilər, onların yeni ehtiyacları, yeni qarşılıqlı əlaqə ssenariləri. Buraya yeni proqram təminatı inkişaf texnologiyaları əlavə edin və proqramçıların sadəcə olaraq yeni sistemlər və mövcud sistemlər yaratmağa vaxtı olmayacaq - onların edəcəkləri sadəcə bir mühitdən digərinə, köhnə kitabxanadan yenisinə, bir dildən digərinə miqrasiya etməkdir.

Amma biz hər yenilikdən imtina etdiyimizi bəyan etmirik. Biz sadəcə olaraq hər şeyin - kodun, interfeysin, layihənin, hətta yeni platformalar və qurğular meydana çıxanda peşəkar bacarıqların davamlılığını təmin etmək istəyirik. Deyə bilərsiniz ki, biz inkişaf alətlərində sağlam konservatizm vasitəsilə yeni platformalarla bağlı qeyri-sağlam mühafizəkarlıqla mübarizə aparırıq. Embarcadero-dan ekzotik məhsullar, qeyri-standart proqramlaşdırma dilləri və ya qeyri-adi inkişaf alətləri gözləməyin.

Bizimlə siz həmişə vizual inkişaf, klassik dillər, "doğma" kod tapacaqsınız və tətbiqləriniz üçün eyni sübut edilmiş klassik şəkildə yaradılmış hədəf platformaların yeni olmasına icazə verin.




Üst