Firemonkey қарапайымнан күрделіге. FireMonkey дегеніміз не? жергілікті сыныптарды теңшеуге қолдаудың болмауы

FireMonkey дегеніміз не?


FireMonkey (FMX) Delphi/C++ тілін пайдалана отырып, жұмыс үстелі жүйелеріне (Windows, Mac OS + Linux жүйесінде серверді қолдау жақын арада жоспарлануда) және ұялы телефондарға (iOS және Android) арналған кросс-платформалық әзірлеуге арналған негіз болып табылады.

Ерекшеліктер:

  • барлық платформалар үшін бірыңғай кодтық база;

  • кез келген басқару (визуалды компонент) басқа компоненттер үшін контейнер (тектік) бола алады;

  • пішінде компоненттердің өте жетілген салыстырмалы орналасуының (20 түрі) болуы;

  • LiveBinding кез келген пайдаланушы интерфейсіне немесе графикалық нысандарға деректердің немесе ақпараттың кез келген түрін қосуға мүмкіндік береді;

  • пішін/компонент стильдерінің болуы;

  • Multi-Device Preview әр платформа үшін көрнекі көрсетілімді теңшеуге мүмкіндік береді;

  • FireUI Live Preview - нақты уақытта нақты құрылғыларда қолданбаның көрінісін көрсетеді.

Мүмкіндіктер:

  • әрбір платформаның жергілікті API пайдалануы, сондай-ақ үшінші тараптың жергілікті кітапханаларына қоңырау шалу мүмкіндігі;

  • барлық сенсорлармен өзара әрекеттесу (GPS, акселерометр, компас, Bluetooth (соның ішінде LE) және т.б.);

  • push хабарландыруларын қолдау, IoT;

  • асинхронды HTTP сұрауларын қолдау;

  • көптеген деректер қорларына қолдау көрсету (MsSQL, MySql, Oracle, PostgreSQL, MongoDB және т.б.);

  • бұлттық қызметпен жұмыс істеу (Amazon, Azure);

  • Android қызметін қолдау.

Кемшіліктері (қазіргі уақытта):

  • жергілікті сыныптарды теңшеуге қолдаудың болмауы;

  • нақты нәрселерді жүзеге асыру мүмкін емес (виджеттер, кеңейтімдер (iOS) және т.б.) немесе бубенмен би қажет (фондық қызмет, хабар тарату және т.б.);

  • Splash экранын (бастапқы экран) теңшеу, жұмсақ тілмен айтқанда, жетіспейді;

  • FMX басқару элементтері визуалды түрде түпнұсқаға ұқсас өзіндік көрсетуді (визуализация, сызу) пайдаланады;

  • жергілікті басқару құралдарын пайдалану дененің үлкен қозғалыстарын қамтиды;

  • құрамдас бөліктердің ұясы көп болған кезде, керемет нәрселер орын алады: қолданба әртүрлі жерлерде бұзылады, фокусты жоғалтады, қатып қалады және т.б.;

  • мобильді платформаларда қосымшаны жөндеудің ақпараттық мазмұны нөлге тең;

  • мобильді платформалардағы қателердің сипаттамалары пайдасыз «0x00000X қатесіне» азайтылды;

  • компиляция уақыты орта және ірі жобалар үшін ең жақсы болғысы келеді;

  • әрбір платформа үшін мобильді қосымшаларды жылтырату үшін файлды пайдалану қажеттілігі;

  • Intel Atom архитектурасына қолдау жоқ;

  • бәсекелестермен салыстырғанда жеткіліксіз баға.

Артықшылықтары:

  • соңғы уақытта өнімнің де, қоғамдастықтың да өте белсенді дамуы, көбірек жаңа технологияларды қолдау;

  • тегін және коммерциялық компоненттердің үлкен санының болуы;

  • Қолданбаның жылдамдығы жергілікті бағдарламаға өте жақын;

  • өте жетілдірілген визуалды редактор және жалпы орта, стильдердің болуы;

  • қосымшаны Win жүйесінде сынау, содан кейін ғана оны құрылғыларда орналастыру мүмкіндігі, бұл әзірлеуді айтарлықтай жылдамдатады;

  • режимді/платформаны білекпен сипау арқылы өзгерту;

  • PAServer Apple OS үшін әзірлеу кезінде MacO-мен оңай өзара әрекеттесуді қамтамасыз етеді;

  • 3D графикасын қораптан тыс қолдайды.

Қорытындылай келе, соңғы екі жылда FireMonkey бизнес-қосымшаларды және т.б. кросс-платформалық әзірлеуге арналған кәсіби құралға айналғанын айтқым келеді. Көптеген кемшіліктер бірте-бірте шешілуде және әрбір шығарылым сайын өнім заманауи және өзін-өзі қамтамасыз етеді, сонымен қатар Delphi тілінің өзіне қатысты көптеген жылдар бойы тоқыраумен байланысты қалыптасқан скептицизм де жойылады. FireMonkey-де жаңа жобаларды жазу «қауіпсіз» және перспективалы.

Өткен жылдың қыркүйек айында шыққан Delphi XE2 инновациялардың рекордтық санын қамтиды.
Delphi XE2 мүмкіндіктерінің қысқаша шолуы қазірдің өзінде Habré сайтында жарияланған. Бірақ, әрине, ең таңғаларлық инновация - FireMonkey платформасы, мен бұл жерде оған аздап назар аударғым келеді.
Мен материалдарға сілтемелердің шағын таңдауын жасадым, бұл сізге осы платформа туралы азды-көпті түсінік алуға көмектеседі деп үміттенемін. Бірақ алдымен білмейтіндер үшін FireMonkey дегеннің не екенін қысқаша айтып беремін.
Embarcadero Technologies FireMonkey-ті Windows, Mac және iOS үшін бай бизнес-қосымшаларды жасауға арналған платформа ретінде орналастырады. Сонымен қатар, бұл платформа әрбір ОЖ-ға тән, яғни. FireMonkey көмегімен жасалған қолданбаны іске қосқан кезде ешқандай қосымша қондырмалар пайдаланылмайды.
FireMonkey тікелей OpenGL немесе DirectX сияқты жергілікті графикалық кітапханаға (ОС тұрғысынан) сілтеме жасайды. Осылайша, GPU тұрғысынан ең жақсы шешім ұсынылады.
FireMonkey архитектурасының өзегі сыныптардың қуатты кітапханасы (визуалды құрамдастарды қоса алғанда).
Мақсатты платформа компиляция процесі кезінде таңдалады.
FireMonkey бірінші нұсқасы тек Win32, Win64, MacOSX және iOS-қа қолдау көрсетті, бірақ Embarcadero оны болашақта бірнеше басқа платформаларға тасымалдауды жоспарлап отыр.

Нені ескеру керек?

FireMonkey платформасы 3D қосымшаларын әзірлеуге арналған кең құралдарды қамтамасыз еткенімен, оны ойын қозғалтқышы деп санауға болмайды. FireMonkey арнайы бизнес-қосымшаларды әзірлеуге арналған платформа ретінде орналастырылған.
Қазіргі уақытта өнім эволюциясының бастапқы сатысында. Және көптеген функционалдылық FireMonkey сапалы және сандық өзгерістерге ұшырауда.

Төмендегі сілтемелер жаңа платформаның негізгі мүмкіндіктерін түсінуге көмектеседі деп үміттенемін.
Embarcadero веб-сайтындағы ресми өнім беті (орысша)

Ағылшын тіліндегі материалдардың арасында мен серияны ерекше атап өткім келеді (ағылшын тілі)

Не көру керек?

Қатысты соңғы нұсқасы Delphi-де өнімнің мүмкіндіктеріне және онымен жұмыс істеуге арналған бейнематериал бұрынғыдан да көп. Ресми, Embarcadero және тәуелсіз әзірлеушілер. YouTube сайтында FireMonkey туралы көптеген бейнелер бар, сіз тек іздеуді пайдалана аласыз. Осы көп материалдың ішінде мен Марко Канту - RAD in Action бастапқы бетіндегі үш бейне сериясын бөліп көрсетемін, осылайша менің зерттеуіме пайдалылық векторын беремін.

Сіз Embarcadero өзінің кросс-платформалық графикалық интерфейсті - FireMonkey құру туралы жаңа көзқарасын белсенді түрде алға жылжытып жатқанын білесіз. олар оны фреймворк деп атайды, бірақ оның қазіргі күйі үшін ол тым керемет естіледі). RuNet-те бірінен соң бірі конкурстар жарияланады, вебинарлар өткізілуде, соңғысының сапасы көп нәрсені қалағанымен, белсенділік көңіл көншітерлік. Енді, шын мәнінде, тақырыпқа. Соңғы конкурс аясында оқуға арналған қосымшаның қандай да бір түрін әзірлеу ұсынылды. Ал кеше Евгений Чмелдің авторлығымен тағы бір жұмыс пайда болды ( Бұл фамилия бейім ме, жоқ па білмеймін). Бұрын көрген қарапайым «бір пішінді» түрлерінен айырмашылығы, мұнда маймылды барлық мүшелерімен тарту әрекеті жасалды: стилизация, 3D, шейдер эффектілері ( Embarcadero евангелистері GPU жеделдетілген графикасы туралы сөйлескенді ұнатады :))). Одан не шыққанын көрейік. Вебинарларды көрмегендер үшін мен кішкене шегініс жасаймын. Вебинарлардың бірінде Embarcadero евангелисті Всеволод Леонов Silverlight SDK және Windows эмуляторыТелефон 7 оның компьютерінде «жұмыс істемеді» (бұл дәйексөз), себебі... Оларға бейне адаптер немесе GPU параметрлері ұнамады. Бірақ FireMokey көмегімен жасалған қосымшалар, деп жалғастырады Всеволод, мүлдем талап етпейді аппараттық құрал. Бізді қалай өтірік айтқанын көрейік. Марк Русиновичтің Process Explorer v15.05 нұсқасы біздің бейтарап куәгер болады. Сонымен, Евгений қосымшасын жүктеп алып, іске қосыңыз ( Мен Евгенийдің қосымшасының скриншоттарын ұсынбаймын, олар оның жұмысына сілтемеде қол жетімді. Бұлыңғыр қаріптерге назар аударыңыз).

Қолданбаны іске қосты. Тұтынуды қарастырайық:

Әдепсіз, бірақ кешіре аласыз» озық технология" «Сабақтар» бөліміне өтіп, «5-сабақ» таңдаңыз. Сахнаға дайындық басталады. Бұл процесс ұзақ ( 3,3 ГГц жиілігі бар төрт ядролы Phenom II-де маған бір минуттан аз уақыт кетті.), сабыр бол. Сахна салынған. Тұтынуды қарастырайық:

Маймыл жақсы тамақтанды. Өте жақсы. Енді тінтуірді жауап опциясының түймелерінің үстіне жылжытып көріңіз. GUI өте баяу әрекет ететін сияқты, солай емес пе? CPU пайдалану графигін қараңыз ( Менің айтайын дегенім, оны өзіңіз, компьютеріңізде сынап көруіңіз керек) – осы сәттерде оның жүктемесі 100%-ға жақындайды ( Менде төрт ядролы процессор үшін ~ 21,5% болды, бұл бір ядролы үшін 86% -ға тең). Бірақ біреу бізге GPU жеделдетілген графика туралы айтты. Жарайды, ары қарай жүрейік. Сабақта барлық сұрақтарға жауап береміз. Тұтынуды қарастырайық:

Көздерің ашылып қалды ма? Енді, салыстыру үшін, FarCry 3D атқышы белсенді геймплеймен қанша тұтынатынын қараңыз ( деңгейі Фабрика деп аталады, егер біреу қызығушылық танытса) 1440x900 толық экран режимінде жұмыс істейді:

Өзіңіздің қорытындыларыңызды жасаңыз.

Delphi, C++Builder және JBuilder сияқты әлемге әйгілі құралдарды жасауға жауапты CodeGear бөлімшесі, сондай-ақ Interbase дерекқорын басқару жүйесі құралдарымен танымал Embarcadero Technologies құрамына енгеніне үш жылдан астам уақыт өтті. дерекқорды жобалау және басқару үшін және екі жылдан бері біз журналымыздың беттерінде танымал құралдарды әзірлеуде не күтуге болатынын талқыладық. Ресейлік әзірлеушілер. Біз Embarcadero Technologies компаниясының әзірлеушілермен байланыс жөніндегі вице-президенті және бас евангелист Дэвид Интерсимоне мен Embarcadero Technologies өкілдігінің басшысы Кирилл Ранневтен соңғы екі жылда осы салада қандай жаңалықтар жасалғаны және одан не күтетіні туралы әңгімелесуді сұрадық. жақын болашақ.Ресей. Біздің ең кішкентай оқырмандарымыз үшін бұл Дэвид пен Кириллдің ComputerPress-ке берген бірінші сұхбаты емес екенін хабарлаймыз - біздің ынтымақтастығымыз екінші онжылдықта жалғасып келеді. Шамамен бірдей жылдар бойы біз Embarcadero өнімдеріне көп көңіл бөлетін дерекқорды басқару құралдарының шолуларын мерзімді түрде жариялап отырдық.

ComputerPress:Дэвид, сіздің бөлімше үш жыл бойы Эмбаркадеро құрамында болды. Екі жыл бұрын сіз оның мақсаттарыңыз бен рухыңызға жақын компанияның бір бөлігі болғаныңызға ынталы едіңіз. Осы уақыт ішінде бірдеңе өзгерді ме? Сізде және сіздің әріптестеріңізде бұрынғыдай ынта бар ма?

Иә, мен әлі де өте ынталымын. Біз Embarcadero компаниясына кіргеннен бері орын алған басты өзгеріс Delphi-ді дамытуға көп инвестиция құйылды. Әзірлеу құралдарымен жұмыс істейтіндердің саны артты, біз әзірлейтін немесе қажет болған жағдайда иеленетін технологиялардың саны артты.

Біз Мәскеуде демонстрациялауды жоспарлап отырған RAD Studio XE 2 шығарылымы Windows жүйесінің 16 биттік нұсқасы үшін жасалған Delphi бағдарламасының бірінші нұсқасынан бергі үлкен мүмкіндіктері мен қолдау көрсетілетін платформалары көп осы өнімнің ең үлкен шығарылымы болып табылады. бұл компоненттік тәсіл мен компиляцияны машиналық кодқа біріктіретін инновациялық өнім болды. Енді біз тек Windows үшін ғана емес, сонымен қатар Macintosh үшін де әзірлеуді қолдаймыз, веб-әзірлеуді және қосымшаларды жасауды айтпағанда мобильді құрылғылар, және әртүрлі платформаларға арналған бұл қолданбалардың бір коды болуы мүмкін.

Жаңа әзірлеу платформасы - FireMonkey - бұл Embarcadero мен жақында сатып алынған Уланудеден сатып алынған ресейлік KSDev фирмасының бірлескен күш-жігері. векторлық графика, DirectX және OpenGL, графикалық эффектілерді құру технологиялары және Delphi компоненттеріқолдану GPU PixelShader 2.0 көмегімен. Біз KSDev компаниясын (ksdev.ru қараңыз) бір жыл бұрын сатып алып, іске қостық ынтымақтастықтарқолданбалы пайдаланушы интерфейсін құру, дерекқорды біріктіру, GPU графикасын өңдеу және операциялық жүйені біріктіру үшін Delphi және C++Buider құрамдастары бар FireMonkey қолданбаларын әзірлеу платформасын қамтитын көп платформалы әзірлеу құралын жасау.

FireMonkey көмегімен сіз CPU және GPU бірге жұмыс істейтін қолданбаны жасай аласыз, содан кейін оны Windows, Mac OS немесе iOS үшін құрастыру үшін әртүрлі компиляторлар мен Run-time Libraries (RTL) пайдалана аласыз. Әртүрлі графикалық кітапханаларды пайдаланып бағдарламалауды үйренудің, әртүрлі координаттар жүйелері мен әртүрлі мүмкіндіктері бар әртүрлі платформалардың API интерфейстерін үйренудің орнына Delphi және C++ Builder қолданбаларын пайдаланатын әзірлеушілер бір құрамдасқа негізделген тәсілді пайдалана алады, пішіндерді көрнекі түрде өңдейді және дерекқорларға қосыла алады. компонентті тінтуірмен жылжыту. Бұл әртүрлі платформаларда жұмыс істейтін қолданбаларды жасаудың түбегейлі жаңа тәсілі және бұл болашақ. Қолданбаңызға басқа операциялық жүйелер мен платформаларға қолдау қосқыңыз келсе, оны қайта құрастырып, дамытудың қажеті жоқ - тек оны қайта құрастыру қажет.

Біз төл кодты жасайтын жаңа компиляторларды жасаймыз. Бүгінгі күні 32 және 64 биттік Delphi компиляторлары бар Windows нұсқалары, Mac OS 10 жүйесінің 32 биттік нұсқалары. Біз Delphi және C++ Builder компиляторларының келесі буынында жұмыс істеп жатырмыз, бұл сізге осы және Android немесе Linux сияқты басқа платформалар үшін жоғары өнімді машина кодын жасауға мүмкіндік береді. әртүрлі компиляторлар мен жұмыс уақыты кітапханаларын пайдалану арқылы бірдей дизайнды, бірдей құрамдастарды, бірдей кодты сақтаңыз.

Көріп отырғаныңыздай, менде ынта-жігерге жеткілікті себептер бар. Мен бүкіл әлемде кездесетін әзірлеушілер Embarcadero Delphi және C++ Builder, сондай-ақ PHP әзірлеу құралдарына үлкен қаржы бөлетінін біледі.

КП:Соңғы екі жылда екі компанияның құралдарын біріктіруде қандай жетістіктерге жеттіңіз? Эмбаркадероның осы саладағы болашаққа жоспары қандай?

Д.И.: CodeGear Embarcadero құрамына кірген кезде компанияның Торонтода, Монтеррейде және Румынияда әзірлеу топтары болды, біз Скотс алқабында және Ресейде, Санкт-Петербургте болған және әлі де орналасамыз. Embarcadero-да әзірлеушілер мен дерекқор әкімшілеріне арналған құралдар болды, CodeGear-да қолданбаларды әзірлеуге арналған құралдар болды, бірақ соңғысы дерекқорды да пайдаланады. Компаниялардың бірігуі – бұл тәжірибенің, мәліметтер базасы саласындағы білімнің, кодты оңтайландырудың, соның ішінде серверлік кодтың жиынтығы. Компаниялардың бірігуі сонымен қатар кәдімгі Windows қолданбасын пайдалану өте оңай нәрсеге (iPhone немесе басқа құрылғыларға арналған қосымшалар сияқты) айналдыруға арналған арнайы технология AppWave жаңа өнімін жасауға әкелді. AppWave қолданбаны орнатуға емес, оны жай ғана таңдап, дайындалған қолданбаларды сақтау серверінен (бағдарлама) іске қосуға мүмкіндік береді және ол пайдаланушының компьютерінде оның тізіліміне және жүйелік аймағына өзгерістер енгізбестен орындалады. файлдық жүйе. Айтпақшы, AppWave қолданбалы браузері Delphi тілінде жазылған. Embarcadero Dephi-ді өз дамуы мен қолданбаларды әзірлеу тәжірибесі үшін пайдаланады.

iPhone (iOS) қолданбасы жасаған
FireMonkey платформасын пайдалану

Сондай-ақ, қолданбаларды жасау кезінде SQL сұрауларын оңтайландыру үшін әзірлеу құралдары мен DB Optimizer интеграциясын пайдалануға болады. SQL кодын тікелей DB Optimizer бағдарламасына беру арқылы сіз оны профильдеуге, оны тексеруге және оңтайландырылған нұсқаны әзірлеу ортасына қайтаруға болады. Embarcadero-ның дерекқор тәжірибесі DataSnap технологиясын да жетілдірді. Торонтодан келген әзірлеушілердің арқасында біз көп деңгейлі жүйелер мен дерекқорлардың архитектурасы туралы көп білім алдық. Қазір екі компанияда сервер кодын және сақталған процедураларды жасауда бірлескен тәжірибеміз бар. Бізде RapidSQL және DB Change Manager сияқты құралдар, сондай-ақ сервер кодын жасауды жеңілдететін әзірлеу орталары бар - мысалы, Code Insight және Code Completion технологиялары SQL Insight және SQL Completion технологияларын жасауға мүмкіндік берді. Клиент пен сервер кодын жасаудағы ортақ тәсілдер, біздің ортақ философиямыз дерекқорды басқару құралдары мен қолданбаларды әзірлеу құралдарына ортақ мүмкіндіктер беруге мүмкіндік береді.

Кирилл Раннев:Мен маңызды нәрсе қосқым келеді. Коммерциялық тұрғыдан алғанда, біздің құралдарды қалай жеткізуіміз өте маңызды. Мысалы, жаңа шығарылым RAD Studio XE 2 Ultimate DB Power Studio құралдарының толық жиынтығын қамтиды. Бұл RapidSQL сұрауын әзірлеу ортасын, DB Change Manager өзгертулерді басқару құралын және DB Optimizer сұрауын оңтайландыру құралын қамтитын өте қуатты құралдар жиынтығы, өзгертулерді басқару арқылы әзірлеу және орналастыру процесінің маңызды бөлігін орындауға мүмкіндік береді. деректер үлгісі, дерекқор, код және т.б. Бұл технологиялардың өте жақсы және дұрыс үйлесімі.

Д.И.:Бірақ қажет болса, әзірлеушілер нұсқаларды басқару үшін Subversion қолданбасын пайдалана алады бастапқы коджәне метадеректер нұсқасына арналған DB Change Manager. Сервер кодын оңтайландыру үшін код профилін және DB Optimizer бағдарламасын, сервер кодын құру және жөндеу үшін RapidSQL және қолданбаларды құру және жөндеу үшін әзірлеу орталарымызды пайдалануға болады. RAD Studio XE Ultimate Edition технологияларының бұл тіркесімі дерекқор мен қолданбаларды әзірлеу үлгілері арасындағы параллельді көрсетеді. Delphi және C++ Builder көмегімен бизнес-қосымшаларды құрастыратын көптеген әзірлеушілер деректер базасымен жұмыс істейді және бұл құралдарды қажет етеді, ал RAD Studio XE Ultimate Edition мұндай әзірлеушілер үшін тамаша комбинация болып табылады.

КП:Қазіргі пайдаланушы енді Windows платформасының пайдаланушысы емес. Біз мобильді құрылғыларды, iPhone, iPad, Android платформасына негізделген құрылғыларды қолданамыз. Бұл әзірлеушілер оқытуға инвестицияны айтарлықтай арттырмай-ақ әртүрлі платформаларға бағыттай бастауы керек дегенді білдіреді - яғни әмбебап құралдар қажет. Платформа өндірушілерінен әмбебап құралдарды күту шындыққа жанаспайтыны анық, және бұл мәселеде біз тек тәуелсіз құралдар өндірушілеріне сене аламыз. Embarcadero-ға қалай сене аламыз?

Д.И.:Бізде платформаны қолдау тұрғысынан әлі де көп нәрсе бар. Бүгін біз iPhone және iPad үшін iOS платформасына қолдау көрсетуді енгіземіз, содан кейін Android платформасына негізделген смартфондар, Windows 7 және Blackberry қолдауымызды алады. RAD Studio XE 2 бағдарламасында біз iOS үшін FireMonkey платформасын құрудан бастадық, содан кейін FireMonkey-ті басқа платформаларға жеткіземіз.

Сонымен қатар, телефондарға арналған сенсорлық экрандарды қолдайтын операциялық жүйелердің үлкен саны бар, планшеттік компьютерлержәне жұмыс үстелі құрылғылары және біз оларға қолдау көрсетуді жалғастырамыз. Сонымен қатар, дауыс, қозғалыс, биометриялық жүйелер, акселерометрлер, сондықтан біз барлық әзірлеушілер жаңа платформалардың артықшылықтарын пайдалана алатындай етіп FireMonkey-ді кеңейтуді жалғастыруымыз керек. Мысалы, Microsoft Kinect құрылғысы Xbox 360 жүйесіне арналған, ал қазір Windows үшін сәйкес SDK (Software Development Kit) бар. Бізде қолданбаны басқару үшін қозғалысты әдетте тінтуір немесе пернетақта сияқты қолданатын мысалдар бар.

Көптеген күрделі графикасы бар қолданбаларды жасағанда, сіз жаңа пайдаланушы интерфейстерінің бүкіл әлемін жасайсыз. Егер біз операция бөлмесімен айналысатын болсақ Windows жүйесі, біз оның қолданбасын инкапсуляциялаймыз бағдарламалық интерфейс VCL кітапханасындағы Windows API (Visual Component Library - Delphi және C++ Builder әзірлеу құралдарының бөлігі болып табылатын визуалды компоненттер кітапханасы. - Ескерту ред.), айтпақшы, оны әрі қарай қолдануға болады. FireMonkey-де біз API операциялық жүйесінің инкапсуляциясын жасаймыз. Бірақ бүгін біз фигуралар мен графиканы әлдеқайда кеңірек өңдейміз. Сондай-ақ анимация және арнайы әсерлер кеңістігіне физикалық қасиеттерді қосуға болады. Сонымен қатар, пайдаланушы интерфейстерін құруға арналған көптеген басқа қосымша мүмкіндіктер бар, оларды біз келесі бірнеше жылда әртүрлі платформалар, мобильді және планшеттік құрылғылар үшін енгіземіз.

Microsoft жақында жариялады егжей-тегжейлі ақпаратбір жылдан кейін шығатын Windows 8 туралы. Біз VCL кітапханасында және FireMonkey платформасында бұл жаңалықтарды қолдаймыз. Бірақ Delphi тек Windows жүйесіне ғана емес, сонымен қатар Macintosh, iPhone және iPad-қа арналған әзірлеу құралы болып табылады. Біз сондай-ақ PHP өнімдерін әзірлейміз, jQuery Mobile қызметін қолдаймыз, мобильді клиенттік қолданбаларды әзірлеу үшін iOS API пайдаланамыз және клиенттік JavaScript, HTML және каскадты мәнерлер кестелерін жасау үшін шеберлер мен құралдарды пайдаланып серверлік PHP қолданбаларын жасаймыз. Біз PHP қолданбалары мен клиенттік қосымшалардан бумаларды жасай аламыз iPhone iOS, және мұндай клиент онымен байланысады PHP сервері. Ал ол, өз кезегінде, дерекқор серверімен және веб-сервистермен - бизнеске қажет барлық нәрселермен байланысады.

RadPHP XE2 әзірлеу ортасы. Мобильді веб-қосымшаны құру
iPhone 3G үшін jQuery Mobile компоненттерін пайдалану

Басқаша айтқанда, біз FireMonkey және VCL мүмкіндіктерін, соның ішінде мобильді платформаларды қолдауды кеңейтуді жоспарлап отырмыз.

КП: FireMonkey платформасы туралы толығырақ айтып бере аласыз ба?

Д.И.:Жоғарыда атап өткенімдей, Windows үшін жасалған VCL кітапханасы одан әрі дамып, жетілдірілетін болады. Бірақ бүгінгі күні, егер сіз нақты іскери қосымшаларды әзірлеуді қаласаңыз, оларды әртүрлі платформалар үшін жасауыңыз керек. FireMonkey платформасы осыған арналған. Ол жоғары ажыратымдылықтағы пайдаланушы интерфейстерін, жоғары өнімді 3D графикасын, кадр жиілігін жоғарылатуды қолдайды және ең бастысы бұл үшін графикалық процессорды пайдаланады.

Мұндай мүмкіндіктерді ғылыми, инженерлік және іскерлік қосымшаларды жасау кезінде пайдалануға болады. Мұндай қолданбалар dbExpress технологиясын пайдалана отырып, әлі де ClientDataSet немесе DataSource сияқты әзірлеушілерге таныс визуалды емес компоненттерді пайдалана отырып, DataSnap технологиясын пайдалана отырып, кез келген дерекқорға, SOAP және REST серверлеріне қосыла алады. Сіз екі және үш өлшемде тартымды басқару элементтерін, қораптары бар түймелерді, әдеттен тыс кестелерді және басқа интерфейс элементтерін жасай аласыз. Дайын 3D үлгісін қолданбаға жүктеп, оны бұруға және әртүрлі бұрыштардан көруге болатын 2D пішініне қосуға болады. Деректер текшесін немесе 3D бизнес диаграммасын жасауға және оны тінтуірді, пернетақтаны немесе тіпті Kinect құрылғысын пайдаланып бұруға болады немесе текшенің ішіне кіріп, оның әртүрлі беттерін ішінен қарауға болады. Мұның бәрін жоғары жылдамдықты GPU көмегімен жасауға болады. Сол қолданбаны Mac OS сияқты басқа платформа үшін құрастыруға болады.

Айналмалы деректер текшесін қамтитын қолданба,
оның шеттеріне орналастырылған

Немесе нөлден бастап 3D пішінін жасауға және пайдаланушы интерфейсінің бөліктерін жарықтандыру және айналдыру үшін камералар мен шамдарды пайдалануға болады. Пішін дизайнерінде жобалау кезінде 3D пайдаланушы интерфейсін қолдау үшін кірістірілген орта бар.

Windows жүйесінде екі өлшемді графикамен жұмыс істеуге арналған жоғары ажыратымдылық Direct2D кітапханаларын және үшін пайдалануға болады 3D графикасы- Direct3D. Mac OS жүйесінде Quartz және OpenGL кітапханалары бірдей мақсаттарда пайдаланылады. iOS үшін Quartz және OpenGL ES кітапханалары пайдаланылады. Бірақ мұның бәрі әзірлеушіден жасырын - ол FireMonkey платформасын, оның координаттар жүйесін және қолданбалы бағдарламалау интерфейсін осы кітапханалар туралы ойланбай пайдаланады және әртүрлі платформалар үшін бірдей қосымшаны құрастыра алады.

VCL деген не екенін еске түсірейік. VCL - Windows API айналасындағы құрамдас қаптама. Біз ресурстармен, мәзірлермен, диалогтық терезелермен, түстермен, стильдермен, Windows хабарламаларымен айналысамыз. VCL-ден айырмашылығы, көп платформалы қаптама бола отырып, FireMonkey бірдей оқиға мен құрамдас үлгілерді сақтайды, бұл оқиғалар тұрғысынан ойлауға мүмкіндік береді (мысалы, OnClick, OnHasFocus, onMouseDown және onKeyDown оқиғалары), бірақ Macintosh немесе iPhone оқиғаларын өңдейді.

FireMonkey платформасы да бірге келеді толық жүйепайдаланушы интерфейсінің элементтерінің анимациясы. Бұл, әрине, Pixar стиліндегі жан-жақты анимация жүйесі емес, бірақ растрлық анимация, UI элементінің фокусын бөлектеу және векторлық графика сияқты әсерлерге мүмкіндік береді. Әзірлеушіге 50-ден астам визуалды эффектілер қол жетімді: бұлыңғырлау, кескінді ақ-қараға айналдыру, еріту, өту, шағылыстыру, көлеңкелер жасау - қазіргі уақытта кез келген компьютерде табылған заманауи графикалық процессорларда бар әсерлердің барлық түрлері. FireMonkey платформасы арқылы құрастырылған қолданба графиканы көрсету және пайдаланушы интерфейсін жасау бойынша барлық жұмыстарды атқаратын GPU-ға командаларды жібереді. Бола тұра Орталық Есептеуіш Бөлімесептеулер мен операциялық жүйеге қоңыраулар үшін тегін. Әзірлеуші ​​тек құрамдастарды дұрыс орналастыра алады.

FireMonkey платформасындағы ең негізгі нәрсе - оның пайдаланушы интерфейсін құру тәсілі. Орналастыру орындары бар растрлық графикамәзірлер, түймелер және айналдыру жолақтары сияқты интерфейс элементтерінде. FireMonkey-де біз бұл мақсат үшін GPU-мен жұмыс істейтін векторлық графиканы қолданамыз. Бағдарламалау тұрғысынан алғанда, бұл бәрібір бірдей басқару элементтері, бірақ оларды көрсетудің барлық жұмысын графикалық процессор жүзеге асырады. Біз басқару элементтеріне стильдерді қолдана аламыз, қолданбаны Mac OS немесе Windows қолданбасы сияқты жасай аламыз, өз стильімізді жасай аламыз, интерфейс элементтеріне өз стильдерімізді қолдана аламыз (мысалы, пішін өңдегішінде оның мәнерін өзгерту арқылы түймені тікбұрышты немесе дөңгелек етіп жасай аламыз. ) - бұл үшін әзірлеу ортасында стиль редакторы бар. Сіз өзіңіздің стильіңізді жасай аласыз немесе дайын қолданбаның мәнерін өзгерте аласыз.

FireMonkey платформасы - әзірлеу құралдары
және қолдау көрсетілетін платформалар

Естеріңізде болса, VCL кітапханасында басқару элементтерінің шектеулі саны болды - контейнерлер (яғни оларға басқа элементтерді орналастыруға мүмкіндік береді) және FireMonkey-де әрбір басқару элементі контейнер болып табылады. Бұл әрбір басқару элементінде кез келген басқа басқару элементі болуы мүмкін дегенді білдіреді. Мысалы, ашылмалы тізім элементтерінде кескіндер, түймелер, өңдеу өрістері және басқа басқару элементтері болуы мүмкін. Сондай-ақ құрамдастарды қабаттарға орналастыруға болады.

FireMonkey рендеринг жүйесі өте икемді - ол Direct2D, Direct3D және OpenGL кітапханаларын пайдалана алады, GPU-ға командалар жібереді. VCL-де бірдей нәрсеге қол жеткізу үшін бөлек экраннан тыс буферді жасау керек болды, оған сәйкес графикалық кітапхана функцияларын шақыру арқылы кескін жасаңыз, содан кейін оны пішінде көрсету керек.

FireMonkey қолдайтын графикалық әсерлердің мысалдары

GPU болмаса, 2D немесе 3D кескіндерін қолдануға және FireMonkey басқару элементтерін пайдалануға болады. Бұл жағдайда FireMonkey платформасы GDI+ кітапханаларын немесе басқа ұқсас кітапханаларды пайдаланады және 3D нысандарымен бірдей әсерлер мен анимацияларды немесе манипуляцияларды орындайды.

FireMonkey бағдарламасының тағы бір ерекшелігі жаңа жүйеинтерфейс элементтерін деректермен байланыстыру, ашық және икемді. VCL-де интерфейс элементтерінің екі түрі бар: деректерге байланысты және деректерге байланысты емес (мысалы, TDBEdit және TEdit). FireMonkey бағдарламасында әрбір басқару элементі кез келген түрдегі деректермен байланыстырылуы мүмкін. Бұл қарапайым өрнек, деректер жиынындағы өріс, әзірлеуші ​​жасаған нысандардан алынған деректер немесе әдіс шақыруларының нәтижелері болуы мүмкін.

Сонымен қатар, қосымшаны жасау кезінде оған дайын 3D үлгісін жүктеп, оны пайдалануға болады - мұндай мүмкіндіктер көбінесе іскерлік және инженерлік қосымшаларда қажет. Бізде логистикаға қосымшалар жасайтын клиент бар. Оларда болды Ақпараттық жүйе, Delphi көмегімен құрастырылған және оның ішінде - жоспарды сызып, мәліметтер көздерінен ақпаратты көрсететін қолданба. Жақында олар қызықты нәрсе жасады - олар AutoCAD-та толық автоматтандырылған 3D қоймасын салды және олардың қолданбасы автоматтандырылған жүк көтергіштің қоймада қалай қозғалатынын және тауарларды сөрелерге орналастыратынын көруге мүмкіндік береді. Және олар дереккөздерден алынған деректерді сәйкес суретке салады.

Қолданба мәнерлерін өзгерту мысалдары

КП:Қазіргі уақытта қандай 3D үлгі пішімдері қолданылады?

Д.И.:Бұл шығарылымда біз AutoCAD, Collada (ашық бастапқы 3D модельдеу құралы) үлгілерін жүктеуді қолдаймыз. Ескерту өңдеу.), Maya, көптеген 3D графикалық жеткізушілер қолдайтын OBJ пішімі.

КП:Тағы қандай пішімдерді қосуды жоспарлап отырсыз?

Д.И.:Біз 3DS (3D Studio MAX), SVG (әдетте бұл формат 2D векторлық графика үшін пайдаланылады, бірақ кейде 3D үшін), Google SketchUp қосуды жоспарлап отырмыз. Мүмкін біз басқа форматтарды қолдайтын шығармыз.

КП: FireMonkey көмегімен жасалған қолданбаларда 3D үлгілерін пайдалану сәйкес 3D модельдеу құралына лицензияны қажет етеді ме?

Д.И.:Жоқ, оны қажет етпейді. Біз тек үлгі файлын оқимыз. Біз үлгіні импорттап жатырмыз, бірақ оны экспорттамаймыз (бірақ, әрине, үлгіні өз пішіміңізде сақтайтын қолданбаны жазуыңызға болады). Біз өзімізді 3D модельдеу құралдарын өндіруші ретінде көрсетпейміз - бұл үшін сіз AutoCAD, 3D Studio Max, Maya немесе кез келген басқа 3D модельдеу құралын пайдалана аласыз және жасалған үлгілерді біздің қолданбаларға импорттай аласыз.

КП:Заманауи аппараттық платформаларда FireMonkey көмегімен жасалған қолданбалар қаншалықты өнімді?

Д.И.:Өнімділік айтарлықтай жоғары. Мысалы, үш сфера және үш жарық көзі қосулы 3D кескінін көрсету MacBook Proсекундына 100 кадр жылдамдығымен жүзеге асырылуы мүмкін. Немесе ол 600-ге жетуі мүмкін - бұл нақты не істеп жатқанымызға байланысты. Тағы да, бәрі GPU қуатына байланысты.

КП:Бұл FireMonkey көмегімен заманауи ойындар жасауға болатынын білдіре ме?

Д.И.:Біз әзірлеу құралдарын ойындарға арналған құралдар ретінде орналастырмаймыз. Дегенмен, заманауи графикалық процессорлардың жоғары өнімділігін пайдалана отырып, сіз FireMonkey көмегімен ойындар жасай аласыз - олар Direct3D немесе OpenGL көмегімен жасалады.

КП:Қимылдарды тану және басқа да жаңа нәрселерді қолдау саласында қазір қандай жұмыс істеп жатырсыз? Мұндай қолдау бар ма?

Д.И.:Бұл шығарылымда қимылмен қолдау әлі жоқ. Қимылды басқару элементтері FireMonkey-тің болашақ шығарылымында қосылады, бірақ әзірше операциялық жүйеге енгізілген қимылды қолдауды пайдалануға болады.

Михаил Филиппенко, Fast Reports, Inc директоры.

К.Р.:Біз FireMonkey технологиясының ресейлік тамыры бар екенін айттық - оның негіздері біздің елімізде құрылды, содан кейін технологияның өзі де, оны әзірлеушілер де Embarcadero-ға қосылды. Жалпы, RAD Studio және Delphi-де ресейлік компоненттің өскені қуантады. Бұған Санкт-Петербургтегі біздің даму орталығының қызметі және тәуелсіз ресейлік әзірлеушілердің үлесі кіреді. Мысалы, Rad Studio XE2 бүкіл әлемге танымал және біздің елде өте танымал FastReport есеп генераторын қамтиды. Ол Дондағы Ростовтан.

КП:Мен компиляторлар туралы айтқым келеді. IOS қолданбаларын құру кезінде қандай компилятор қолданылады?

Д.И.:Бізде iPhone немесе iPad үшін жеке Delphi компиляторы жоқ — бізде әлі сол құрылғыларда қолданылатын ARM процессорлары үшін компиляторлар әзірленген жоқ. iOS үшін біз уақытша тегін Паскаль компиляторын және жұмыс уақыты кітапханасын қолданамыз. Бірақ біз компиляторлардың келесі буынын, соның ішінде AWP процессорлары үшін жұмыс істеп жатырмыз. Бірақ Windows және Mac OS үшін компиляторлар бар, өйткені екі аппараттық платформа да Intel процессорларына негізделген.

КП:Соңғы екі жылда компиляторларды құру саласында қандай жұмыстар атқарылды?

Д.И.:Бізде Windows және Mac OS үшін 32 және 64 биттік Delphi компиляторлары бар. Ал біз Delphi және C++ компиляторларының жаңа буынымен жұмыс істеп жатырмыз. Олар әлі де орындалу үстінде, бірақ олар аяқталғаннан кейін бізде ARM процессорларына, Android платформаларына, Linux және олардың арасындағы барлық нәрсеге арналған Delphi компиляторлары болады. Бізде Windows және басқа платформаларға арналған 64 биттік C++ компиляторлары болады, олар ISO жаңа ғана қабылдаған C++ тілінің соңғы стандартымен үйлесімді.

КП: Embarcadero әзірлеу құралдарындағы бұлттық есептеулерді қолдау бүгінде не болып жатыр?

Д.И.: RAD Studio XE 2 бағдарламасында біз Platform Assistant көмегімен Microsoft Azure немесе Amazon EC2 бұлтына қолданбаларды жылжытуға қолдау көрсетеміз. Бізде кестелерді, екілік деректерді, хабарлар кезегін сақтауға арналған Azure үшін Cloud Storage және Amazon S3 үшін сервер құрамдастары бар. IN алдыңғы нұсқасы RAD Studio XE көмегімен біз қосымшаларды Amazon EC2 жүйесіне орналастыруға да қолдау көрсеттік, бірақ оған сақтау қолдауы болмады.

RAD Studio XE 2 жүйесінде бұлттық есептеулерді қолдау

КП:Екі жыл бұрын сіз жаңа All-Access шешімі туралы айттыңыз. Ол қаншалықты танымал болды? Оның жүйелік интеграторлар мен әзірлеушілерге қандай пайдасы бар?

Д.И.: All-Access шешімі және AppWave бұлттық құралы бүкіл әлемде кеңінен қолданылады. Олар жеке және үшінші тарап қолданбаларын пайдалануды жеңілдету үшін жасалған. Шын мәнінде, бұл лицензиялар мен қолданбаларды пайдалануды басқаруға арналған шешім және ол үшін ыңғайлы ірі компаниялар. Қолданбаларды басқаруға жауапты адамдардан тұратын арнайы топтары жоқ шағын фирмалар қолданбаны репозиторийге қойып, дерекқордан пайдаланушы атын таңдап, сол қолданбаларды қай жерде екенін есте сақтамай-ақ қолжетімді ете алады. лицензия кілтіжәне қанша лицензия бар. All-Access және AppWave браузері нұсқаларды да, қол жеткізуді басқаруды да басқаруға арналған.

К.Р.:Нарық соншалықты әртүрлі және пайдаланушылар әртүрлі, сондықтан бір шешіммен барлық қажеттіліктерді жабу мүмкін емес. Сондықтан біз қаптаманың әртүрлі шешімдеріне ұмтыламыз. Біз лицензиялау, лицензияны басқару және өнімді орнату әдістерін біріздендіру бойынша көп жұмыс жасадық. Шешімдердің бұл желісі тек Embarcadero өнімдеріне ғана емес, сонымен қатар кез келген басқа өнімге, соның ішінде компанияның ішкі әзірлемелеріне арналған лицензия мен қамтамасыз етуді басқару құралдарын қамтиды.

Пайдаланушыларға арналған тиімді жинақтарға орауыш әзірлеу құралдары бойынша жұмыс әлі де жалғасуда. Бізде All-Access - барлық Embarcadero өнімдерін біріктіретін супержинақ бар. Тұтынушы All-Access Platinum сатып алса, олар Embarcadero-да табылған барлық құралдарды алады. Бірақ кейде бұл жинақ артық болып шығады; мысалы, дерекқор мамандары үшін біз тағы екі жинақ жасадық - DB Power Studio Developer Edition және DB Power Studio DBA Edition. Олардың арасындағы айырмашылық мынада: әзірлеушіге біз RapidSQL – сервер кодын әзірлеу құралын ұсынамыз, ал администратор үшін – кірістірілген DBArtizan – мәліметтер қорын басқару құралы, RapidSQL-ге қарағанда кеңірек өнім. Кәсіби мамандар үшін бізде келесі толық қолжетімділік жинақтары бар: барлық өнімдерді қамтитын жинақ, әзірлеушілерге арналған DB Power Studio, әкімшілерге арналған DB Power Studio, сәулетшілерге арналған ER Studio Enterprise Edition және модельдеумен айналысатын кез келген адам. Қолданбаларды әзірлеуге және әкімшілерге арналған комбинациялар бар. Delphi әзірлеуші ​​құралы болып табылады және оған SQL әзірлеу және оңтайландыру құралдарын қосудың мағынасы бар. Соңында, DB Change Manager дерекқорларға олардың өмірлік циклі кезінде болатын өзгерістердің күрделілігін басқаруға арналған логикалық құрал болып табылады.

Осылайша, All-Access - әртүрлі өнімдер жиынтығының үлкен отбасының басшысы.

КП:Құпия болмаса, Ресейде All-Access қызметін кім пайдаланады?

К.Р.: Delphi негізінде All-Access сатып алған тұтынушыларымыз бар. Олардың көпшілігі күрделі клиент-сервер жүйелерін жасайды SQL серверіжәне Oracle, және оларға біздің кросс-платформалық дерекқор құралдары бірден ұнады. Бізде Delphi-мен бірінші нұсқасынан бері жұмыс істеп келе жатқан клиенттік компания бар және ол бір жыл бұрын ауыстырылды Delphi көмегімен All-Access жинағына. Бұл компанияның барлық әзірлеушілері пайдалануға кепілдік беретін екі құрал - Delphi және DBArtisan. All-Access-ке дерекқор жағынан келген тұтынушылар да бар. Олардың негізгі міндеті мәліметтер қорын басқару болып табылады, бірақ олар кейде қосымшаларды да әзірлейді. All-Access қолданбасын пайдаланатын клиенттерге медиа компаниялар, инжинирингтік компаниялар және басқа салалар кіреді.

Бөлек, мен шағын компанияларға тоқталғым келеді. Көбінесе шағын командаларда әзірлеуші ​​​​бәрін жасайды, және мұндай компания кейде бір немесе екі әзірлеушіге арналған үлкен All-Access өнім жинақтарын сатып алады. Үлкен командаларда әзірлеушінің де, мысалы, дерекқор әкімшісінің рөлін орындауы құпталмайды, сондықтан шағын өнім жиынтықтары әдетте ол жерде танымал, бірақ шағын компанияларда мұндай жауапкершілік комбинациясы қолайлы.

Delphi Architect - бұл модельдеу және бағдарламалау құралдарын қамтитын көп сатылатын өнім. Сатылған көшірмелер саны Delphi Enterprise нұсқасынан аз, бірақ ол да үлкен. 2010 жылы біз барлық елдер дағдарысты бастан өткергеніне қарамастан, сату көлемі бойынша үздік ел болғанымызды атап өткім келеді. Бұл өсім экономикалық факторлармен емес, 2009 жылдың соңында шыққан RAD Studio XE нұсқасы өте танымал болғанымен байланысты болды. Ал әзірше біз сатылымның одан әрі өсуін күтеміз.

Біз тағы бір орынды қадам жасадық, ол Ресейде өте танымал. Біздің өнімдердің әртүрлі нұсқаларын заңдастыру дәрежесі әртүрлі: нұсқасы неғұрлым жоғары болса, соғұрлым ол заңдастырылған, өйткені бұрынырақ бағдарламалық қамтамасыз етусоншалықты белсенді сатып алған жоқ. RAD Studio XE бастап, лицензия 2010, 2009, 2007 нұсқаларын, тіпті Delphi 7 кең таралған өнімін қамтиды.

Бүгінде әзірлеушілер жаңа жобалармен қатар, қолдау көрсететін жобалармен бетпе-бет келіп отыр. Көптеген жобалардан көшірілді бұрынғы нұсқалар Delphi 7 нұсқасына дейін және салыстырмалы түрде шағын ресурстармен жұмыс істеуді жалғастыра отырып, осы нұсқаның ішінде қалады. Ешкім оларды жаңа нұсқаларға көшірмейді, бірақ олар өміршең күйде сақталады. Енді біз RAD Studio XE және Delphi 7 екеуін де аз ақшаға алуға мүмкіндік береміз (Delphi 7 лицензиясының бағасынан төмен) - яғни біз әзірлеушіні жаңа жобаларды жүзеге асыру үшін де, қолдау жобалары үшін де заңдастырамыз.

КП: Embarcadero қауымдастығының қазіргі жағдайын қалай бағалайсыз?

Д.И.:Бұл қауымдастық үлкен және өте талапшыл. Оларға бәрі бірден қажет - олар әзірлеушілер. Бірақ кейде бір нәрсені дұрыс жасау үшін көп уақыт қажет.

Бірнеше жыл бұрын біз Windows компонентінің архитектурасын алып, оны Linux жұмыс үстеліне қойдық. Енді бұл дұрыс шешім болмағанын көріп отырмыз. Дұрыс шешім - қолданбалы платформа жасау. Әр түрлі платформалардағы қолданбалардың мәзірлері, терезелері, графикасы, желіге кіру мүмкіндігі және құрылғыға кіру мүмкіндігі бар. Әртүрлі платформалар болуы мүмкін әртүрлі модельдерағынды басқару немесе ерекше жағдайларды өңдеу, бірақ қолданба кодында біз бірдей сынақ блоктарын көреміз. Біздің жұмысымыз – әзірлеушілерге бизнес-қосымшаларды жасауды жеңілдету және сәйкес процессорлардың нұсқаулар жинағы қалай құрылымдалғанына және осы платформалардың басқа мүмкіндіктері қандай екеніне қарамастан, оларды пайдалануға арналған платформалар үшін құрастыру. FireMonkey - бұл мәселені шешу үшін дәл сізге қажет.

КП:Егер компания жаңа құрылғы жасаса және оған FireMonkey-де қолдау көрсетілетінін қаласа, бұл мүмкін бе?

Д.И.:Платформаға тәуелсіз фронтальды және платформаға тәуелді серверге ие болатын жаңа буын компиляторларымен бұл әбден мүмкін болады. Осы уақытта әрбір операциялық жүйе үшін біз компилятор мен жұмыс уақыты кітапханасын нөлден жасаймыз.

Кез келген заманауи жаңа құрылғы, әдетте, графикаға ие пайдаланушы интерфейсі(олардың көпшілігінде бар екі ядролы процессоржәне GPU) және әзірлеушілерге арналған стандартты SDK. Бұл FireMonkey жүйесінде құрылғы қолдауын жасауды жеңілдетеді. Егер жаңа құрылғыда тек кварц сияқты екі өлшемді графикаға арналған кітапханалар болса, біз FireMonkey жүйесінде мұндай құрылғыға қолдау көрсете аламыз, бірақ бұл шамамен бірнеше айға созылады. Дегенмен, көп нәрсе платформаға байланысты: барлық платформалар барлық мүмкіндіктерді қолдамайды, мысалы, iOS жүйесінде мәзірлер мен диалогтық терезелер жоқ және сіз мұндай қолданбалардың пішіндеріне сәйкес компоненттерді орналастыра алмайсыз.

КП:Әріптестермен жұмыс жасау саясатында бірдеңе өзгерді ме? Өнімдеріңізді пайдаланушылардың үлесін арттыру үшін қандай жұмыстар атқарылуда? Ресейде не істеп жатыр?

Д.И.:Біздің серіктестік экожүйеміз кең - біздің өнімдерімізде жоқ құралдар мен компоненттердің жүздеген өндірушілері бар және бізде технологиялық серіктестік бағдарламасы бар. Сондықтан әзірлеушілерге компоненттердің, технологиялардың және құралдардың кең ауқымы қолжетімді. Және олардың клиенттері үшін жасаған шешімдері олар тек біздің өнімдерді пайдаланғаннан гөрі жақсырақ. Ал сату үшін бізде көптеген елдерде кеңселер, сатушылар мен дистрибьюторлар бар.

К.Р.:Біз үшін серіктестердің саны емес, әрбір нақты серіктестің жұмысының сапасы маңызды. Әзірге біз серіктестер пулы ашық болғанымен, бар серіктестермен тығыз жұмыс істеуге назар аударғымыз келеді. Біздің серіктестеріміз көп, біз оларға технология жағынан көмектесуіміз керек. Біз әзірлеушілермен жұмыс істейміз, олар не қалайтынын біледі, нарықта не бар екенін біледі және серіктестердің мүмкіндіктері осыған сәйкес келуі керек.

Бізде Embarcadero-ға бизнес бағыты ретінде байыпты инвестиция салған іскер серіктестеріміз бар - оларда мамандарды дайындады, біздің өнімдерімізді сатады, осы желіге жауапты және біздің өнімдермен, прейскурантпен, маркетингпен не болып жатқанын бақылайтын арнайы қызметкерлер бар. Әрине, олар біздің өнімдерімізді анда-санда сататын компанияларға қарағанда біздің өнімдерімізді сатуда табысты.

КП:Дэвид, Кирилл, қызықты сұхбатыңыз үшін көп рахмет. Біздің басылымның және оқырмандарымыздың атынан сіздің компанияңызға әзірлеушілерге өте қажет таңғажайып құралдарды жасауда табыс тілеймін!

Наталья Эльманова қойған сұрақтар

FireMonkey «жаңа Delphi» негізгі технологиясы болып табылады. Осы түбегейлі жаңа кітапхананың мақсаттары, мүмкіндіктері және техникалық аспектілері туралы айтып беріңізші. Біраз уақыттан кейін артқа қарасақ, сіздің супер-танымал VCL-ді одан әрі дамытудан бас тартуыңыз қаншалықты қиын және негізді болды?

Ол нақты мақсатқа жету үшін Delphi технологиясын дамытудың негізгі бағыты ретінде таңдалды - әзірлеушілерді түбегейлі қайта даярлауды қажет етпей, бір бастапқы код базасына негізделген бір ортадан көп платформалы әзірлеу. Қазіргі классикалық және өте танымал VCL аясында бұл мүмкін емес еді; оның WinAPI-мен байланысы тым жақын болды, «генетикалық деңгейде» деуге болады.

VCL компоненттерінде интерфейс және оларды көрсету механизмдері бойынша функционалдық деңгей арасында «абстрактілі» қабат болған жоқ. Функционалдық деңгей— ол басқару элементі ретінде қалай әрекет етеді, ол қандай оқиғаларға әрекет етеді, пайдаланушының қандай әрекеттесуін қамтамасыз етеді. Дисплей— платформаға бағытталған визуализация әдістерін растрлық объектілер мен векторлық примитивтермен құрылған белгілі бір кескін ретінде шақыру. FireMonkey бастапқыда бақылауды екі құрамдас бөлікке қатаң бөлу принципін жүзеге асырды: «мінез-құлық» және «визуалды».


Всеволод Леонов, Embarcadero Technologies

Біріншісі, әдетте, VCL негіздерін емес, объектіге бағытталған бағдарламалаудың мәнін қайталайды. Компонент - бұл сынып; құрамдас сыныптар отбасылар мен модульдерді ажыратуға болатын иерархияны құрайды. Компоненттің класы оның көрсетілу жолымен еркін байланысты.

Көрнекі «сурет» динамикалық түрде қалыптасады, ол компонент класында қатаң жазылмайды. FireMonkey бағдарламасындағы кескін немесе «стиль» қолданба іске қосылған кезде құрамдас бөлікке жүктеледі. Бізде құрамдас бөлікке арналған қандай да бір функционалды жақтау бар және «мұқабаны» немесе «жабындыны» өзгертуге болады, бірақ неге? Бұл FireMonkey қолданбалары кез келген платформада түпнұсқа болып көрінуі үшін - Windows 7, Windows 8, Mac OS, iOS және жақын арада Android. Бұл VCL дәстүрлі монолитті класс құрылымы қамтамасыз ете алмайтын нәрсе.

Мұнда технологиялық тәсіл ерекше рөл атқарады. Негізінде, сіз VCL кітапханасын алып, оны WinAPI және басқа барлық ықтимал платформалық қоңыраулармен «толтыруға» болады. Мұны әлі де құрамдастардың өте шектеулі жиынында жасауға болады, бірақ VCL құрамында бірнеше жүздеген құрамдас бар, сондықтан бұл тәсіл VCL-ді жай ғана «өлтіруі» мүмкін. VCL-ге қол тигізбеу туралы шешім қабылданды, бірақ жаңа платформа - FireMonkey-де жаңа мүмкіндіктерді дамыту. Бұл технологияОл тіпті белгілі бір техникалық талғампаздыққа ие – жобаны нақты платформаға құрастыру кезінде Delphi IDE қажетті компиляторды қосады, ал интерфейс компоненттері платформа стилін алады.

Пайдаланушы үшін бұл тінтуірдің бір рет шертуі және бірдей бастапқы код болса, Delphi үшін мұндай көп платформалы кітапхананы жасау әзірлеушілердің көп жылғы қажырлы еңбегі.

FireMonkey жеке жаңа платформа ретінде енгізілетіні белгілі болған кезде, дұрыс бірге өмір сүру стратегиясын таңдау керек болды: Embarcadero VCL пайдаланушыларына қандай да бір түрде теріс әсер еткісі келмеді. Сондықтан біз келесі жоспарды таңдадық: VCL мүмкіндігінше жоғары үйлесімділікті қамтамасыз ету үшін идеялық және архитектуралық тұрғыдан тұрақты болып қалады, бұл жобаларды заманауи нұсқаларға көшіруді жеңілдетеді. FireMonkey дамуы VCL-ге қарамай, табиғи және параллельді жолмен жүреді.

Бұл шешімнің әлсіз жері - бір жоба аясында VCL-ден FireMonkey-ге өте проблемалы көшу. Бірақ жаңа жоба үшін әзірлеуші ​​нәтиже қолданбасының көп платформалы сипатын қамтамасыз ету үшін FireMonkey таңдай алады. IOS қолдауымен XE4 шығарылғаннан кейін біз Delphi-дің бәсекелестік артықшылықтары туралы айта аламыз. мобильді дамукорпоративтік ортада, ол жоспарланған Android қолдауын іске асырғаннан кейін ұлғайтылады.

Сондықтан VCL-ны дамытудан айқын «бас тарту» жоқ. Жаңа нұсқаларда Delphi-дің VCL бөлігі де дамиды. Бұл 64 биттік қолдауды, көрнекі компоненттер үшін стильді енгізуді, икемді динамикалық қосылымдар немесе «байланыстыру» механизмін жүзеге асыруды және VCL жобаларындағы дерекқорлармен жұмыс істеуге арналған FireDAC кітапханасын қосуды қамтиды. FireMonkey жасаған үлкен сапалы секіріспен салыстырғанда, VCL-дегі прогресс біршама әлсіз болып көрінеді. Дегенмен, VCL Delphi-дің ажырамас бөлігі болып табылады және көптеген жылдар бойы солай қалады. Платформалардың эволюциясы және ОЖ саласындағы қазіргі жағдай жұмыс үстелі жүйелеріжәне мобильді құрылғылар болашақ FireMonkey үшін болатыны соншалық.

Сұхбатта біз iOS қолдауын талқыладық, оқырмандарымызға соңғы RAD Studio XE4 басқа соңғы технологияларды қолдау туралы айтып берейік, мысалы, Windows 8 және WinRT, 64 биттік жүйелер, MacOS және т.б. Инновациялардан бүлінген заманауи бағдарламашыға тағы не ұсына алатыныңызды тізімдей аласыз ба?

Сірә, заманауи бағдарламашы инновациялардан «бұзылған» емес. Үшін ірі жобаларкез келген «инновация» көбінесе үлкен жұмыс көлеміне әкеледі.

Мысалы, барлығы ұзақ күтті, көпшілігі бірден кодтарын аударуға асықты жаңа платформа. Бірақ бұған өте кәсіби командалар да дайын емес болып шықты. 64 биттік кодты құрастыру жұмыс істеуді білдірмейді. Мысалы, 4 байт мекенжай өлшемін қабылдайтын нұсқауларды қолдану арқылы «Жастық күнәлары» көріне бастады. Бұл процесті қысқа мерзімде жүзеге асыруға технологиялық әзірлікпен қоса тестілеу мәдениетінің болмауы.

Ал мұнда - жобаның көлемі, айталық, бастапқы код жолдарының санымен өлшенген сайын, бағдарламашылар интерфейстегі «түйменің» пайда болуынан «синтаксистік қантқа» дейінгі әртүрлі инновацияларға соғұрлым мұқият және теңдестірілген болады. компиляторда.

Осы «проблемалық» жетістіктердің бірі Windows 8-нің шығарылымы болды. Жеке өзім, ДК пайдаланушысы және жай ғана заманауи IT маманы ретінде мен Windows 8-ге өте қуаныштымын. Бірақ жүк ретінде жаңа ОЖ бойынша әзірлеуге арналған спецификациялары бар Windows 8 операциялық жүйесімен жұмыс істейтін компьютерлер партиясын жіберген әзірлеушілер үшін бұл белгілі бір қиындықтарды білдіреді.

Біз осы ОЖ-ның жаңа интерфейсін мүмкіндігінше ыңғайлы және ауыртпалықсыз әзірлеуге қолдау көрсетуге тырыстық. Сондықтан VCL үшін де, FireMonkey үшін де арнайы стильдер енгізілді және бағдарламашы қолданба интерфейсін қайта құра алады немесе Windows 8 үшін «туған» қолданбадан ерекшеленбейтін жаңа қолданба жасай алады. сыртқы түрі. Әрине, WinRT арқылы Windows 8 жүйесіне «туған» қолдау қажет. Бірақ бұған мақсаттардың басымдылығы әсер етеді заманауи жағдайлар. Жақын арада Mac OS, iOS, Android жақын арада WinRT-ті толық қолдау туралы айтуға мүмкіндік бермейді.

Embarcadero-ның стратегиялық мақсаты, әрине, көп платформалы. RAD Studio XE4 шығарылымы, ең алдымен, iOS жүйесін қолдауына байланысты маңызды болды. VCL қолданатын бар бағдарламашы бірнеше сағат ішінде iOS үшін әзірлеуді бастай алады. Тіпті қарапайым мобильді қолданбалезде қолданыстағы инфрақұрылым аясында жұмыс істейтін қуатты жобаға айналуы мүмкін. Бұл оңай деп ойламаңыз жаңа компилятор FireMonkey және жаңа стиль iOS интерфейсімен сәйкестікті қамтамасыз ету.

Бұл жаңа визуалды дизайнерді, әртүрлі пішін факторларына кірістірілген қолдауды, деректерге қол жеткізу кітапханаларын, соның ішінде жаңа FireDAC және корпоративтік деректермен икемді және динамикалық байланыстыруға арналған LiveBindings технологиясын қамтиды. Барлық осы инновациялар бір уақытта келеді - Windows, Mac OS және iOS үшін. Операциялық жүйе Mac OS соншалықты қарқынды дамып жатқан жоқ, сондықтан Windows 7-ден Windows 8-ге көшу сияқты проблемалар жоқ. Бірақ олар пайда болды Ретинаны көрсетеді, және бұл ерекше назар аударуды қажет етті. Енді Delphi XE4-те жасалған кез келген MacOS қолданбасы автоматты түрде екі стильді қамтиды - «қалыпты» және «жоғары анықтық».

Бұл. сол қолданбаның кез келгенінде бірдей жоғары сапалы «туған» интерфейсі болуы мүмкін жұмыс үстелі компьютері Apple компаниясынан.

Embarcadero өзінің жаңа инновациялық шығарылымдарымен әзірлеушілерді «таңдандырғысы», «таңдандырғысы» немесе тіпті «қызығуды» қаламайды. Керісінше, IT саласы қазірдің өзінде түрлі тосын сыйларға толы: жаңа құрылғылар, жаңа платформалар, жаңа пайдаланушылар, олардың жаңа қажеттіліктері, жаңа өзара әрекеттесу сценарийлері. Бұған бағдарламалық жасақтаманы әзірлеудің жаңа технологияларын қосыңыз, сонда бағдарламашылар жаңа жүйелер мен бұрыннан барларын жасауға уақыттары болмайды – олар бір ортадан екіншісіне, ескі кітапханадан жаңасына, бір тілден екіншісіне көшу ғана болады.

Бірақ біз барлық жаңадан бас тартамыз деп айта бермейміз. Біз жай ғана барлығының үздіксіздігін қамтамасыз еткіміз келеді - код, интерфейс, жоба, тіпті жаңа платформалар мен құрылғылар пайда болған кезде кәсіби дағдылар. Біз даму құралдарындағы салауатты консерватизм арқылы жаңа платформаларға қатысты зиянды консерватизммен күресіп жатырмыз деп айта аласыз. Embarcadero-дан экзотикалық өнімдерді, стандартты емес бағдарламалау тілдерін немесе ерекше әзірлеу құралдарын күтпеңіз.

Бізбен сіз әрқашан визуалды дамуды, классикалық тілдерді, «туған» кодты таба аласыз және дәл осындай дәлелденген классикалық жолмен жасалған қолданбаларыңыздың мақсатты платформалары жаңа болуы мүмкін.




Жоғарғы