Firemonkey oddiydan murakkabgacha. FireMonkey. Boshlash. Fon. Taassurotlar. Intel Atom arxitekturasini qo'llab-quvvatlamaydi

Delphi, C++ Builder va JBuilder kabi dunyoga mashhur vositalarni yaratish uchun mas'ul bo'lgan CodeGear bo'limi, shuningdek Interbase DBMS Embarcadero Technologies tarkibiga kirganidan beri uch yildan ko'proq vaqt o'tdi. Ma'lumotlar bazalarini loyihalash va boshqarish. , va ikki yil davomida biz jurnalimiz sahifalarida rus ishlab chiquvchilari orasida juda mashhur bo'lgan vositalarni ishlab chiqishda nimani kutish kerakligini muhokama qildik. Biz Embarcadero Technologies kompaniyasining rivojlanish bo'yicha vitse-prezidenti va bosh Evangelist Devid Intersimone va Embarcadero Technologies kompaniyasining Rossiyadagi vakolatxonasi rahbari Kirill Rannevdan so'radik. Bizning eng yosh o'quvchilarimiz uchun shuni ma'lum qilamizki, bu Devid va Kirillning ComputerPress-ga bergan birinchi intervyusi emas - bizning hamkorligimiz ikkinchi o'n yillikda davom etmoqda. Va taxminan bir xil yillar davomida biz vaqti-vaqti bilan ma'lumotlar bazasini boshqarish vositalarining sharhlarini nashr etamiz, unda Embarcadero kompaniyasining mahsulotlariga katta e'tibor beriladi.

ComputerPress: Devid, sizning bo'linmangiz uch yildan beri Embarcadero tarkibiga kiradi. Ikki yil oldin, siz maqsad va ruhda sizga yaqin bo'lgan kompaniyaning bir qismiga aylanganidan g'ayrat bilan to'lgan edingiz. Bu vaqt ichida biror narsa o'zgarganmi? Siz va sizning hamkasblaringiz bir xil ishtiyoqdami?

Ha, men hali ham ishtiyoqdaman. Biz Embarcaderoning bir qismi bo'lganimizdan beri asosiy o'zgarish Delphiga juda ko'p sarmoya kiritildi. Rivojlanish vositalarida ishlaydigan xodimlar soni ko'paydi, biz ishlab chiqishimiz yoki kerak bo'lganda sotib olishimiz mumkin bo'lgan texnologiyalar soni ko'paydi.

Biz Moskvada namoyish etishni rejalashtirgan RAD Studio XE 2 versiyasi Delphi ning 16-bitli Windows uchun yaratilgan va oldingi innovatsion versiyasidan beri katta imkoniyatlarga ega va ko‘p sonli qo‘llab-quvvatlanadigan platformalarga ega ushbu mahsulotning eng katta versiyasidir. Komponent yondashuvi va kompilyatsiyani mashina kodiga bog'lagan mahsulot. Endi biz nafaqat Windows, balki Macintosh uchun ham ishlab chiqishni qo'llab-quvvatlaymiz, mobil qurilmalar uchun veb-ishlab chiqish va ilovalarni yaratish haqida gapirmasa ham bo'ladi va turli platformalar uchun ushbu ilovalar bir xil kodga ega bo'lishi mumkin.

Yangi ishlab chiqish platformasi - FireMonkey - bu Embarcadero va yaqinda sotib olingan Rossiyaning UlanUde shahridan KSDev firmasi o'rtasidagi hamkorlik bo'lib vektor grafikasi, DirectX va OpenGL, grafik effektlar texnologiyalari va PixelShader 2.0 bilan GPU yordamida Delphi komponentlarini ishlab chiqaruvchi. Biz bir yil oldin KSDev kompaniyasini sotib oldik (qarang: ksdev.ru) va ilovalar uchun foydalanuvchi interfeysini yaratish uchun Delphi va C ++ Buider komponentlari bilan FireMonkey ilovalarini ishlab chiqish platformasini o'z ichiga olgan ko'p platformali ishlab chiqish vositasini yaratish uchun birgalikda ishlay boshladik. , ma'lumotlar bazalari bilan integratsiyalash, GPU yordamida grafiklarni qayta ishlash va operatsion tizim bilan integratsiya.

FireMonkey yordamida siz protsessor va grafik protsessorni birgalikda boshqaradigan dastur yaratishingiz va keyin uni turli kompilyatorlar va Run-time Libraries (RTL) yordamida Windows, Mac OS yoki iOS uchun kompilyatsiya qilishingiz mumkin. Turli xil grafik kutubxonalar yordamida dasturlashni o'rganish, turli xil koordinata tizimlari va turli imkoniyatlarga ega bo'lgan turli platformalarning API-larini o'rganish o'rniga, Delphi va C ++ Builder-dan foydalanadigan ishlab chiquvchilar shakllarni vizual tahrirlash va komponentni ko'chirish orqali ma'lumotlar bazalariga ulanish orqali bir xil komponentga asoslangan yondashuvdan foydalanishlari mumkin. sichqoncha bilan. Bu turli platformalarda ishlaydigan ilovalarni yaratishning mutlaqo yangi usuli bo'lib, kelajak unga tegishli. Agar siz ilovangizga boshqa operatsion tizimlar va platformalar uchun qoʻllab-quvvatlashni qoʻshmoqchi boʻlsangiz, uni qayta loyihalash va rivojlantirish shart emas – uni qayta kompilyatsiya qilishingiz kifoya.

Biz mahalliy kodni yaratadigan yangi kompilyatorlarni yaratmoqdamiz. Bugungi kunda 32-bitli va 64-bitli Windows, 32-bitli Mac OS 10 uchun Delphi kompilyatorlari mavjud. Va biz keyingi avlod Delphi va C++ Builder kompilyatorlari ustida ishlamoqdamiz, bu sizga ikkalasi uchun ham yuqori unumli mashina kodini yaratish imkonini beradi. sanab o'tilgan va boshqalar. Android yoki Linux kabi platformalar va turli kompilyatorlar va ish vaqti kutubxonalaridan foydalanish orqali bir xil dizayn, bir xil komponentlar, bir xil kodni saqlab turish.

Ko'rib turganingizdek, menda ishtiyoq uchun etarli sabablar bor. Men butun dunyoda uchrashadigan dasturchilar Embarcadero Delphi va C ++ Builder, shuningdek, PHP ishlab chiqish vositalariga katta sarmoya kiritishini bilishadi.

KP: Oxirgi ikki yil ichida ikki kompaniya vositalarini birlashtirishda qanday yutuqlarga erishdingiz? Bu sohada Embarcaderoning kelajakdagi rejalari qanday?

DI.: CodeGear bo'limi Embarcadero tarkibiga kirganda, bu kompaniya Toronto, Monterrey va Ruminiyada rivojlanish guruhlariga ega edi, biz Skots vodiysida va Rossiyada, Sankt-Peterburgda edik va hozir ham shundaymiz. Embarcadero dasturchi va DBA vositalariga ega edi, CodeGear dastur ishlab chiqish vositalariga ega edi, ammo ikkinchisi ma'lumotlar bazalaridan ham foydalanadi. Kompaniyalarning birlashishi - bu ma'lumotlar bazalari sohasidagi tajriba, bilimlar, kodni optimallashtirish, shu jumladan server kodlari. Birlashish, shuningdek, yangi mahsulot AppWave yaratilishiga olib keldi, bu oddiy Windows ilovasini ishlatish uchun juda qulay narsaga aylantirish uchun maxsus texnologiya (masalan, iPhone yoki boshqa qurilmalar uchun ilovalar). AppWave sizga dasturni o'rnatmaslikka, balki uni oddiygina tanlashga va uni tayyorlangan ilovalarni saqlash serveridan (ilova) ishga tushirishga imkon beradi, shu bilan birga u foydalanuvchi kompyuterida ro'yxatga olish kitobi va fayl tizimining tizim maydoniga o'zgartirish kiritmasdan ishlaydi. Aytgancha, AppWave dastur brauzeri Delphida yozilgan. Embarcadero Dephi-dan ichki ishlab chiqish va ilovalarni ishlab chiqish tajribamiz uchun foydalanadi.

tomonidan yaratilgan iPhone (iOS) ilovasi
FireMonkey platformasidan foydalanish

Ilovalarni yaratishda SQL so'rovlarini optimallashtirish uchun siz bizning ishlab chiqish vositalarimiz va DB Optimizer integratsiyasidan ham foydalanishingiz mumkin. SQL-ni to'g'ridan-to'g'ri DB Optimizer-ga o'tkazish orqali siz uni profillashingiz, sinab ko'rishingiz va optimallashtirilgan versiyasi bilan qayta ishlash muhitiga qo'yishingiz mumkin. Embarcadero ma'lumotlar bazasi tajribasi DataSnap texnologiyasini ham yaxshilagan. Torontodagi ishlab chiquvchilar tufayli biz ko'p bosqichli tizimlar va ma'lumotlar bazalari arxitekturasi haqida ko'p bilimlarga ega bo'ldik. Endi biz ikkala kompaniyada server tomonidagi kod va saqlangan protseduralarni yozish bo'yicha qo'shma tajribaga egamiz. Bizda RapidSQL va DB Change Manager kabi vositalar, shuningdek, server tomoni kodini yaratishni osonlashtiradigan IDElar mavjud - masalan, Code Insight va Code Completion texnologiyalari SQL insight va SQL Completion texnologiyalarini faollashtiradi. Mijoz va server kodini yaratishga umumiy yondashuvlarimiz, umumiy falsafamiz ma'lumotlar bazasini boshqarish vositalari va ilovalarni ishlab chiqish vositalariga umumiy xususiyatlarni berish imkonini beradi.

Kirill Rannev: Men muhim narsani qo'shmoqchiman. Tijorat nuqtai nazaridan, asboblarimizni qanday etkazib berishimiz juda muhimdir. Masalan, RAD Studio XE 2 Ultimate yangi versiyasi DB Power Studio vositalarining to‘liq to‘plamini o‘z ichiga oladi. Bu ma'lumotlar modeli, ma'lumotlar bazasi, kod va boshqalardagi o'zgarishlarni boshqarish orqali ishlab chiqish va joylashtirish jarayonining muhim qismini bajarish uchun RapidSQL so'rovlarini ishlab chiqish muhiti, ma'lumotlar bazasini o'zgartirish menejeri va ma'lumotlar bazasini optimallashtiruvchi juda kuchli vositalar to'plamidir. Bu texnologiyalarning juda yaxshi va to'g'ri kombinatsiyasi.

DI.: Biroq, agar kerak bo'lsa, ishlab chiquvchilar manba kodini versiyalash uchun Subversion va metadata versiyalarini yaratish uchun DB Change Manager-dan foydalanishlari mumkin. Server tomoni kodini optimallashtirish uchun kod profilini yaratish va DB Optimizer-dan, server tomoni kodini yaratish va disk raskadrovka qilish uchun RapidSQL-dan, ilovalarni yaratish va disk raskadrovka qilish uchun esa IDE-dan foydalanishingiz mumkin. RAD Studio XE Ultimate Edition-dagi texnologiyalarning ushbu kombinatsiyasi ma'lumotlar bazasi va ilovalarni ishlab chiqish modellari o'rtasidagi o'xshashlikni namoyish etadi. Delphi va C ++ Builder yordamida biznes ilovalarini yaratuvchi ko'pchilik ishlab chiquvchilar ma'lumotlar bazalari bilan ishlaydi va bu vositalarga muhtoj va RAD Studio XE Ultimate Edition bu ishlab chiquvchilar uchun ajoyib kombinatsiyadir.

KP: Zamonaviy foydalanuvchi endi faqat Windows platformasining foydalanuvchisi emas. Biz mobil qurilmalar, iPhone, iPad, Android platformasi asosidagi qurilmalardan foydalanamiz. Bu shuni anglatadiki, ishlab chiquvchilar o'qitishga investitsiyalarini sezilarli darajada oshirmasdan, turli platformalarni nishonga olishni boshlashlari kerak - ya'ni ularga universal vositalar kerak. Shubhasiz, platforma ishlab chiqaruvchilardan universal asboblar paydo bo'lishini kutish haqiqiy emas va bu masalada biz faqat mustaqil asbob ishlab chiqaruvchilarga tayanishimiz mumkin. Embarcadero-ga qayerda ishonishimiz mumkin?

DI.: Platformani qo'llab-quvvatlash sohasida hali ko'p ish qilishimiz kerak. Bugun biz iPhone va iPad uchun iOS platformasini qo'llab-quvvatlaymiz, keyin Android platformasi, Windows 7 va Blackberry asosidagi smartfonlar bizning yordamimizni oladi. RAD Studio XE 2 da biz iOS uchun FireMonkey platformasini qurish va keyin FireMonkey-ni boshqa platformalarga ko‘chirishdan boshladik.

Shu bilan birga, telefonlar, planshetlar va qurilmalar, ish stollari uchun sensorli ekranlarni qo'llab-quvvatlaydigan juda ko'p operatsion tizimlar mavjud va biz ularni qo'llab-quvvatlashni davom ettiramiz. Bundan tashqari, ovozli boshqaruv tizimlari, harakatni boshqarish tizimlari, biometrik tizimlar, akselerometrlar mavjud, shuning uchun barcha ishlab chiquvchilar yangi platformalardan foydalanishlari uchun FireMonkey-ni kengaytirishni davom ettirishimiz kerak. Misol uchun, Microsoft Kinect qurilmasi Xbox 360 uchun ishlab chiqilgan bo'lib, endi Windows uchun ham tegishli SDK (Software Development Kit) mavjud. Va bizda allaqachon sichqoncha yoki klaviaturadan foydalanilganidek, ilovani boshqarish uchun harakatdan foydalanish misollari allaqachon mavjud.

Ko'p murakkab grafiklarga ega ilovalarni yaratganingizda, siz yangi foydalanuvchi interfeyslarining butun dunyosini yaratasiz. Agar biz Windows operatsion tizimi bilan ishlayotgan bo'lsak, biz uning Windows API-ni VCL (Visual Component Library, Delphi va C++ Builder ishlab chiqish vositalarining bir qismi) ichiga qamrab olamiz. - Taxminan ed.), aytmoqchi, bundan keyin ham foydalanish mumkin. FireMonkey-da biz operatsion tizim API-ni qamrab olamiz. Ammo bugungi kunda biz shakllar va grafiklarni yanada kengroq manipulyatsiya qilamiz. Bundan tashqari, animatsiya va maxsus effektlar uchun makonning jismoniy xususiyatlarini qo'shishingiz mumkin. Bundan tashqari, biz kelgusi bir necha yil ichida bir nechta platformalar, mobil va planshet qurilmalarida amalga oshirmoqchi bo'lgan yana bir qancha qo'shimcha foydalanuvchi tajribasi imkoniyatlari mavjud.

Microsoft yaqinda bir yildan so'ng chiqishi kerak bo'lgan Windows 8 haqida ma'lumotlarni e'lon qildi. Biz VCL va FireMonkey platformasida ushbu yangiliklarni qo'llab-quvvatlaymiz. Lekin Delphi nafaqat Windows uchun, balki Macintosh, iPhone va iPad uchun mo'ljallangan ishlab chiqish vositasidir. Shuningdek, biz PHP mahsulotlarimizni ishlab chiqamiz, jQuery Mobile-ni qo'llab-quvvatlaymiz, mobil mijoz ilovalarini ishlab chiqish uchun iOS API-dan foydalanamiz va mijoz tomoni JavaScript va HTML kodlari va kaskadli uslublar jadvallarini yaratish uchun sehrgarlar va vositalar yordamida PHP server ilovalarini yaratamiz. Biz PHP ilovalari va mahalliy iPhone iOS mijoz ilovalaridan paketlar yaratishimiz mumkin, mijoz PHP serveri bilan gaplashadi. Va bu, o'z navbatida, ma'lumotlar bazasi serveri va veb-xizmatlar bilan - biznes uchun zarur bo'lgan barcha narsalar bilan bog'lanadi.

Rivojlanish muhiti RadPHP XE2. Mobil veb-ilovani yaratish
iPhone 3G uchun jQuery Mobile komponentlaridan foydalanish

Boshqacha qilib aytganda, biz FireMonkey va VCL imkoniyatlarini, shu jumladan mobil platformalarni qo'llab-quvvatlash sohasida kengaytirishni rejalashtirmoqdamiz.

KP: FireMonkey platformasi haqida batafsilroq ma'lumot bera olasizmi?

DI.: Men ta'kidlaganimdek, Windows uchun yaratilgan VCL rivojlanishda va takomillashtirishda davom etadi. Ammo bugungi kunda, agar siz haqiqatan ham biznes ilovalarini ishlab chiqmoqchi bo'lsangiz, ularni turli platformalar uchun yaratishingiz kerak. FireMonkey platformasi aynan shu maqsadda. U yuqori aniqlikdagi, yuqori unumdor 3D grafika, yuqori kadr tezligi bilan foydalanuvchi interfeyslarini yaratishni qo'llab-quvvatlaydi va eng muhimi, buning uchun grafik protsessordan foydalanadi.

Ilmiy, muhandislik va biznes ilovalarini yaratishda ushbu imkoniyatlardan foydalanishingiz mumkin. Bunday ilovalar dbExpress texnologiyasidan foydalangan holda ma'lumotlar bazalariga ulanishi mumkin, shu bilan birga ClientDataSet yoki DataSource kabi ishlab chiquvchilarga tanish bo'lmagan vizual bo'lmagan komponentlardan foydalanish, DataSnap texnologiyasidan foydalanish, istalgan ma'lumotlar bazalari, SOAP va REST serverlariga ulanishi mumkin. Siz jozibali boshqaruv elementlarini, qutilari bo'lgan tugmalarni, chiroyli jadvallarni va boshqa interfeys elementlarini 2D va 3D formatlarida yaratishingiz mumkin. Siz dasturga tayyor 3D modelni yuklashingiz va uni turli burchaklardan burish va ko'rish mumkin bo'lgan 2D shaklga ulashingiz mumkin. Siz ma'lumotlar kubi yoki 3D biznes diagrammasini yaratishingiz va uni sichqoncha, klaviatura yoki hatto Kinect qurilmasi yordamida aylantirishingiz yoki kub ichiga kirib, turli sirtlarga ichkaridan qarashingiz mumkin. Va bularning barchasi yuqori tezlikda GPU bilan amalga oshirilishi mumkin. Keyin xuddi shu dastur boshqa platforma, masalan, Mac OS uchun kompilyatsiya qilinishi mumkin.

Ma'lumotlar bilan aylanadigan kubni o'z ichiga olgan ilova,
uning chekkalariga joylashtirilgan

Yoki noldan 3D shakl yaratishingiz va kameralar va chiroqlar, foydalanuvchi interfeysi qismlarini yoritish va aylantirishingiz mumkin. Shakl dizayneri to'g'ridan-to'g'ri ishlab chiqish jarayonida 3D foydalanuvchi interfeysini qo'llab-quvvatlash uchun o'rnatilgan muhitga ega.

Windows tizimida yuqori aniqlikdagi 2D grafikalar uchun Direct2D kutubxonalaridan, 3D grafiklar uchun Direct3D dan foydalanishingiz mumkin. Mac OS da Kvars va OpenGL kutubxonalari bir xil maqsadlarda ishlatiladi. iOS uchun Quartz va OpenGL ES kutubxonalaridan foydalaniladi. Ammo bularning barchasi ishlab chiquvchidan yashirin - u ushbu kutubxonalar haqida o'ylamasdan FireMonkey platformasidan, uning koordinata tizimidan va API-dan foydalanadi va turli platformalar uchun bir xil dasturni kompilyatsiya qila oladi.

Keling, VCL nima ekanligini eslaylik. VCL - bu Windows API atrofidagi komponentli o'rash. Biz resurslar, menyular, dialog oynalari, ranglar, uslublar, Windows xabarlari bilan shug'ullanamiz. VCL-dan farqli o'laroq, ko'p platformali "o'rash" FireMonkey bir xil hodisa va komponent modellarini saqlab qoladi, bu sizga voqealar (masalan, OnClick, OnHasFocus, onMouseDown va onKeyDown hodisalari) bo'yicha fikr yuritish imkonini beradi, lekin Macintosh yoki iPhone hodisalarini boshqaradi.

FireMonkey platformasi shuningdek, UI elementlari uchun to'liq animatsiya tizimi bilan birga keladi. Bu, albatta, Pixar kabi keng qamrovli animatsiya tizimi emas, lekin u bitmaplarni animatsiya qilish, UI element fokuslarini ta'kidlash va vektor grafikalari bilan ishlash kabi effektlarni beradi. Ishlab chiquvchi uchun 50 dan ortiq vizual effektlar mavjud: xiralashtirish, tasvirni qora va oq rangga aylantirish, eritish, o'tish, aks ettirish, soyalar yaratish - zamonaviy GPU-larda mavjud bo'lgan barcha turdagi effektlar, hozir deyarli har qanday kompyuterda mavjud. FireMonkey platformasi yordamida yaratilgan ilova grafiklarni ko'rsatish va foydalanuvchi interfeysini yaratish bo'yicha barcha ishlarni bajaradigan GPUga buyruqlar yuboradi. Bunday holda, markaziy protsessor operatsion tizimga hisob-kitoblar va qo'ng'iroqlar uchun bepul. Ishlab chiquvchi faqat komponentlarni to'g'ri joylashtirishi kerak.

FireMonkey platformasidagi eng asosiy narsa bu foydalanuvchi interfeysini yaratish usulidir. Menyular, tugmalar va aylantirish paneli kabi interfeys elementlariga bitmapli grafiklarni joylashtirish uchun imkoniyatlar mavjud. FireMonkey-da biz bu maqsadda GPU yordamida vektor grafikalaridan foydalanamiz. Dasturlash nuqtai nazaridan, bularning barchasi bir xil boshqaruv elementlari, ammo grafik protsessor ularni ko'rsatish uchun barcha ishlarni bajaradi. Biz boshqaruv elementlariga uslublarni qo‘llashimiz, ilovani Mac OS yoki Windows uchun ilovaga o‘xshatishimiz, o‘z uslubimizni yaratishimiz, uslublarimizni interfeys elementlariga qo‘llashimiz mumkin (masalan, forma muharririda uning uslubini o‘zgartirib, tugmani to‘rtburchak yoki yumaloq shaklda qilish) - buning uchun ishlab chiqish muhitida uslublar muharriri mavjud. Siz o'zingizning uslubingizni yaratishingiz yoki allaqachon tugagan dasturning uslubini o'zgartirishingiz mumkin.

FireMonkey platformasi - ishlab chiqish vositalari
va qo'llab-quvvatlanadigan platformalar

Esingizda bo'lsa, VCL cheklangan miqdordagi konteyner boshqaruviga ega edi (ya'ni ularga boshqa narsalarni joylashtirish imkonini beradi) va FireMonkey-da har bir boshqaruv konteynerdir. Bu shuni anglatadiki, har bir boshqaruv boshqa istalgan boshqaruvni o'z ichiga olishi mumkin. Masalan, ochiladigan ro'yxat elementlari ichida rasmlar, tugmalar, tahrirlash maydonlari va boshqa boshqaruv elementlari bo'lishi mumkin. Shuningdek, siz komponentlarni qatlamlarga joylashtirishingiz mumkin.

FireMonkey renderlash tizimi etarlicha moslashuvchan - u GPUga buyruqlar yuborish orqali Direct2D, Direct3D va OpenGL kutubxonalaridan foydalanishi mumkin. VCL-da xuddi shunday natijaga erishish uchun ekrandan tashqarida alohida bufer yaratish, unda rasm yaratish, grafik kutubxonalarning tegishli funktsiyalarini chaqirish va keyin uni shaklda ko'rsatish kerak edi.

FireMonkey tomonidan qo'llab-quvvatlanadigan grafik effektlarga misollar

Agar sizda GPU bo'lmasa, siz hali ham 2D ​​yoki 3D shakllarni qo'llashingiz va FireMonkey boshqaruv elementlaridan foydalanishingiz mumkin. Bunday holda, FireMonkey platformasi GDI + kutubxonalari yoki boshqa shunga o'xshash kutubxonalardan foydalanadi va bir xil effektlar va 3D ob'ektlarning animatsiyasi yoki manipulyatsiyasini amalga oshiradi.

FireMonkey-ning yana bir xususiyati - interfeys elementlarini ma'lumotlarga ulash uchun ochiq va moslashuvchan yangi tizim. VCLda interfeys elementlarining ikki turi mavjud: ma'lumotlar bilan bog'langan va ma'lumotlar bilan bog'lanmagan (masalan, TDBEdit va TEdit). FireMonkey-da har qanday boshqaruv ma'lumotlar va har qanday turdagi bilan bog'lanishi mumkin. Bu shunchaki ifoda, ma'lumotlar to'plamidagi maydon, ishlab chiquvchi tomonidan yaratilgan ob'ektlardan olingan ma'lumotlar yoki usul chaqiruvining natijalari bo'lishi mumkin.

Bundan tashqari, dastur yaratishda siz unga tayyor 3D modelni yuklashingiz va undan foydalanishingiz mumkin - bunday imkoniyatlar ko'pincha biznes va muhandislik dasturlarida talab qilinadi. Bizda logistika dasturlarini yaratadigan mijozimiz bor. Ularda Delphi bilan tuzilgan axborot tizimi va unda reja tuzadigan va ma'lumotlar manbalaridan ma'lumotlarni ko'rsatadigan dastur mavjud edi. Ular yaqinda qiziqarli ish qilishdi - ular AutoCAD-da to'liq avtomatlashtirilgan 3D-omborni chizishdi va ularning ilovasi avtomatik yuk ko'taruvchining ombor bo'ylab harakatlanishini va tovarlarni javonlarga joylashtirishini ko'rish imkonini beradi. Va ular manbalardan olingan ma'lumotlarni mos keladigan rasmga joylashtiradilar.

Ilova uslublarini o'zgartirishga misollar

KP: Hozirda qanday 3D model formatlari qo'llab-quvvatlanadi?

DI.: Ushbu nashrda biz AutoCAD, Collada’dan modellarni yuklashni qo‘llab-quvvatlaymiz (ochiq kodli 3D modellash vositasi. - Taxminan ed.), Maya, OBJ formati, bu ko'plab 3D grafik sotuvchilari tomonidan qo'llab-quvvatlanadi.

KP: Yana qanday formatlarni qo'shishni rejalashtiryapsiz?

DI.: Biz 3DS (3D Studio MAX), SVG (odatda bu format 2D vektor grafiklari uchun ishlatiladi, lekin ba'zan 3D uchun), Google SketchUp qo'shishni rejalashtirmoqdamiz. Ehtimol, biz boshqa formatlarni ham qo'llab-quvvatlaymiz.

KP: FireMonkey bilan yaratilgan ilovalarda 3D modellardan foydalanish tegishli 3D modellashtirish vositasi uchun litsenziyani talab qiladimi?

DI.: Yo'q, unday emas. Biz qiladigan narsa model faylini o'qishdir. Biz modelni import qilamiz, lekin uni eksport qilmaymiz (garchi, albatta, siz modelni o'zingizning formatingizda saqlaydigan dastur yozishingiz mumkin). Biz o'zimizni 3D modellash vositalarini ishlab chiqaruvchisi deb ko'rsatmaymiz - buning uchun siz AutoCAD, 3D Studio Max, Maya yoki boshqa 3D modellash vositalaridan foydalanishingiz va yaratilgan modellarni ilovalarimizga import qilishingiz mumkin.

KP: FireMonkey yordamida zamonaviy apparat platformalarida yaratilgan ilovalar qanchalik samarali?

DI.: Ishlash juda yaxshi. Misol uchun, uchta shar va uchta chiroqli 3D shakli MacBook Pro-da soniyasiga 100 kvadrat tezlikda ko'rsatilishi mumkin. Va u 600 ga yetishi mumkin - bu aniq nima qilayotganimizga bog'liq. Shunga qaramay, barchasi GPU kuchiga bog'liq.

KP: Bu FireMonkey-dan eng so'nggi o'yinlarni yaratish uchun ishlatilishi mumkinligini anglatadimi?

DI.: Biz rivojlanish vositalarini o'yinlar uchun vosita sifatida joylashtirmaymiz. Shunga qaramay, zamonaviy GPU-larning yuqori unumdorligidan foydalanib, siz FireMonkey-da o'yinlar yaratishingiz mumkin - axir ular ularni Direct3D yoki OpenGL yordamida yaratadilar.

KP: Imo-ishoralarni aniqlash va boshqa yangi narsalarni qo'llab-quvvatlash sohasida hozir qanday ish qilyapsiz? Bu yordam mavjudmi?

DI.: Bizda bu versiya uchun imo-ishoralar hali mavjud emas. Imo-ishoralarni boshqarish FireMonkey-ning kelajakdagi versiyasida qo'shiladi, ammo hozircha siz operatsion tizimga o'rnatilgan imo-ishora yordamidan foydalanishingiz mumkin.

Mixail Filippenko, Fast Reports, Inc direktori.

K.R.: Biz allaqachon FireMonkey texnologiyasi rus ildizlariga ega ekanligini aytdik - uning asoslari mamlakatimizda yaratilgan, keyin esa texnologiyaning o'zi va uni ishlab chiquvchilari Embarcaderoga qo'shilgan. Umuman olganda, RAD Studio va Delphining bir qismi sifatida rus komponentining o'sishini ko'rish quvonarli. Bu ham Sankt-Peterburgdagi rivojlanish markazimizning faoliyati, ham mustaqil rus dasturchilarining hissasi. Masalan, butun dunyoda tanilgan va mamlakatimizda juda mashhur bo'lgan FastReport hisobot generatori Rad Studio XE2 tarkibiga kirdi. U Rostov-Don shahridan.

KP: Men kompilyatorlar haqida gapirmoqchiman. iOS ilovalarini yaratish uchun qanday kompilyatordan foydalaniladi?

DI.: IPhone yoki iPad uchun bizda o'z Delphi kompilyatorimiz yo'q - bizda bu qurilmalarda qo'llaniladigan ARM protsessorlari uchun kompilyatorlar hali ishlab chiqilmagan. iOS uchun biz vaqtincha bepul Paskal kompilyatori va ish vaqti kutubxonasidan foydalanmoqdamiz. Ammo biz keyingi avlod kompilyatorlari, shu jumladan APM protsessorlari ustida ishlayapmiz. Ammo Windows va Mac OS uchun kompilyatorlar mavjud, chunki ikkala apparat platformasi ham Intel protsessorlariga asoslangan.

KP: Va so'nggi ikki yil ichida kompilyatorni ishlab chiqish sohasida qanday ishlar qilindi?

DI.: Bizda Windows va Mac OS uchun 32 va 64 bitli Delphi kompilyatorlari mavjud. Biz Delphi va C++ kompilyatorlarining yangi avlodi ustida ishlayapmiz. Ular ustida ishlash hali ham davom etmoqda, ammo tugallangach, bizda ARM protsessorlari, Android platformalari, Linux va boshqa narsalar uchun Delphi kompilyatorlari bo'ladi. Va bizda Windows va boshqa platformalar uchun 64 bitli C++ kompilyatorlari bo'ladi, ular hozirgina ISO tomonidan qabul qilingan so'nggi C++ tili standartiga mos keladi.

KP: Bugungi kunda Embarcadero ishlab chiqish vositalarida bulutli hisoblashni qo'llab-quvvatlash bilan nima sodir bo'lmoqda?

DI.: RAD Studio XE 2 da biz Platform Assistant yordamida Microsoft Azure yoki Amazon EC2-da ilovalarni bulutga ko‘chirishni qo‘llab-quvvatlaymiz. Bizda Azure uchun Cloud Storage va jadvallarni, ikkilik maʼlumotlarni, xabarlar navbatlarini saqlash uchun Amazon S3 server komponentlari mavjud. RAD Studio XE-ning oldingi versiyasida biz Amazon EC2-ga ilovalarni joylashtirishni ham qo'llab-quvvatladik, ammo saqlash uchun yordam yo'q edi.

RAD Studio XE 2 da bulutli hisoblashni qo'llab-quvvatlash

KP: Ikki yil oldin siz yangi All-Access yechimi haqida gapirgan edingiz. Unga talab qancha edi? Uning tizim integratorlari va ishlab chiquvchilari uchun qanday afzalliklari bor?

DI.: All-Access yechimi va AppWave bulut vositasi dunyoda keng qo'llaniladi. Ular bizning kompaniyamiz va boshqa ishlab chiqaruvchilarning ilovalaridan foydalanishni soddalashtirish uchun mo'ljallangan. Aslida, bu litsenziyalar va ilovalar ilovalarini boshqarish uchun yechim bo'lib, yirik kompaniyalar uchun qulaydir. Boshqa tomondan, ilovalarni boshqarish uchun mas'ul bo'lgan maxsus guruhga ega bo'lmagan kichikroq firmalar arizani omborga qo'yishi, ma'lumotlar bazasidan foydalanuvchi nomlarini tanlashi va litsenziyaning qaerdaligini eslamasdan, ushbu ilovalardan foydalanishni ta'minlashi mumkin. kalit va qancha litsenziyalar mavjudligi. All-Access va AppWave brauzeri versiyalarni ham, kirishni boshqarishni ham boshqarish uchun mo'ljallangan.

K.R.: Bozor juda xilma-xil va foydalanuvchilar shunchalik xilma-xilki, barcha ehtiyojlarni bitta yechim bilan qoplash mumkin emas. Shuning uchun biz turli xil "qadoqlash" echimlariga intilamiz. Biz litsenziyalash, litsenziyalarni boshqarish va mahsulotlarni o‘rnatish usullarini birlashtirish bo‘yicha katta ishlarni amalga oshirdik. Ushbu yechimlar qatori nafaqat Embarcadero mahsulotlari, balki boshqa har qanday mahsulotlar, jumladan, kompaniyalarning ichki rivojlanishi uchun litsenziyalarni boshqarish va berish vositalarini o'z ichiga oladi.

Rivojlanish vositalarini foydalanuvchilar uchun samarali to'plamlarga birlashtirish bo'yicha ishlar hali ham davom etmoqda. Bizda All-Access, barcha Embarcadero mahsulotlarini birlashtirgan superset mavjud. Agar mijoz All-Access Platinum versiyasini sotib olsa, u Embarcaderoda mavjud bo'lgan barcha vositalarni oladi. Ammo ba'zida bu to'plam ortiqcha bo'lib chiqadi, masalan, ma'lumotlar bazasi mutaxassislari uchun biz yana ikkita to'plamni yaratdik - DB Power Studio Developer Edition va DB Power Studio DBA Edition. Ularning orasidagi farq shundaki, ishlab chiquvchi uchun biz RapidSQL - server kodini ishlab chiqish vositasini taklif qilamiz va administrator uchun u erda DBArtizan o'rnatilgan - ma'lumotlar bazasini boshqarish vositasi, RapidSQLga qaraganda kengroq mahsulot. Professionallar uchun bizda quyidagi All-Access to'plamlari mavjud: Barcha mahsulotlar, dasturchilar uchun DB Power Studio, ma'murlar uchun DB Power Studio, Architects uchun ER Studio Enterprise Edition va modellashtirish bilan shug'ullanadigan boshqa har bir kishi. Ilovalarni ishlab chiqish va ma'murlar uchun kombinatsiyalar mavjud. Delphi ishlab chiquvchi vosita bo'lib, unga SQLni ishlab chiqish va optimallashtirish vositalarini qo'shish mantiqan. Nihoyat, ma'lumotlar bazasini o'zgartirish menejeri ma'lumotlar bazalarining hayot aylanishi davomida sodir bo'ladigan o'zgarishlarning murakkabligini boshqarish uchun mantiqiy vositadir.

Shunday qilib, All-Access turli xil mahsulot to'plamlarining katta oilasining rahbaridir.

KP: Agar sir bo'lmasa, Rossiyada All-Access-dan kim foydalanadi?

K.R.: Delphi asosida All-Access-ni sotib olgan mijozlarimiz bor. Ularning ko'pchiligi SQL Server va Oracle bilan murakkab mijoz/server tizimlarini qurmoqda va ularga bizning o'zaro platformalar ma'lumotlar bazasi asboblar to'plami darhol yoqdi. Bizda Delphi bilan birinchi nashrdan beri ishlayotgan mijoz kompaniyamiz bor va ular bir yil oldin Delphidan All-Accessga o'tishgan. Ushbu kompaniyaning barcha ishlab chiquvchilari tomonidan ishlatilishi kafolatlangan ikkita vosita Delphi va DBArtisan. All-Access-ga ma'lumotlar bazasi tomonidan kelgan mijozlar ham bor. Ularning asosiy ishi ma'lumotlar bazalarini boshqarishdir, lekin ular ba'zan ilovalar ishlab chiqish bilan shug'ullanadilar. All-Access mijozlari orasida media kompaniyalari, muhandislik kompaniyalari va boshqa sohalar mavjud.

Men kichik kompaniyalar haqida ham to'xtalib o'tmoqchiman. Ko'pincha kichik jamoalarda ishlab chiquvchi hamma narsani qiladi va bunday kompaniya ba'zan bir yoki ikkita ishlab chiquvchi uchun katta All-Access oziq-ovqat to'plamlarini sotib oladi. Katta jamoalarda ishlab chiquvchiga, masalan, ma'lumotlar bazasi ma'muri rolini bajarish tavsiya etilmaydi, shuning uchun odatda kichik mahsulotlar to'plamlari u erda mashhurdir va kichik kompaniyalarda bunday vazifalar kombinatsiyasi juda maqbuldir.

Delphi Architect - bu modellashtirish va dasturlash vositalarini o'z ichiga olgan keng sotiladigan mahsulot. Biroq, sotilgan nusxalar soni Delphi Enterprise versiyasidan kamroq, lekin u ham katta. Qayd etishni istardimki, 2010-yilda biz barcha mamlakatlar inqirozni boshidan kechirganiga qaramay, sotish bo‘yicha eng yaxshi davlat bo‘ldik. Bu o'sish nafaqat iqtisodiy omillarga bog'liq edi, chunki 2009 yil oxirida chiqarilgan RAD Studio XE versiyasi katta talabga ega bo'ldi. Va biz keyingi savdo o'sishini kutmoqdamiz.

Biz Rossiyada yuqori talab qilinadigan yana bir oqilona qadam tashladik. Mahsulotlarimizning turli versiyalarini qonuniylashtirish darajasi har xil: versiya qanchalik baland bo'lsa, u shunchalik qonuniylashtiriladi, chunki ilgari dasturiy ta'minot unchalik faol sotib olinmagan. RAD Studio XE versiyasidan boshlab, litsenziya 2010, 2009, 2007 va hatto Delphi 7 versiyalarini qamrab oladi - keng tarqalgan mahsulot.

Bugungi kunda ishlab chiquvchilar yangi loyihalar va loyihalarni qo'llab-quvvatlash holatida ekanligi bilan duch kelishmoqda. Ko'p sonli loyihalar Delphi ning dastlabki versiyalaridan 7-versiyaga ko'chirildi va nisbatan kichik resurslar ustida ishlashda davom etib, ushbu versiyada qolmoqda. Hech kim ularni yangi versiyalarga tarjima qilmayapti, lekin ular hayotiy holatda saqlanadi. Va endi biz RAD Studio XE va Delphi 7-ni olish uchun ozgina pulga (Delphi 7 litsenziyasi narxidan kam) ruxsat beramiz - ya'ni biz ishlab chiquvchini yangi loyihalarni amalga oshirish uchun ham, qo'llab-quvvatlash loyihalari uchun ham qonuniylashtiramiz.

KP: Siz Embarcadero jamoasining hozirgi holatini qanday baholaysiz?

DI.: Bu jamoa katta va juda talabchan. Ularga darhol hamma narsa kerak - ular ishlab chiquvchilar. Lekin ba'zida biror narsani to'g'ri qabul qilish uchun uzoq vaqt kerak bo'ladi.

Bir necha yil oldin biz Windows komponentlari arxitekturasini oldik va uni Linux ish stollariga joylashtirdik. Endi biz bu to'g'ri qaror emasligini ko'rib turibmiz. To'g'ri qaror - ilovalar uchun platforma yaratish. Hatto turli platformalar uchun ilovalarda menyular, oynalar, grafiklar, tarmoqqa kirish va qurilmalarga kirish imkoniyati mavjud. Turli platformalarda oqimni boshqarish yoki istisnolarni qayta ishlash modellari bo'lishi mumkin, ammo biz dastur kodida bir xil sinash bloklarini ko'ramiz. Bizning vazifamiz ishlab chiquvchilarga biznes-ilovalarni yaratishni osonlashtirish va ularni tegishli protsessorlarning ko'rsatmalar tizimi qanday tashkil etilganligi va ushbu platformalarning boshqa xususiyatlaridan qat'i nazar, ular ishlatilishi kerak bo'lgan platformalar uchun kompilyatsiya qilishdir. Va FireMonkey - bu muammoni hal qilish uchun sizga kerak bo'lgan narsa.

KP: Agar kompaniya yangi qurilma yaratsa va uni FireMonkey-da qo'llab-quvvatlashni xohlasa, bu mumkinmi?

DI.: Platformaga bog'liq bo'lmagan front-end va platformaga xos orqa qismga ega bo'lgan keyingi avlod kompilyatorlari bilan bu butunlay mumkin. Shu bilan birga, har bir operatsion tizim uchun biz noldan kompilyator va ish vaqti kutubxonasini yaratamiz.

Har qanday zamonaviy yangi qurilma odatda grafik foydalanuvchi interfeysiga ega (ko'plarida ikki yadroli protsessor va GPU mavjud) va standart ishlab chiquvchi SDK-lar mavjud. Bularning barchasi FireMonkey-da qurilma yordamini yaratishni osonlashtiradi. Agar yangi qurilmada faqat kvarts kabi ikki o'lchovli grafikalar uchun kutubxonalar bo'lsa, biz FireMonkey-da bunday qurilmani qo'llab-quvvatlashimiz mumkin, ammo bu taxminan bir necha oy davom etadi. Biroq, ko'p narsa platformaga bog'liq: barcha platformalar barcha funktsiyalarni qo'llab-quvvatlamaydi, masalan, iOS-da menyular va dialog oynalari yo'q va siz bunday ilovalarning shakllariga mos keladigan komponentlarni qo'ya olmaysiz.

KP: Hamkor siyosatida biror narsa o'zgarganmi? Mahsulotlaringizdan foydalanuvchilar ulushini oshirish uchun nimalar qilinmoqda? Rossiyada nima bo'lyapti?

DI.: Bizning hamkor ekotizimimiz keng – mahsulotlarimiz tarkibiga kirmaydigan yuzlab asboblar va butlovchi qismlar ishlab chiqaruvchilari mavjud va bizda texnologik hamkorlik dasturi mavjud. Shu sababli, ishlab chiquvchilar keng ko'lamli komponentlar, texnologiyalar va vositalardan foydalanish imkoniyatiga ega. Va ular o'z mijozlari uchun yaratgan echimlar faqat bizning mahsulotlarimiz ishlatilganidan ko'ra yaxshiroq bo'lib chiqadi. Sotish uchun esa ko'plab mamlakatlarda vakolatxonalarimiz, sotuvchilar va distribyutorlarimiz bor.

K.R.: Biz uchun hamkorlar soni emas, balki har bir aniq sherikning ish sifati muhim. Hozircha biz mavjud hamkorlar bilan yaqindan ishlashga e'tibor qaratmoqchimiz, garchi hamkorlar puli ochiqligicha qolmoqda. Bizning ko'plab hamkorlarimiz bor va biz ularga texnologiya bo'yicha yordam berishimiz kerak. Biz ishlab chiquvchilar bilan ishlaymiz va ular nimani xohlashlarini bilishadi va bozorda nima borligini bilishadi va hamkorlarning imkoniyatlari bunga mos kelishi kerak.

Bizda Embarcadero-ga biznes yo'nalishi sifatida jiddiy sarmoya kiritgan biznes hamkorlarimiz bor - ular o'qitgan mutaxassislarga, mahsulotlarimizni sotishga, ushbu soha uchun mas'ul bo'lgan va mahsulotlarimiz, narxlar ro'yxati, marketing bilan nima sodir bo'lishini kuzatadigan maxsus xodimlarga ega. Tabiiyki, ular mahsulotimizni alohida-alohida sotadigan kompaniyalarga qaraganda mahsulotimizni sotish bo'yicha muvaffaqiyatliroq.

KP: Devid, Kirill, qiziqarli intervyu uchun sizga katta rahmat. Nashrimiz va o‘quvchilarimiz nomidan kompaniyangizga ishlab chiquvchilarga juda zarur bo‘lgan ajoyib vositalaringizni yaratishda muvaffaqiyatlar tilayman!

Savollarni Natalya Elmanova berdi

FireMonkey "yangi Delphi" ning asosiy texnologiyasidir. Iltimos, ushbu tubdan yangi kutubxona qurilmasining maqsadlari, imkoniyatlari va texnik jihatlari haqida bizga xabar bering. Vaqt o'tishi bilan, orqaga qarab, juda mashhur VCLni yanada rivojlantirishdan bosh tortishingiz qanchalik qiyin va asosli edi?

U aniq maqsadga erishish uchun Delphi texnologiyasini rivojlantirishning asosiy yo'nalishi sifatida tanlangan - yagona manba kodlari bazasiga asoslangan va ishlab chiquvchilarni tubdan qayta tayyorlashni talab qilmasdan, bir muhitdan ko'p platformali ishlab chiqish. Hozirgi klassik va juda mashhur VCL doirasida buning iloji yo'q edi, uning WinAPI bilan aloqasi juda yaqin edi, deyish mumkinki, "genetik darajada".

VCL komponentlarida interfeys va ularni ko'rsatish mexanizmlari nuqtai nazaridan funktsional qatlam o'rtasida "mavhum" qatlam yo'q edi. Funktsional daraja- boshqaruv elementi sifatida o'zini qanday tutadi, qanday hodisalarga munosabat bildiradi, foydalanuvchilarning qanday o'zaro ta'sirini ta'minlaydi. Displey- Platformaga yo'naltirilgan vizualizatsiya usullarini rastr ob'ektlari va vektor primitivlari tomonidan yaratilgan tasvirning bir turi sifatida chaqirish. FireMonkey dastlab boshqaruvni ikkita komponentga: "xulq-atvor" va "vizual" ga qat'iy ajratish tamoyilini amalga oshirdi.


Vsevolod Leonov, Embarcadero Technologies

Birinchisi, odatda, VCL asoslarini emas, balki ob'ektga yo'naltirilgan dasturlashning mohiyatini takrorlaydi. Komponent - bu sinf, komponent sinflari oilalar va modullarni ajratish mumkin bo'lgan ierarxiyani tashkil qiladi. Komponentning klassi uning qanday ko'rsatilishiga deyarli aloqasi yo'q.

Vizual "rasm" dinamik ravishda yaratilgan, komponentlar sinfida qattiq kodlanmagan. FireMonkey-dagi rasm yoki "uslub" dastur ishga tushganda komponentga yuklanadi. Bizda komponent uchun ba'zi funktsional skeletimiz bor va "teri" yoki "qoplama" o'zgarishi mumkin, lekin nima uchun? FireMonkey ilovalari har qanday platformada - Windows 7, Windows 8, Mac OS, iOS va yaqin kelajakda Androidda haqiqiy ko'rinishi uchun. VCL ning an'anaviy monolit sinf tuzilishi buni ta'minlay olmadi.

Bu erda yondashuvning texnologik samaradorligi alohida rol o'ynaydi. Asosan, siz VCL kutubxonasini olishingiz va WinAPI va boshqa barcha mumkin bo'lgan platforma qo'ng'iroqlarini olishingiz mumkin. Bu hali ham juda cheklangan komponentlar to'plamida amalga oshirilishi mumkin, ammo VCL bir necha yuz komponentlarni o'z ichiga oladi, shuning uchun bu yondashuv VCLni o'ldirishi mumkin. VCL-ga tegmaslikka, balki yangi platforma - FireMonkey-da yangi imkoniyatlarni ishlab chiqishga qaror qilindi. Ushbu texnologiya hatto ma'lum bir texnik murakkablikka ega - muayyan platforma uchun loyihani yaratish vaqtida Delphi IDE kerakli kompilyatorni bog'laydi va interfeys komponentlari platforma uslubini oladi.

Foydalanuvchi uchun bu bir marta bosish va bir xil manba kodi, Delphi uchun bunday ko'p platformali kutubxonani yaratish dasturchilarning uzoq muddatli mashaqqatli mehnatidir.

FireMonkey alohida yangi platforma sifatida taqdim etilishi aniq bo'lgach, to'g'ri birgalikda yashash strategiyasini tanlash kerak edi: Embarcadero VCL foydalanuvchilariga hech qanday tarzda salbiy ta'sir ko'rsatishni xohlamadi. Shuning uchun biz quyidagi rejani tanladik: VCL eng yuqori muvofiqlikni ta'minlash uchun g'oyaviy va me'moriy jihatdan barqaror bo'lib, loyihalarni zamonaviy versiyalarga ko'chirishni osonlashtiradi. FireMonkey-ning rivojlanishi VCL-ga qaramay, tabiiy va parallel yo'ldan boradi.

Ushbu yechimning zaif tomoni bitta loyiha doirasida VCL-dan FireMonkey-ga juda muammoli o'tishdir. Ammo boshqa tomondan, yangi loyiha uchun ishlab chiquvchi o'zlarining natijada paydo bo'lgan ilovasining ko'p platformali funksionalligini ta'minlash uchun FireMonkey-ni tanlashi mumkin. XE4 iOS qo'llab-quvvatlashi bilan chiqarilgandan so'ng, biz Delphi-ning korporativ muhitda mobil ishlab chiqishni boshlash uchun yorqin raqobatbardosh afzalliklari haqida gapirishimiz mumkin, bu rejalashtirilgan Android qo'llab-quvvatlashi amalga oshirilgandan so'ng ortadi.

Shu sababli, VCL ning rivojlanishini aniq "rad etish" yo'q. Delphi ning VCL qismi ham yangi versiyalarda rivojlanadi. Bunga 64-bitli qo'llab-quvvatlash va vizual komponentlar uchun uslublarni joriy etish, moslashuvchan dinamik havolalar yoki "bog'lash" mexanizmini amalga oshirish va VCL loyihalarida ma'lumotlar bazalari bilan ishlash uchun FireDAC kutubxonasini kiritish kiradi. FireMonkey tufayli ulkan sifatli sakrash fonida VCLdagi taraqqiyot biroz rivojlanmagan ko'rinadi. Qanday bo'lmasin, VCL Delphi ning ajralmas qismi bo'lib, uzoq yillar davomida shunday bo'lib qoladi. Platforma evolyutsiyasi va ish stoli va mobil OTdagi san'atning hozirgi holati shunday bo'lsa-da, kelajak FireMonkey bilan aniq.

Suhbatda biz allaqachon iOS-ni qo'llab-quvvatlashni muhokama qildik, keling, o'quvchilarimizga Windows 8 va WinRT, 64-bitli tizimlar, macOS va boshqalar kabi so'nggi RAD Studio XE4-dan boshqa so'nggi texnologiyalarni qo'llab-quvvatlash haqida gapiraylik. Innovatsiyalar bilan buzilgan zamonaviy dasturchiga yana nimani taklif qilishingiz mumkinligini sanab bera olamanmi?

Ehtimol, zamonaviy dasturchi innovatsiyalardan "buzilgan" emas. Katta loyihalar uchun har qanday "yangilik" ko'pincha katta hajmdagi ishlarga aylanadi.

Masalan, hamma uzoq vaqt kutdi, ko'pchilik darhol o'z kodlarini yangi platformaga o'tkazishga shoshilishdi. Ammo ma'lum bo'lishicha, hatto juda professional jamoalar ham bunga tayyor emas. Kompilyatsiya qilingan 64 bitli kod ishlash mumkin degani emas. "Yoshlik gunohlari" paydo bo'la boshladi, masalan, 4 baytlik manzil hajmini taxmin qilish bo'yicha ko'rsatmalardan foydalanish. Sinovlarni o'tkazish madaniyatining yo'qligi va bu jarayonni qisqa vaqt ichida amalga oshirish uchun texnologik jihatdan mavjud emasligi.

Va bu erda - loyiha, aytaylik, dastlabki kod satrlari soni bilan o'lchanadigan qanchalik katta bo'lsa, dasturchilar interfeysdagi "tugma" ning paydo bo'lishidan tortib, "sintaktik shakar"gacha bo'lgan turli xil yangiliklar haqida shunchalik ehtiyotkorlik bilan va o'lchanadi. kompilyator.

Ana shunday “muammoli” yutuqlardan biri Windows 8-ning chiqarilishi bo'ldi. Shaxsan, shaxsiy kompyuter foydalanuvchisi va shunchaki zamonaviy IT-mutaxassis sifatida Windows 8 zavq bag'ishlaydi. Ammo yukda yangi operatsion tizimni ishlab chiqish uchun texnik spetsifikatsiyaga ega Windows 8 operatsion tizimida ishlaydigan kompyuterlar partiyasi yuborilgan ishlab chiquvchilar uchun bu muayyan qiyinchiliklarni anglatadi.

Biz ushbu OTning yangi interfeysini ishlab chiqish uchun imkon qadar qulay va og'riqsiz yordam berishga harakat qildik. Shuning uchun ham VCL, ham FireMonkey uchun maxsus uslublar joriy qilingan va dasturchi ilova interfeysini qayta qurishi yoki ilovani qayta yaratishi mumkin, bu esa tashqi ko'rinishi bo'yicha "mahalliy" Windows 8 dan farq qilmaydi. Albatta, WinRT orqali Windows 8 uchun "mahalliy" yordamga ehtiyoj bor. Ammo bu erda zamonaviy sharoitda maqsadlarning ustuvorligi ta'sir qiladi. Yaqin kelajakda Mac OS, iOS, Android yaqin kelajakda WinRT-ni to'liq qo'llab-quvvatlash haqida gapirish imkoniyatini bermaydi.

Embarcaderoning strategik maqsadi, albatta, ko'p platformali bo'lishdir. RAD Studio XE4-ning chiqarilishi, birinchi navbatda, iOS-ni qo'llab-quvvatlash tufayli muhim edi. VCL dan foydalanadigan faol dasturchi bir necha soat ichida iOS uchun ishlab chiqishni boshlashi mumkin. Hatto oddiy mobil ilova ham bir zumda mavjud infratuzilma doirasida ishlaydigan kuchli loyihaga aylantirilishi mumkin. Bu shunchaki FireMonkey uchun yangi kompilyator va iOS interfeysiga mos keladigan yangi uslub deb o'ylamang.

U yangi vizual dizaynerni, turli shakl omillari uchun o'rnatilgan qo'llab-quvvatlashni va ma'lumotlarga kirish kutubxonalarini, jumladan, yangi FireDAC va korporativ ma'lumotlarga moslashuvchan va dinamik ulanish uchun LiveBindings texnologiyasini o'z ichiga oladi. Bu barcha yangiliklar sinxronlashtiriladi - Windows uchun ham, Mac OS uchun ham, iOS uchun ham. Mac OS operatsion tizimi unchalik tez rivojlanmayapti, shuning uchun Windows 7 dan Windows 8 ga o'tish kabi muammolar mavjud emas. Ammo Retina displeylari paydo bo'ldi va bu alohida e'tibor talab qildi. Endi Delphi XE4 da yaratilgan har qanday MacOS ilovasi avtomatik ravishda ikkita uslubni o'z ichiga oladi - "normal" va "yuqori aniqlik".

Bu. bir xil dastur har qanday Apple ish stoli kompyuterida bir xil yuqori sifatli "mahalliy" interfeysga ega bo'lishi mumkin.

Embarcadero o'zining yangi innovatsion relizlari bilan ishlab chiquvchilarni "hayratlantirgisi", "hayratlantirgisi" va hattoki "ko'ngilxushlikni" istamaydi. Aksincha, IT sohasi allaqachon turli xil kutilmagan hodisalarga to'la: yangi qurilmalar, yangi platformalar, yangi foydalanuvchilar, ularning yangi ehtiyojlari, yangi o'zaro ta'sir stsenariylari. Bunga yangi dasturiy ta'minot ishlab chiqish texnologiyalarini qo'shing va dasturchilar mavjud bo'lganlarida yangi tizimlar yaratishga vaqt topa olmaydi - ular faqat bir muhitdan ikkinchisiga, eski kutubxonadan yangisiga, bir tildan boshqasiga o'tish uchun nima qiladilar. .

Lekin biz hamma yangi narsalarni rad etishni tan olmaymiz. Biz shunchaki hamma narsaning uzluksizligini ta'minlashni xohlaymiz - kod, interfeys, loyiha, hatto yangi platformalar va qurilmalar paydo bo'lganda professional ko'nikmalar. Aytishimiz mumkinki, biz rivojlanish vositalarida sog'lom konservatizm hisobiga yangi platformalar haqida nosog'lom konservatizmga qarshi kurashmoqdamiz. Embarcadero'dan ekzotik mahsulotlar, nostandart dasturlash tillari va g'alati rivojlanish vositalarini kutmang.

Biz bilan siz har doim topasiz - vizual rivojlanish, klassik tillar, "mahalliy" kod va yangi maqsadli platformalar xuddi shu tasdiqlangan klassik tarzda yaratilgan ilovalaringiz uchun bo'lsin.

03.06.2013 12:46

FireMonkey-da brauzer komponenti yo'qligi tufayli men juda ko'p azob chekdim. Taniqli Delphi Chromium Embedded loyihasi so'nggi tuzilishda FMX qo'llab-quvvatlashini o'z ichiga oladi. Ammo ancha vaqt o'tganiga qaramay, muallif FMX2 uchun qo'llab-quvvatlashni qo'shishga shoshilmayapti. Natijada vaziyatni o'z qo'limga olishga majbur bo'ldim.

Rasmiy yig'ilishdagi TChromiumFMX komponenti FireMonkey-da (XE2-da) juda yaxshi ishlaydi, lekin u FMX2-da ham kompilyatsiya qilinmaydi. Men uning qanday ishlashi haqida bir oz tushunishim va uni tuzatishim kerak edi. Yaxshiyamki, katta o'zgarishlar talab qilinmadi.

FMX2 da komponentga kerak bo'lgan ikkita narsa o'zgardi.

Birinchidan, TBitmap endi ScanLine va StartLine xususiyatlariga ega emas. TBitmap tarkibiga to‘g‘ridan-to‘g‘ri kirish imkoniyati qayta ishlangan (Qiziq, nima uchun?) Va endi u TBitmap.Map usulini qaytaruvchi TBitmapData sinfi orqali mavjud.

Xo'sh, ikkinchi, mashhurroq - Platforma * Endi u erda emas, endi siz TPlatformServices.GetPlatformService orqali kerakli interfeysni olishingiz kerak. Bu erda hamma narsa juda oddiy va hech qanday muammo yo'q.

Men uni ayniqsa ixtirochilik bilan sinab ko'rmadim, lekin mening maqsadlarim uchun komponent juda mos keladi - u orqali saytlarni ko'rishingiz mumkin. Yuklab oling. Bundan tashqari, men tahrirlarimni muallifga yuboraman, ehtimol ularni rasmiy versiyaga qo'shish kerak bo'lishi mumkin.

30.07.2012 02:43

Jeyson Sautvell mahalliy Windows / OSX boshqaruvlari uchun FireMonkey o'ramlari to'plamini ishlab chiqishni taklif qiladi va buning uchun pul yig'moqda. U boshlash uchun 20 ming dollar yig'ishni rejalashtirmoqda.

Fikr aniq. Mavjud FireMonkey komponentlari Delphi yordamida deyarli noldan ishlab chiqariladi, bu esa, bir tomondan, ularning platformalararo funksionalligini ta'minlaydi, ammo boshqa tomondan, natijada biz hozirda qo'llab-quvvatlanadigan ikkala operatsiyada ham mutlaqo tabiiy ko'rinmaydigan komponentlarni olamiz. tizimlari. Va bu muammoning yarmi - tashqi ko'rinishga qo'shimcha ravishda, siz ushbu komponentlarning mantig'ini mustaqil ravishda ishlab chiqishingiz kerak. Misol uchun, RichEdit juda murakkab; uning mantig'ini FireMonkey-da mustaqil ravishda takrorlash arzimas ish emas. VCL ham, CLX ham g'ildirakni qayta ixtiro qilmadilar, ular tayyor g'ildirakdan foydalanishdi.

Endi yomon xabar uchun. Hammasi ish vaqtida ishlaydi, lekin men yangi yorliq turini Items Designer-ga qo'shishning hech qanday usulini topa olmadim. Va barcha ro'yxat boshqaruvlarida bir xil muammo borga o'xshaydi: TListBox, TGrid va boshqalar. Avvaliga ularni amalga oshirishga yondashuv menga juda yoqdi, lekin hozir men qandaydir tarzda bunga shubha qilaman. Internetdagi qidiruv shuni ko'rsatdiki, men bu muammo bilan yolg'iz emasman.

Yordam jim, men ham kodda hech narsa topmadim. Haqiqatanmi? Bu juda yoqimsiz bo'lar edi.

FireMonkey nima?


FireMonkey (FMX) Delphi/C-dan foydalangan holda ish stoli tizimlari (Windows, Mac OS + yaqin kelajakda, Linux-da server tomonini qo'llab-quvvatlash rejalashtirilgan) va mobil (iOS va Android) uchun kross-platformalarni ishlab chiqish uchun asosdir. ++ tili.

Xususiyatlari:

  • barcha platformalar uchun yagona kod bazasi;

  • har qanday boshqaruv (vizual komponent) boshqa komponentlar uchun konteyner (ota-ona) bo'lishi mumkin;

  • shaklda komponentlarning juda rivojlangan nisbiy pozitsiyasining (20 turdagi) mavjudligi;

  • LiveBinding har qanday turdagi ma'lumotlar yoki ma'lumotlarni istalgan foydalanuvchi interfeysi yoki grafik ob'ektga ulash imkonini beradi;

  • shakl / komponentlar uslublarining mavjudligi;

  • Multi-Device Preview har bir platforma uchun vizual taqdimotni sozlash imkonini beradi;

  • FireUI Live Preview - real vaqtda real qurilmalarda ilova ko'rinishini ko'rsatish.

Imkoniyatlar:

  • har bir platformaning mahalliy API-dan foydalanish, shuningdek, uchinchi tomon mahalliy kutubxonalariga qo'ng'iroq qilish imkoniyati;

  • barcha sensorlar (GPS, akselerometr, kompas, Bluetooth (shu jumladan LE) va boshqalar) bilan o'zaro ta'sir qilish;

  • push-bildirishnomalarni qo'llab-quvvatlash, IoT;

  • asinxron HTTP so'rovlarini qo'llab-quvvatlash;

  • ko'pgina ma'lumotlar bazalarini qo'llab-quvvatlash (MsSQL, MySql, Oracle, PostgreSQL, MongoDB va boshqalar);

  • Cloud Service (Amazon, Azure) bilan ishlash;

  • Android xizmatini qo'llab-quvvatlash.

Kamchiliklari (hozirda):

  • mahalliy sinflarni sozlash uchun yordam yo'qligi;

  • muayyan narsalarni amalga oshirish mumkin emas (vidjetlar, kengaytmalar (iOS) va boshqalar) yoki daf bilan raqs kerak (fon xizmati, translyatsiya xabari va boshqalar);

  • Splash ekranini sozlash (boshlang'ich ekran), yumshoq qilib aytganda, yo'q;

  • FMX boshqaruvlari o'zlarining renderlashlaridan (vizuallashtirish, chizish) foydalanadilar, ular vizual ravishda mahalliyga o'xshaydi;

  • mahalliy boshqaruv vositalaridan foydalanish katta tana harakatlari bilan bog'liq;

  • komponentlarning ko'p joylashishi bilan aql bovar qilmaydigan narsalar sodir bo'ladi: dastur turli joylarda ishdan chiqadi, u diqqatni yo'qotadi, muzlaydi va hokazo;

  • mobil platformalarda ilovalarni tuzatishning axborot mazmuni nolga teng;

  • mobil platformalardagi xatolar tavsifi foydasiz "0x00000X xatosi" ga qisqartirildi;

  • kompilyatsiya vaqti o'rta va yirik loyihalar uchun eng yaxshi bo'lishni xohlaydi;

  • har bir platforma uchun mobil ilovalarni nozik sozlash uchun fayldan foydalanish zarurati;

  • Intel Atom arxitekturasini qo'llab-quvvatlamaydi;

  • raqobatchilarga nisbatan etarli bo'lmagan narx.

Taroziga soling:

  • yaqinda ham mahsulot, ham jamiyatning juda faol rivojlanishi, tobora ko'proq yangi texnologiyalarni qo'llab-quvvatlash;

  • juda ko'p miqdordagi bepul va tijorat komponentlarining mavjudligi;

  • dastur tezligi mahalliyga juda yaqin;

  • juda rivojlangan vizual muharrir va umuman atrof-muhit, uslublarning mavjudligi;

  • dasturni Win-da sinab ko'rish va shundan keyingina uni qurilmalarga joylashtirish imkoniyati, bu esa rivojlanishni sezilarli darajada tezlashtiradi;

  • qo'lning engil harakati bilan rejimni / platformani o'zgartirish;

  • PAServer Apple OS uchun ishlab chiqilayotganda MacO bilan oson o'zaro aloqani ta'minlaydi;

  • qutidan tashqari 3D grafiklarni qo'llab-quvvatlash.

Xulosa qilib shuni aytmoqchimanki, FireMonkey so'nggi ikki yil ichida nafaqat biznes-ilovalarni platformalararo ishlab chiqish uchun professional vositaga aylandi. Ko'pgina kamchiliklar asta-sekin hal qilinmoqda va har bir chiqarilish bilan mahsulot tobora zamonaviy va o'zini o'zi ta'minlaydi, Delphi tilining o'ziga nisbatan ko'p yillik turg'unlik bilan bog'liq bo'lgan shubhalar ham yo'qoladi. FireMonkey bilan yangi loyihalar yozish "xavfsiz" va istiqbolli.

FireMonkey atamasi ko'proq yoki kamroq tanish bo'lganidan beri etarli vaqt o'tdi, agar barcha ishlab chiquvchilar uchun bo'lmasa, hech bo'lmaganda Delphi-dan foydalanadiganlar uchun. Bu vaqt ichida FireMonkey haqidagi kitoblar, FireMonkey haqidagi maqolalar, ko'plab bloglarda FireMonkey haqidagi yozuvlar paydo bo'ldi. Bularning barchasini o'qish juda qiziq. Lekin hech bir nazariya amaliyotni almashtira olmaydi. Va men, avvalgi ko'pchilik kabi, FireMonkey yordamida biror narsa yozishga harakat qilmoqchi bo'ldim.

Biroq, buni amalga oshirishda muammo paydo bo'ldi. Negadir men juda murakkab bo'lmagan ishchi loyihani amalga oshirishim kerak deb qaror qildim.

Nega bu men uchun muammo bo'lib qolganini tushuntirish uchun biroz (men yozmoqchiman, lirik) chekinish kerak bo'ladi. Ishlab chiquvchi sifatida o'tmishimga ekskursiya. Delphi bilan dasturlash haqidagi ba'zi fikrlarimni tushuntirib bering.

Aytishim kerakki, men Delphi dan Windows 3.1 da, ya'ni birinchi versiyadan foydalanishni boshladim. Va shundan beri men VCLni o'rganyapman. Ta'bir joiz bo'lsa, asl nusxada o'rganilgan. Men kuzatdim, murojaat qildim, manbalarni kuzatdim. Yana va yana.

Ma'lumki, turli vaqtlarda Delphi bilan jo'natilgan komponentlar to'plami VCLdagi bo'shliqlarni to'ldirishi kerak bo'lgan uchinchi tomon komponentlarini o'z ichiga olgan va ehtimol ular qo'shilishdan oldin sifat nazoratidan o'tgan. Ushbu komponentlarning ba'zilari bugungi kunda jo'natilishda davom etmoqda. Xuddi shu Indyni oling. Men hech kimni xafa qilishni xohlamayman, bu mening shaxsiy fikrim, bu komponent ishlab chiqaruvchi sifatida o'zimga ham tegishli: hech bir to'plam bu qadar chuqur o'ylab topilmagan va ulkan va xilma-xil VCL sifatida amalga oshirilmagan. Yo'q, men o'zimni yakuniy haqiqat deb ko'rsatmayman va, albatta, VCLning o'zida tushunmovchilikka olib keladigan, rad etishga olib keladigan va siz rozi bo'lmaslikni istagan ko'plab xatolar, echimlar mavjud. Lekin men har doim ma'lum bir forma uslubi haqida taassurot qoldirdim. Menimcha, VCLda butun Delphi dizaynini qo'llab-quvvatlaydigan va uning atrofida dasturiy ta'minot infratuzilmasi va ishlab chiquvchilar hamjamiyatining o'zi qurilgan chiroyli va mustahkam yadro mavjud. Ko'p jihatdan VCLga rahmat, menimcha, Delfining o'limi haqidagi mish-mishlar hanuzgacha mish-mish bo'lib qolmoqda. Va uchinchi tomon komponentlari VCL yetkazib berishga kiritilganda, u darhol sezildi, ular boshqacha edi.

Ammo keyin vaqt keladi va men VCL eskirgan texnologiya ekanligini eshitaman. O'tmishda qoladigan texnologiya. Ishlab chiquvchilar o'zlarining barcha yangi loyihalarini FireMonkey-da amalga oshirishlari kerak, ammo eskilari haqida ... ularni yangi relslarga o'tkazish yaxshi bo'lar edi. FireMonkey hamma joyda va istalgan vaqtda. Va men buni turli manbalardan eshitaman. Va juda qat'iy. Yo'q, hech kim VCLni o'ldirmaydi. u biz bilan qoladi. Lekin u hozir birinchi raqamli emas. U dublyorga aylanishi kerak. Hech bo'lmaganda men mahsulotning kelajagi haqida nima deyilganini tushunaman.

Printsipial jihatdan, men bu uyg'unlikni tushunaman. Kurs ko'p platformali va eng muhimi, o'zaro faoliyat platformalar uchun mo'ljallangan. Axir, VCL nima? Vizual komponentlar kutubxonasi. Vizual komponentlar kutubxonasi. Bu bilan rozi bo'lmaslik mumkin. Masalan, men har doim komponentlarni emas, balki faqat sinflarni, VCL ning ajralmas qismi va juda ko'p sonli uchinchi tomon sinflari va komponentlarini - VCLning davomi, kengaytmasini ko'rib chiqdim. Men TDataset vorislarini VCLning bir qismi deb hisoblay olmayman. Garchi, masalan, DBExpress Library atamasi bu VCL emasligini aytadi. Ko'rinishidan, Embarcadero haqiqatan ham monolitni, mening nuqtai nazarimdan, VCL-ni bir qator alohida kutubxonalarga ajratadi. Yo'q, albatta, unchalik alohida emas, lekin shunga qaramay. Va agar biz ushbu nuqtai nazarni qabul qilsak, FireMonkey VCL ning vizual qismini almashtirish uchun mo'ljallangan (sinflar va komponentlarning to'liq kutubxonasini nima deb atashim kerak, ehtimol Borland komponentlar kutubxonasi?).

Atrofida qurilgan kutubxonaning vizual komponentlari qanday? Operatsion tizim tomonidan taqdim etilgan past darajadagi, asosiy elementlar atrofida. Oyna deskriptorlari, shriftlar, derazalarning o'zi, kiritish elementlari, xabarlar, qurilma kontekstlari va boshqalar - bu Delphi bilan ta'minlangan kutubxona tushunchalari emas, balki operatsion tizim tushunchalari. Ha, aniq, Windows. Va agar siz o'zaro platformalar kutubxonasini qurmoqchi bo'lsangiz, kutubxona yordamida yozilgan dasturni bajaradigan operatsion tizim tomonidan taqdim etilgan infratuzilmadan voz kechish mantiqan to'g'ri keladi.

FireMonkey aynan shunday qilmoqchi. Ular turli xil operatsion tizimlarda qo'llab-quvvatlanadigan asosiy mexanizmlarga asoslangan, operatsion tizimlarning o'zlari taklif qiladigan xizmatni almashtirishga qodir bo'lgan infratuzilmani yaratishga harakat qilmoqdalar.

Ko'pchilik buni qilishga harakat qilishni eslaydio'zaro platformalar nafaqat kutubxona, balki Delphining o'zi ham... Delphi 6 bilan parallel ravishda Kylix mahsuloti va CLX kutubxonasi chiqarildi. Bularning barchasi Linux uchun ishlab chiqish imkoniyatiga ega bo'lish uchun qilingan. Biroq, Linuxda Windows-ning ko'pgina asosiy GUI tushunchalari yo'q. Linux uchun oynali interfeys umuman mahalliy hodisa emas. Bu ilova ixtiyoriy. Va men qandaydir sintetik kutubxona yozishim kerak edi. Uning yordami bilan Windows va Linux uchun dastur yozish mumkin edi. Biroq, men hali ham CLX-ning vizual komponentlarining analoglaridan foydalanishga harakat qilganimda, umidsizlik emas, balki zerikarli noqulaylik hissini eslayman. Men juda ko'p sog'inishni boshladim. VCL yordamida ishlab chiqishda o'ylamasdan qilgan ishim CLX yordamida qiyin, butunlay boshqacha yoki shunchaki imkonsiz bo'lib chiqdi.

BDE-dan DExpress-ga o'tishda men xuddi shunday his qildim. Qadimgi, Field Test BDE bilan tanish (Borland o'sha paytda uni Windows uchun Quattro Pro-da va Windows uchun Paradox-da ishlatgan va u ODAPI, keyin esa IDAPI deb nomlangan va yuqorida kesilgan, mening fikrimcha, Microsoft-ning ODBC-si) eskirgan deb e'lon qilindi. texnologiya, bu yangi loyihalarda yangi kutubxonaga yo'l berishi kerak. Avvaliga DBExpress-da nimadir etishmayotgan edi, ayniqsa bilim.

Shu bilan birga, men yuqorida sanab o'tilgan kutubxonalarni ham, ularning paydo bo'lishiga olib kelgan echimlarni ham tanqid qilishni yoki tanqid qilishni xohlamayman. Bu faqat mening taassurotlarim, ba'zan birinchi taassurotlarim haqida.

Endi, ehtimol, nima uchun FireMonkey yordamida kichik ishchi loyihani yozish qarori bir qator muammolarni keltirib chiqarganligi biroz aniqroq bo'ladi. Ko'p yillar davomida prognozlar, loyihalar va loyihalarni ishlab chiqish jarayonida ma'lum bir stereotip, nima va qanday qilish kerakligi haqida ma'lum bir shablon shakllandi. Va mening vaziyatimda, shablonni o'zgartirish kerakligi bilan duch kelishim kerak edi. Chunki siz VCL-dan foydalanishga odatlangan hamma narsani FireMonkey-da qurilgan loyihaga o'tkaza olmaysiz.

Loyihaning boshida men ma'lum bir deja vu tuyg'usini boshdan kechirdim. Ya'ni, noqulaylik hissi. Misol uchun, odatiy kirish elementlari ko'p xususiyatlarga ega emas. Operatsion tizimning ba'zi o'ziga xos xususiyatlarini bilish bilan bog'liq bo'lgan hiyla-nayranglarga asoslangan amaliyotda mustahkam o'rnashgan fokuslar yangi kontekstda o'tmaydi. Aytish kerakki, ba'zi komponentlar tubdan o'zgargan.

Xo'sh, va yana bir muhim nuance. Agar u (ish) kompilyatorlarni yozish, modellashtirish tizimlari yoki boshqa yuqori ilmiy narsa bilan bog'liq bo'lmasa, odatda qanday loyihalar bilan shug'ullanishingiz kerak? O'ylaymanki, ularning ko'pchiligi uchun bu ma'lumotlar bazalaridan foydalanish bilan bog'liq narsalarni ishlab chiqmoqda. Bundan tashqari, yuqori darajadagi ilmiy narsa DBMS tomonidan taqdim etilgan xizmatlardan ham foydalanishi mumkin.

Bu yerda meni yana bir pistirma kutib turardi. Ba'zi sabablarga ko'ra, amalda FireMonkey-da ma'lumotlar bazasida saqlangan ma'lumotlar bilan ishlashga qaratilgan elementlar mavjud emasligiga duch kelganingizda, o'zingizni bunga unchalik tayyor emasligingizni sezasiz (yumshoq qilib aytganda). Garchi men bu haqda ko'p marta o'qigan bo'lsam ham va siz (nazariy jihatdan) nimadan foydalanishni bilasiz. Bu Live Bindings haqida.

Haqiqiy zo'r dasturchilar db-aware komponentlardan foydalanishi kerakmi yoki yo'qmi degan bahsga qo'shilmoqchi emasman.Amalda, yangi loyihani boshlashda men shunday holatga duch keldim: men ham yangi vizual komponentlarga, ham yangi vizual komponentlarga ko'nikishim kerak. ko'rsatish, tahrirlash va oxir-oqibat saqlash uchun ma'lumotlarni olishning yangi usuli. Bu, yana, yomon ham, yaxshi ham emas. Men uchun shunday bo'ldi.

Bu birinchi taassurotlar haqidagi postni yakunlaydi. Keyingi qatorda loyiha ustida ishlash paytida nima va qanday engilganligi haqida hikoyalar.

Sizga maqola yoqdimi? Do'stlar bilan baham ko'rish uchun: