Аппараттық және бағдарламалық қамтамасыз етуді орнату

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Біз төл кодты жасайтын жаңа компиляторларды жасаймыз. Бүгінгі күні Windows-тың 32-биттік және 64-биттік нұсқаларына арналған Delphi компиляторлары, 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 инсайты мен SQL аяқтау технологияларын жасауға мүмкіндік берді. Клиент пен сервер кодын жасауға ортақ көзқарасымыз, ортақ философиямыз дерекқорды басқару құралдары мен қолданбаларды әзірлеу құралдары арасында ортақ мүмкіндіктерді бөлісуге мүмкіндік береді.

Кирилл Раннев:Мен маңызды нәрсе қосқым келеді. Коммерциялық тұрғыдан алғанда, біздің құралдарды қалай жеткізуіміз өте маңызды. Мысалы, 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 (Бағдарламалық жасақтаманы әзірлеу жинағы) бар. Бізде қолданбаны басқару үшін қозғалысты әдетте тінтуірді немесе пернетақтаны пайдаланатындай қолданатын мысалдар бар.

Көптеген күрделі графикасы бар қолданбаларды жасағанда, сіз жаңа пайдаланушы интерфейстерінің бүкіл әлемін жасайсыз. Егер біз Windows операциялық жүйесімен айналысатын болсақ, біз оның қолданбалы бағдарламалық құралын инкапсуляциялаймыз Windows интерфейсі VCL кітапханасындағы 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 серверімен сөйлесе отырып, PHP қолданбаларын және iPhone iOS жергілікті клиенттік қолданбаларын пакеттей аламыз. Бұл, өз кезегінде, дерекқор серверімен және веб-қызметтермен - бизнеске қажет барлық нәрселермен байланысады.

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

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

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

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

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

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

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

Windows жүйесінде Direct2D кітапханаларын ажыратымдылығы жоғары 2D графикасымен жұмыс істеу үшін және 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 түріндегі жан-жақты анимация жүйесі емес, бірақ ол нүктелік кескіндерді анимациялау, пайдаланушы интерфейсі элементінің фокусын бөлектеу және олармен жұмыс істеу сияқты әсерлерді қолдануға мүмкіндік береді. векторлық графика. Әзірлеуші ​​​​50-ден астамға қол жеткізе алады көрнекі әсерлер: бұлыңғырлық, ақ-қара, еріту, өтулер, шағылысу, көлеңкелеу – қазіргі уақытта кез келген компьютерде дерлік бар заманауи графикалық процессорларда бар әсерлердің барлық түрлері. FireMonkey платформасы арқылы құрастырылған қолданба графиканы көрсету және пайдаланушы интерфейсін құру бойынша барлық жұмыстарды атқаратын GPU-ға командаларды жібереді. Бұл ретте орталық процессор есептеулер мен операциялық жүйеге кіру үшін тегін. Әзірлеушіге тек құрамдастарды дұрыс орналастыру керек.

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

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

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

FireMonkey көрсету жүйесі өте икемді - ол GPU-ге пәрмендер жіберу арқылы Direct2D, Direct3D және OpenGL кітапханаларын пайдалана алады. 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 үшін біз уақытша тегін Паскаль компиляторын және жұмыс уақыты кітапханасын қолданамыз. Бірақ біз компиляторлардың келесі буынымен, соның ішінде ARM процессорларымен жұмыс істеп жатырмыз. Бірақ 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 үшін сервер құрамдастары бар. AT алдыңғы нұсқасы 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-де құрылғыны қолдауды құруды жеңілдетеді. Егер жаңа құрылғыда тек кварц сияқты 2D графикасына арналған кітапханалар болса, біз FireMonkey жүйесінде мұндай құрылғыға қолдау көрсете аламыз, бірақ бұл шамамен бірнеше айға созылады. Дегенмен, көп нәрсе платформаға байланысты: барлық платформалар барлық мүмкіндіктерді қолдамайды, мысалы, iOS-та мәзір жоқ және диалогтық терезелержәне мұндай қосымшалардың пішіндеріне сәйкес компоненттерді орналастыра алмайсыз.

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

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

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

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

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

Сұрақтарды Наталья Эльманова қойды

От маймыл дегеніміз не?


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 screen (бастапқы экран) аздап айтқанда, жоқ;

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

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

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

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

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

  • жинақтау уақыты орта және ірі жобалар үшін ең жақсы болуын қалайды;

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

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

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

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

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

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

  • қолданбаның жылдамдығы түпнұсқаға өте жақын;

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

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

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

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

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

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

FireMonkey термині барлық әзірлеушілерге болмаса, кем дегенде Delphi-ді қолданатындарға таныс болғаннан бері жеткілікті уақыт өтті. Осы уақыт ішінде көптеген блогтарда FireMonkey туралы кітаптар, FireMonkey туралы мақалалар, FireMonkey туралы жазбалар болды. Мұның бәрін оқу өте қызықты. Бірақ ешбір теория практиканы алмастыра алмайды. Мен, бұрынғы көптеген адамдар сияқты, FireMonkey арқылы бірдеңе жазуға тырыстым.

Алайда мұны істеу барысында мәселе туындады. Қандай да бір себептермен мен өте күрделі емес жұмыс жобасын жүзеге асыру керек деп шештім.

Неліктен бұл маған қиындық тудырғанын түсіндіру үшін (бірі жазғысы келеді, лирикалық) шегіну керек. Әзірлеуші ​​ретінде өткен өміріме экскурсия. Delphi көмегімен бағдарламалауға қатысты кейбір көзқарастарымды түсіндіріңіз.

Айта кету керек, мен Delphi-ді Windows 3.1 жүйесінде, яғни бірінші нұсқасынан бастап қолдана бастадым. Содан бері мен VCL оқудамын. Түпнұсқада оқыды, былайша айтқанда. Қаралған, адрестелген, қадағаланған бастапқы кодтар. Қайта-қайта.

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

Бірақ содан кейін сәт келеді және мен VCL ескірген технология екенін естимін. Өткенде қалдыру керек технология. Әзірлеушілер барлық жаңа жобаларын FireMonkey-де жүзеге асыруы керек, бірақ ескілері туралы ... оларды жаңа рельстерге көшіру жақсы болар еді. FireMonkey барлық жерде және әрқашан. Мен оны әртүрлі көздерден естимін. Және өте табанды түрде. Жоқ, ешкім VCL өлтірмейді. ол бізбен қалады. Бірақ ол енді бірінші нөмір емес. Ол стенд болуы керек. Кем дегенде, мен өнімнің болашағы туралы не айтылғанын түсінемін.

Негізінде, мен бұл теңестіруді түсінемін. Курс мультиплатформаға, одан да маңыздысы кросс-платформаға арналған. Өйткені, VCL дегеніміз не? Визуалды компоненттер кітапханасы. Көрнекі компоненттердің кітапханасы. Сіз мұнымен келіспеуіңіз мүмкін. Мысалы, мен әрқашан көптеген визуалды емес құрамдастарды, құрамдастарды емес, жай ғана сыныптарды, VCL ажырамас бөлігі және көптеген үшінші тарап кластары мен компоненттерін - VCL жалғасы, кеңейтімін қарастырдым. . Мен TDataset мұрагерлерін VCL бөлігі емес деп санай алмаймын. Мысалы, DBExpress Library термині оның VCL емес екенін айтады. Шамасы, Embarcadero шынымен монолитті, менің көзқарасым бойынша, VCL-ді бірнеше бөлек кітапханаларға бөледі. Жоқ, әрине, мүлдем бөлек емес, бірақ соған қарамастан. Егер сіз осы көзқарасты алсаңыз, FireMonkey VCL-нің визуалды бөлігін ауыстыруға арналған (толық сыныпты және құрамдас кітапхананы, мүмкін Borland құрамдас кітапханасын қалай шақыруым керек?).

Кітапхананың визуалды құрамдас бөліктері қандай? Төменгі деңгейдің айналасында, операциялық жүйе қамтамасыз ететін негізгі элементтер. Терезе дескрипторлары, қаріптер, терезелердің өздері, енгізу элементтері, хабарламалар, құрылғы контексттері және т.б. - бұл Delphi-мен бірге келетін кітапхана ұғымдары емес, операциялық жүйе ұғымдары. Иә, дұрыс, Windows. Ал егер сіз кросс-платформалық кітапхананы құрғыңыз келсе, онда кітапхана арқылы жазылған бағдарламаны орындайтын операциялық жүйе ұсынатын инфрақұрылымнан бас тарту қисынды.

FireMonkey дәл осылай жасауға тырысады. Олар операциялық жүйелердің өзі ұсынатын қызметті алмастыра алатын әртүрлі операциялық жүйелер қолдайтын негізгі механизмдерге негізделген инфрақұрылымды құруға тырысады.

Көпшілік жасауды есіне аладыкросс-платформа тек кітапхана емес, Delphi-дің өзі. Delphi 6-ға параллель Kylix өнімі және CLX кітапханасы шығарылды. Мұның бәрі Linux үшін даму мүмкіндігіне ие болу үшін жасалды. Дегенмен, Linux жүйесінде Windows жасайтын негізгі GUI терезе тұжырымдамаларының көпшілігі жоқ. Linux үшін терезе интерфейсі әдетте жергілікті құбылыс емес. Бұл қосымша қолданба. Маған синтетикалық кітапхананың бір түрін жазуға тура келді. Оның көмегімен Windows және Linux үшін де бағдарлама жазу мүмкін болды. Дегенмен, мен CLX визуалды компоненттерінің аналогтарын қолдануға тырысқанда, көңілім қалдыру емес, тітіркендіргіш ыңғайсыздық сезімі әлі есімде. Мен көп нәрсені сағына бастадым. VCL-мен әзірлеу кезінде мен ойланбастан жасайтын нәрсем CLX көмегімен қиын, мүлдем басқа немесе мүмкін емес болып шықты.

Мен BDE-ден DBExpress-ке ауысқан кезде де солай сезіндім. Ескі, Field Test-a BDE (Borland содан кейін оны Windows жүйесіне арналған Quattro Pro-да және Windows-қа арналған Paradox-та қолданды және ол ODAPI, содан кейін IDAPI деп аталды және менің ойымша, Microsoft-тың ODBC-і жоғарыда кесілген) болды. ескірген технологияны жариялады, ол жаңа жобаларда жаңа кітапханаға жол беруі керек. Мен әрқашан DBExpress-те бірдеңені, әсіресе білімді, жетіспейтінмін.

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

Енді FireMonkey көмегімен кішігірім жұмыс жобасын жазу туралы шешім неліктен бірқатар проблемаларды тудырғандығы түсінікті болады. Көптеген жылдар бойы жобаларды, жобаларды және жобаларды әзірлеу кезінде белгілі бір стереотип, не және қалай істеу керектігі туралы белгілі бір шаблон қалыптасты. Ал менің жағдайда шаблонды өзгерту керек деген фактіге тап болдым. Өйткені VCL қолданып үйренген барлық нәрсені FireMonkey жүйесінде жасалған жобаға тасымалдай алмайсыз.

Жобаның басында мен дежа вю сезімін бастан өткердім. Атап айтқанда, ыңғайсыздық сезімі. Мысалы, әдеттегі енгізу элементтерінің қасиеттері көп емес. Операциялық жүйенің кейбір мүмкіндіктерін білуге ​​байланысты трюктерге негізделген тәжірибеде берік қалыптасқан трюктар жаңа контексте жұмыс істемейді. Кейбір құрамдастардың түбегейлі өзгергенін айтпағанның өзінде.

Тағы бір маңызды нюанс. Жұмыста әдетте қандай жобаларды орындау керек, егер ол (жұмыс) компиляторларды жазумен, модельдеу жүйелерімен немесе басқа жоғары ғылыми нәрсемен байланысты болмаса? Менің ойымша, бұл көбіне дерекқорды пайдалануды қамтитын нәрсені әзірлеу туралы. Сонымен қатар, жоғары ғылыми нәрсе де ДҚБЖ ұсынатын қызметтерді пайдалана алады.

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

Мен шынымен керемет бағдарламашылар db-хабарлама құрамдастарын пайдалану керек пе, әлде қолданбау керек пе деген пікірталасқа түскім келмейді.Тәжірибеде, жаңа жоба, Мен бір фактіге тап болдым: жаңа көрнекі құрамдастарға да, көрсету, өңдеу және, сайып келгенде, сақтау үшін деректерді алудың жаңа әдісіне де үйрену керек. Бұл тағы да жаман да, жақсы да емес. Мен үшін дәл осылай болды.

Бұл менің алғашқы әсерлерім туралы жазбамды аяқтайды. Келесі кезекте жобада жұмыс істеу кезінде нені және қалай жеңгені туралы әңгімелер.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!