vipengele vya firemonkey. Delphi, FireMonkey, All-Access na mshangao mwingine wa kupendeza. Mambo ya kuzingatia

FireMonkey ni teknolojia ya msingi ya "Delphi mpya". Tafadhali tuambie kuhusu malengo, uwezo na vipengele vya kiufundi vya maktaba hii mpya kabisa. Baada ya muda, nikitazama nyuma, kukataa kwako kuendeleza VCL maarufu sana kulikuwa kugumu kiasi gani?

Ilichaguliwa kama mwelekeo kuu wa ukuzaji wa teknolojia ya Delphi kufikia lengo maalum - maendeleo ya majukwaa mengi kutoka kwa mazingira moja, kwa msingi wa msingi wa nambari moja ya chanzo, bila hitaji la kufunzwa tena kwa watengenezaji. Ndani ya mfumo wa VCL ya kisasa na maarufu sana, hii haikuwezekana; unganisho lake na WinAPI lilikuwa karibu sana, mtu anaweza kusema, "katika kiwango cha maumbile."

Vipengele vya VCL havikuwa na safu ya "abstract" kati ya kiwango cha utendaji kulingana na kiolesura na taratibu za kuvionyesha. Kiwango cha utendaji- jinsi inavyofanya kama udhibiti, ni matukio gani inaathiri, ni aina gani ya mwingiliano wa mtumiaji hutoa. Onyesho— inaita njia za taswira zenye mwelekeo wa jukwaa kama taswira fulani iliyoundwa na vitu vikali na viasili vya vekta. FireMonkey awali ilitekeleza kanuni ya kugawanya udhibiti katika vipengele viwili: "tabia" na "kuona".


Vsevolod Leonov, Embarcadero Technologies

Ya kwanza kwa ujumla haitarudia hata misingi ya VCL, lakini kiini cha programu inayolenga kitu. Sehemu ni darasa; madarasa ya sehemu huunda safu ambapo familia na moduli zinaweza kutofautishwa. Darasa la sehemu inahusiana kwa urahisi na jinsi inavyotolewa.

"Picha" ya kuona inaundwa kwa nguvu; haijaandikwa kwa ukali katika darasa la sehemu. Picha au "mtindo" katika FireMonkey hupakiwa kwenye kijenzi wakati programu inapoanza. Tuna aina fulani ya sura ya kazi kwa sehemu, na "ngozi" au "cladding" inaweza kubadilishwa, lakini kwa nini? Ni hivyo kwamba programu za FireMonkey zionekane kuwa za kweli kwenye jukwaa lolote - Windows 7, Windows 8, Mac OS, iOS na, katika siku za usoni, Android. Hili ni jambo ambalo muundo wa jadi wa darasa la monolithic wa VCL haukuweza kutoa.

Hapa, mbinu ya kiteknolojia ina jukumu maalum. Kimsingi, unaweza kuchukua maktaba ya VCL na "kuijaza" na WinAPI na simu zingine zote zinazowezekana za jukwaa. Hii bado inaweza kufanywa kwa sehemu ndogo sana ya vipengele, lakini VCL ina vipengele mia kadhaa, hivyo mbinu hii inaweza "kuua" VCL. Iliamuliwa kutogusa VCL, lakini kukuza uwezo mpya kwenye jukwaa mpya - FireMonkey. Teknolojia hii hata ina uzuri fulani wa kiufundi - wakati wa kukusanya mradi kwa jukwaa maalum, Delphi IDE inaunganisha compiler inayohitajika, na vipengele vya interface vinapokea mtindo wa jukwaa.

Kwa mtumiaji, hii ni mbofyo mmoja wa kipanya na msimbo sawa wa chanzo; kwa Delphi, ni miaka mingi ya kazi ngumu ya wasanidi kuunda maktaba ya majukwaa mengi kama haya.

Ilipobainika kuwa FireMonkey ingeanzishwa kama jukwaa jipya tofauti, mkakati sahihi wa kuishi pamoja ulipaswa kuchaguliwa: Embarcadero hakutaka kuathiri vibaya watumiaji wa VCL kwa njia yoyote ile. Kwa hivyo, tumechagua mpango ufuatao: VCL inabaki thabiti kiitikadi na usanifu ili kuhakikisha utangamano wa juu kabisa, na kuifanya iwe rahisi kuhamia miradi hadi matoleo ya kisasa. Uendelezaji wa FireMonkey utafuata njia ya asili na sambamba, bila kuzingatia VCL.

Jambo dhaifu la suluhisho hili ni uhamishaji wa shida kutoka VCL hadi FireMonkey ndani ya mradi huo huo. Lakini kwa mradi mpya, msanidi programu anaweza kuchagua FireMonkey ili kuhakikisha majukwaa mengi ya programu yao inayotokana. Baada ya kutolewa kwa XE4 kwa usaidizi wa iOS, tunaweza tayari kuzungumza juu ya faida za wazi za ushindani za Delphi kwa kuanza maendeleo ya simu katika mazingira ya ushirika, ambayo yataongezeka baada ya utekelezaji wa usaidizi wa Android uliopangwa.

Kwa hivyo, hakuna "kukataa" dhahiri kutoka kwa ukuzaji wa VCL kama hivyo. Katika matoleo mapya, sehemu ya VCL ya Delphi pia inakua. Hii ni pamoja na usaidizi wa biti 64, kuanzishwa kwa mitindo ya vipengee vya kuona, utekelezaji wa utaratibu wa miunganisho inayoweza kunyumbulika au "kumfunga," na kujumuishwa kwa maktaba ya FireDAC kwa kufanya kazi na hifadhidata katika miradi ya VCL. Ni hivyo tu, ikilinganishwa na kiwango kikubwa cha ubora kilichofanywa na FireMonkey, maendeleo katika VCL yanaonekana kuwa duni. Lakini, iwe hivyo, VCL ni sehemu muhimu ya Delphi na itaendelea kuwa hivyo kwa miaka mingi ijayo. Ingawa mageuzi ya majukwaa na hali ya sasa ya mambo katika uwanja wa OS kwa mifumo ya kompyuta ya mezani na vifaa vya rununu ni kwamba siku zijazo ni za FireMonkey.

Katika mahojiano tayari tulijadili msaada wa iOS, wacha tuwaambie wasomaji wetu juu ya usaidizi wa teknolojia zingine za hivi karibuni kutoka kwa RAD Studio XE4 ya hivi karibuni, kwa mfano, kama Windows 8 na WinRT, mifumo ya 64-bit, MacOS na kadhalika. Je! unaweza kuorodhesha ni nini kingine unaweza kutoa kwa programu ya kisasa iliyoharibiwa na uvumbuzi?

Uwezekano mkubwa zaidi, programu ya kisasa "haijaharibiwa" na ubunifu. Kwa miradi mikubwa, "innovation" yoyote mara nyingi husababisha kiasi kikubwa cha kazi.

Kwa mfano, kila mtu alisubiri kwa muda mrefu, wengi walikimbia mara moja kuhamisha nambari zao kwenye jukwaa jipya. Lakini zinageuka kuwa hata timu za wataalamu sana haziko tayari kwa hili. Kukusanya msimbo wa 64-bit haimaanishi kufanya kazi. "Dhambi za ujana" zilianza kuonekana, kwa mfano, kwa kutumia maagizo ya kuchukua ukubwa wa anwani ya 4-byte. Ukosefu wa utamaduni wa majaribio, pamoja na kutokuwa tayari kwa kiteknolojia kutekeleza mchakato huu kwa muda mfupi.

Na hapa - mradi mkubwa, uliopimwa, sema, kwa idadi ya mistari ya nambari ya chanzo, waandaaji wa programu makini zaidi na wenye usawa wana aina mbalimbali za ubunifu kuanzia kuonekana kwa "kifungo" kwenye interface hadi "sukari ya kisintaksia" katika mkusanyaji.

Mojawapo ya mafanikio haya "ya matatizo" yalikuwa kutolewa kwa Windows 8. Binafsi, kama mtumiaji wa Kompyuta na mtaalamu wa kisasa wa IT, nimefurahishwa na Windows 8. Lakini kwa watengenezaji ambao walitumwa kundi la kompyuta zinazoendesha Windows 8 na vipimo vya ukuzaji chini ya OS mpya kama mzigo, hii inamaanisha ugumu fulani.

Tulijaribu kutoa usaidizi wa ukuzaji kwa kiolesura kipya cha Mfumo huu wa Uendeshaji kwa raha na bila maumivu iwezekanavyo. Kwa hivyo, mitindo maalum imeanzishwa kwa VCL na FireMonkey, na programu inaweza kuunda tena kiolesura cha programu au kuunda programu mpya ambayo haitaweza kutofautishwa na ile ya "asili" ya Windows 8 kwa kuonekana. Bila shaka, kuna haja ya usaidizi wa "asili" kwa Windows 8 kupitia WinRT. Lakini hapa ndipo uwekaji kipaumbele wa malengo katika hali ya kisasa unakuja. Mac OS, iOS, Android katika siku za usoni bado hazituruhusu kuzungumza juu ya usaidizi kamili wa WinRT katika siku za usoni.

Lengo la kimkakati la Embarcadero, bila shaka, ni majukwaa mengi. Kutolewa kwa RAD Studio XE4 ilikuwa muhimu, haswa kwa sababu ya msaada wake kwa iOS. Msanidi programu aliyepo anayetumia VCL anaweza kuanza kutengeneza iOS baada ya saa chache. Hata programu rahisi ya simu inaweza kubadilishwa mara moja kuwa mradi wenye nguvu unaofanya kazi ndani ya miundombinu iliyopo. Usifikirie kuwa hiki ni kikusanyaji kipya tu cha FireMonkey na mtindo mpya wa kuendana na kiolesura cha iOS.

Hii ni pamoja na mbuni mpya wa kuona, usaidizi uliojumuishwa ndani wa vipengele mbalimbali vya fomu, maktaba za ufikiaji wa data, ikiwa ni pamoja na FireDAC mpya, na teknolojia ya LiveBindings kwa kuunganisha na data ya kampuni inayonyumbulika na thabiti. Ubunifu huu wote hufika kwa wakati mmoja - kwa Windows, Mac OS, na iOS. Mfumo wa uendeshaji wa Mac OS hauendelei haraka sana, kwa hivyo hakuna matatizo kama vile mabadiliko kutoka Windows 7 hadi Windows 8. Lakini maonyesho ya retina yalionekana, na hii ilihitaji tahadhari maalum. Sasa programu yoyote ya MacOS iliyoundwa katika Delphi XE4 inajumuisha moja kwa moja mitindo miwili - "kawaida" na "ufafanuzi wa juu".

Hiyo. programu tumizi sawa inaweza kuwa na kiolesura cha "asili" cha hali ya juu kwenye kompyuta yoyote ya mezani ya Apple.

Embarcadero haitaki "kushangaza," "kushangaza," au hata "kuburudisha" wasanidi programu kwa matoleo yake mapya ya kibunifu. Badala yake, kinyume chake, nyanja ya IT tayari imejaa mshangao mbalimbali: vifaa vipya, majukwaa mapya, watumiaji wapya, mahitaji yao mapya, matukio mapya ya mwingiliano. Ongeza teknolojia mpya za ukuzaji wa programu kwa hili, na waandaaji wa programu hawatakuwa na wakati wa kuunda mifumo mpya na iliyopo - watakachofanya ni kuhama kutoka mazingira moja hadi nyingine, kutoka kwa maktaba ya zamani hadi mpya, kutoka lugha moja hadi nyingine.

Lakini hatudai kukataa kila kitu kipya. Tunataka tu kuhakikisha uendelevu wa kila kitu - msimbo, kiolesura, mradi, hata ujuzi wa kitaalamu wakati mifumo na vifaa vipya vinapoonekana. Unaweza kusema kwamba tunapambana na uhafidhina usiofaa kuhusu majukwaa mapya kupitia uhafidhina wenye afya katika zana za maendeleo. Usitarajie bidhaa za kigeni, lugha zisizo za kawaida za upangaji, au zana za kipekee za ukuzaji kutoka kwa Embarcadero.

Ukiwa nasi utapata maendeleo ya kuona, lugha za kitamaduni, msimbo wa "asili", na kuruhusu mifumo lengwa ya programu zako, iliyoundwa kwa njia ile ile iliyothibitishwa ya kitamaduni, ziwe mpya.

TRippleEffect darasa kwa ajili ya kuunda athari inayotumia viwimbi vya mawimbi kwenye umbile la vitu vinavyoonekana.

Katikati ya ripple ni maalum katika mali Kituo. Vipengele vingine vya ripple vinaweza kubinafsishwa kwa kutumia mali Amplitude(Amplitude), AspectRatio, Na Awamu(Awamu). Idadi ya mawimbi ya ripple imedhamiriwa na mali Mzunguko(Marudio).

Jedwali lifuatalo linaonyesha matokeo ya ushawishi TRippleEffect kwa picha ya PNG iliyowekwa kwenye fomu (kwa kutumia ). Katikati ya ripple iko katikati ya picha. Mali nyingine TRippleEffect hutumiwa na maadili yao ya msingi ( Amplitude = 0,1, AspectRatio = 1,5, Mzunguko = 70, Awamu = 0).

Katika somo hili utatumia athari za kimsingi za picha katika programu ya FireMonkey.

Hatua ya 1: Tumia athari kwenye picha.

Katika FireMonkey, kutumia athari ya picha kwa picha ni mchakato rahisi. Unda tu kijenzi ambacho kinaweza kuwa na picha na kisha kutumia moja ya athari za picha.

    Unda programu mpya ya FireMonkey ( Faili> Mpya> Programu ya Kompyuta ya FireMonkey> Programu ya HD FireMonkey).

    Weka sehemu kwenye fomu.

Chagua kipengee kwenye upau wa vidhibiti.

Weka TImage kwenye fomu katika mbuni.

    Unaweza kuona kwamba sehemu haijawekwa katikati ya mtengenezaji wa fomu. Kama inavyoonyeshwa kwenye takwimu, unataka saizi ya eneo la picha iwe kubwa iwezekanavyo. Ili kufanya hivyo, chagua sehemu kwenye fomu ya kubuni, kisha ubadilishe mali Pangilia V AlClient katika Mkaguzi wa Kitu ili ukubwa wa sehemu iwe sawa na ukubwa wa mteja wa eneo la fomu.

    Chagua picha unayotaka kutumia athari. Sehemu huhifadhi picha kwenye mali Bitmap. Chagua mali Bitmap katika mkaguzi wa kitu, na kutumia Hariri... kuchagua picha.

  1. Sasa unaweza kuchagua athari kwa picha. Kutoka kwa palette ya Zana, chagua TRippleEffect.

Sasa RippleEffect inavyoonyeshwa kwenye dirisha Muundo.

Ili kutumia athari, lazima ifafanuliwe kama mtoto wa sehemu nyingine. Kwa kesi hii, Athari ya Ripple1 lazima ifafanuliwe kama mtoto Picha1. Ili kufanya hivyo, buruta Athari ya Ripple1 na kuiweka Picha1 kwenye paneli ya muundo.

  1. Sasa unaweza kuona hilo RippleEffect tayari inafanya kazi kwa Mbuni wa Fomu.

  1. Badilisha mali Mzunguko juu 20 .

Hatua ya 2: Tumia madoido ya uhuishaji kwa RippleEffect.

    Kuonyesha RippleEffect kwenye paneli Muundo.

    Chagua mali Awamu katika Mkaguzi wa Kitu na uendesha amri Unda Uhuishaji Mpya wa Tfloat kutoka kwa menyu ya kushuka.

Hakikisha kwamba Uhuishaji wa Kuelea1 hufafanuliwa kama kipengele cha mtoto Athari ya Ripple1.

    Badilisha sifa Uhuishaji wa Kuelea1 kama ilivyo hapo chini:

Na hatimaye, hebu tuongeze utaratibu wa tukio OnMouseMove Kwa .

Iliyotolewa Septemba mwaka jana, Delphi XE2 ina idadi ya rekodi ya ubunifu.
Muhtasari mfupi wa uwezo wa Delphi XE2 tayari umechapishwa kwenye Habre. Lakini, ni wazi, uvumbuzi wa kushangaza zaidi ni jukwaa la FireMonkey, na hapa ningependa kulipa kipaumbele kidogo.
Nimefanya uteuzi mdogo wa viungo kwa nyenzo ambazo, natumai, zitakusaidia kupata wazo zaidi au kidogo la kutosha la jukwaa hili. Lakini kwanza, kwa wale ambao hawajui, nitakuambia kwa ufupi nini FireMonkey ni.
Embarcadero Technologies inaweka FireMonkey kama jukwaa la kuunda programu tajiri za biashara kwa Windows, Mac na iOS. Aidha, jukwaa hili ni la asili kwa kila OS, i.e. Unapoendesha programu iliyoundwa kwa kutumia FireMonkey, hakuna nyongeza za ziada zinazotumika.
FireMonkey inaunganisha moja kwa moja kwenye maktaba ya picha asili (kutoka kwa mtazamo wa Mfumo wa Uendeshaji) kama vile OpenGL au DirectX. Kwa hivyo, suluhisho bora kutoka kwa mtazamo wa GPU linapendekezwa.
Msingi wa usanifu wa FireMonkey ni maktaba yenye nguvu ya madarasa (ikiwa ni pamoja na vipengele vya kuona).
Jukwaa lengwa linachaguliwa wakati wa mchakato wa ujumuishaji.
Toleo la kwanza la FireMonkey lilisaidia tu Win32, Win64, MacOSX na iOS, lakini Embarcadero inapanga kuihamisha kwenye majukwaa mengine kadhaa katika siku zijazo.

Unapaswa kuzingatia nini?

Ingawa jukwaa la FireMonkey hutoa zana pana za kutengeneza programu za 3D, halifai kuzingatiwa kama injini ya mchezo. FireMonkey imewekwa mahususi kama jukwaa la kukuza programu za biashara.
Bidhaa hiyo kwa sasa iko katika hatua za mwanzo za mageuzi yake. Na vipengele vingi vya FireMonkey vinafanyiwa mabadiliko, ubora na kiasi.

Natumaini viungo vilivyo hapa chini vitakusaidia kuelewa vipengele vikuu vya jukwaa jipya.
Ukurasa rasmi wa bidhaa kwenye wavuti ya Embarcadero (Kirusi)

Miongoni mwa nyenzo za lugha ya Kiingereza ningependa kuangazia mfululizo (Kiingereza)

Nini cha kuona?

Kuhusu toleo la hivi punde la Delphi, kuna nyenzo zaidi za video zinazotolewa kwa uwezo wa bidhaa na jinsi ya kufanya kazi nayo kuliko hapo awali. Wote rasmi, kutoka Embarcadero, na kutoka kwa watengenezaji huru. Kuna video nyingi kuhusu FireMonkey kwenye YouTube, unaweza tu kutumia utafutaji. Miongoni mwa wingi huu wa nyenzo, nitaangazia mfululizo wa video tatu kutoka kwa ukurasa wa kutua wa Marco Cantu - RAD in Action, na hivyo kuupa utafiti wangu vekta ya manufaa.

Katika muktadha wa blogu hii, mradi huu kimsingi unavutia kwa sababu unatekelezwa kwenye FireMonkey na ni onyesho la kushangaza la uwezo wa jukwaa hili. Na wiki iliyopita tu, beta ya umma ya bidhaa ilitolewa. Kwa njia hii, wasomaji wa blogu wanaweza "kuhisi" kitu ngumu kwao wenyewe. FireMonkey maombi.

Maneno machache kuhusu programu. Kwanza kabisa, ni lazima ieleweke kwamba toleo la sasa la Sphere limewekwa tofauti kidogo. Ndio, wakati mwingine hufanyika ...

Mpya SphereLive Huyu si mjumbe mwingine tu. Kwanza kabisa, ni chombo kinachokuwezesha kuandaa kwa ufanisi mchakato wa elimu. Inaruhusu mihadhara ya mbali, mashauriano ya kibinafsi, masomo ya mtu binafsi na shughuli zingine zinazofanana. Wakati huo huo, ina vifaa karibu kila kitu muhimu kwa kazi. Kuanzia na mfumo wa kipekee wa kuhamisha faili na kuishia na mfumo mdogo wa utozaji wenye nguvu zaidi.

Katika hatua hii, bei ya kutumia bidhaa ni nafuu kabisa. Kulingana na idadi ndogo ya wasikilizaji na kiasi kidogo cha rasilimali, bidhaa inaweza kutumika bila malipo.

Kwa kawaida, Sphere hutumia faida yake kuu FireMonkey- jukwaa la msalaba. Programu inapatikana kwa sasa katika matoleo ya Windows na MacOS. Toleo la Android linatarajiwa siku yoyote sasa.

Walakini, kwangu, SphereLive inavutia, kwanza kabisa, kama bidhaa ya ubunifu na seti nzima ya suluhisho asili. Wakati mwingine iko katika kiwango cha "... wow, ulifanyaje hivyo?" Kwa njia, mmoja wa watengenezaji wa Sphere anashiriki kikamilifu katika majadiliano kwenye jukwaa lililowekwa kwa FireMonkey. Hii yenyewe inaweza kuwa sababu ya kupakua programu na kujadili masuala ya kiufundi moja kwa moja na mwandishi. Niamini, kuna kitu cha kuona na cha kujifunza.

TListView ni mojawapo ya vipengele muhimu vya kujenga kiolesura cha programu ya rununu ndani FireMonkey. Kipengele hiki sio rahisi zaidi kutumia; mara nyingi kinahitaji idadi kubwa ya msimbo, lakini humpa msanidi uhuru mkubwa wa kutenda. Bila shaka, katika maombi unaweza pia kutumia TListBox, ambapo kila kitu ni rahisi zaidi. Lakini TListBox inaweza kuwa nzuri kwa kuonyesha idadi fulani ya rekodi, kwa kutoa data kutoka kwa vyanzo vya data, unapaswa kutumia TListView.

Tofauti kuu kati ya TListView na TListBox ni:

  1. Kipengee cha TListBox- kudhibiti, Kipengee cha TListView- Hapana
  2. KATIKA Kipengee cha TListBox unaweza kuongeza vidhibiti vyovyote kwa kutumia Mzazi. KATIKA Kipengee cha TListVIew- Hapana.
  3. Kipengee cha TListVIew huhifadhi data ya kuonyesha tu
  4. Kipengee cha TListVIew hufanya utoaji wa data iliyohifadhiwa yenyewe kupitia mbinu Toa
  5. Kwa sababu ya mchoro halisi wa mwongozo katika TListVIewItem, ongezeko la kasi na matumizi ya kumbukumbu ya chini hupatikana (kuhifadhi data muhimu pekee)
  6. Ili kuunda toleo lako mwenyewe Kipengee cha TListView, unahitaji kuunda darasa lako la kipengee, tekeleza data inayohitajika ndani yake (kwa mfano, wakati) na uunda mhariri wa mahali kwa muda wa kuhariri, uisajili, nk.

Ukweli tu wa kuongezeka kwa utendaji na kupunguza utumiaji wa kumbukumbu ni hoja ya kulazimisha inayopendelea kutumia TListView. Lakini kuna kitu zaidi.

Katika nyingi Android maombi ilibidi niangalie utekelezaji ufuatao wa orodha. Unapobofya kipengee cha orodha (Kipengee, ikiwa unashikamana na istilahi iliyochaguliwa), hatua fulani inafanywa. Kwa kawaida fomu mpya inaitwa kuhariri data. Lakini unapobonyeza na kushikilia (Gonga kwa Muda Mrefu), kitendo tofauti kabisa kinafanywa. Na matukio haya hayaingiliani. Kwa maneno mengine, programu za Android zinaweza kutofautisha wazi kati ya "mfululizo wa muda mrefu" na "kawaida". Zaidi ya hayo, hakuna matukio haya moto wakati wa kusogeza orodha. Mfano mzuri ni orodha ya barua katika Yandex Mail.

Kwanza kabisa, ningependa kuwapongeza wasomaji wote wa blogu kwenye likizo zilizopita na kuwatakia kila la kheri katika mwaka ujao.

Kwa sababu ya hali zilizo wazi, sikufanya ripoti ya jadi ya Mwaka Mpya, wala sikufanya mipango yoyote ya mwaka. Hata hivyo, maisha hayasimami, kazi inaendelea, na matukio fulani yanatokea katika ulimwengu wa Delphi. Ninajitolea kuchapisha uteuzi wa "habari kutoka ulimwengu wa Delphi" ambazo hazijapokelewa wakati wa likizo ya Krismasi katika siku za usoni. Wakati huo huo, nitakuambia kuhusu kifaa kipya ambacho nilinunua.

Unaweza kupata sifa kwenye tovuti rasmi. Na hisia subjective ni ya kupendeza sana. Ikumbukwe ni ukweli kwamba kifaa kimejaa programu ya umiliki kutoka kwa mtengenezaji. Na wauzaji pia walipokea seti ya kuvutia ya programu kama zawadi. Simu mahiri inafanya kazi haraka sana na inahalalisha gharama yake (karibu $200). Kwa njia, nilinunua simu yangu ya awali GSmart 1362 kwa pesa sawa miaka 2 iliyopita. Lakini, kama unavyodhania, shauku kuu kwangu ilikuwa jinsi wangefanya kazi FireMonkey maombi.

Kabla ya kuendelea na hadithi kuhusu kipima muda, vipande viwili vya habari.

Kwanza, sasisho la kwanza la XE7 lilitolewa. Kwa jadi, inapatikana kwa watumiaji waliojiandikisha. Unaweza kupata orodha ya mende fasta. Nilitaka kuona jinsi programu inavyofanya kazi katika mazingira yaliyosasishwa. Kwa kweli, hakuna masahihisho yalipaswa kufanywa, ingawa bado kulikuwa na nafasi ya majaribio.

Habari ya pili. Ofa maalum za Embarcadero zimeongezwa hadi mwisho wa mwaka:

Kweli, sasa moja kwa moja kwenye mada ya chapisho. Kimsingi, kilichobaki kwetu ni kujaribu kuzindua programu iliyoundwa tayari ya Android. Ili kufanya hivyo, tunatumia kile nilichoandika katika machapisho yaliyopita. Yaani mpya. Nilitatua programu hii Nexus 7, ipasavyo aliongeza uwakilishi wa Android 7″ Kompyuta Kibao. Ubunifu ulipaswa kurekebishwa kidogo tu.

Pengine watu wavivu tu hawakuandika timer yao wenyewe. Na katika muktadha wa kusaidia maendeleo kwa majukwaa ya rununu, kazi ya kuandika kipima saa huko Delphi kwa ujumla inaweza kuchukuliwa kuwa kazi ya ibada. Kwa hivyo nilifikiria, kwa nini isiwe kama mfano wa maendeleo FireMonkey Programu haiwezi kuchanganua kipima muda. Kwa Android, bila shaka. Kwa kweli, hii itakuwa maoni yangu haswa juu ya kazi hiyo, ambayo, ingawa sio ngumu sana, bado ina nuances yake mwenyewe. Labda una maoni au maoni yoyote, itakuwa nzuri kuyajadili kwenye maoni. Kwa vyovyote mimi si mtaalam katika uga wa kuandika programu za simu, kwa hivyo maoni yoyote ambayo unaweza kuwa nayo yatakuwa ya thamani kwangu.

Tutakuwa tukitengeneza kipima muda, katika uelewa wa Kiingereza wa neno hili. Hiyo ni, skrini itaonyesha piga na vifungo vinne - "Anza", "Sitisha", "Acha" na "Ghairi". Kuhesabu itakuwa katika mwelekeo wa mbele (yaani, wakati utaongezeka). Chaguo ambalo wakati umewekwa na kuhesabu ni katika istilahi ya Kiingereza inaitwa Stop Watch, labda nitajaribu kutekeleza baadaye. Programu tutakayofanyia kazi iko karibu zaidi katika utendaji na saa ya kuzima.

Delphi XE7 inaturuhusu kurahisisha kwa kiasi kikubwa mchakato wa maendeleo, kwa sababu ya ukweli kwamba sasa tunaweza kuunda na kurekebisha programu halisi ya Win32, na kisha tu kuongeza uwasilishaji wa fomu kwa vifaa muhimu vya rununu na, kwa marekebisho kidogo, pata simu ya rununu inayofanya kazi. maombi. Inaonekana nzuri sana kuwa kweli? Labda. Lakini nataka kujaribu kauli hii kwa kutekeleza kazi hiyo.

Kadiri ninavyoulizwa wenzangu mara kwa mara katika mazungumzo ya faragha ikiwa inawezekana kutengeneza programu za rununu ndani FireMonkey au ni mfano badala ya suluhisho la uzalishaji?

Nadhani, sasa ninaweza kuhakikisha hata wakosoaji wa nje na nje.

Rafiki yangu wa karibu na mfanyakazi mwenzangu Tagir Yumaguzin aliniambia kuhusu mradi alioshiriki muda mrefu uliopita. Sasa, wakati mradi huu uko katika hali ya kabla ya kutolewa, tuliamua kuwa maelezo haya yatapendeza kwa jumuiya ya Delphi. Kwa asili, huu ni mradi mkubwa sana unaotekelezwa katika FM. Tunazungumza juu ya mradi wa Sphere Live. Nakala ndogo inayohusu mradi huo ilichapishwa hivi majuzi katika Habrahabr.ru Alexey Glyzin, mkuu wa idara ya maendeleo alikubali kueleza zaidi kuhusu mradi huo kwa kuzingatia hadhira ya blogu yangu.

A.B.- Alexey, kwa ujumla, mradi wako ni nini?

A.G.: - Wazo halijaonekana mara moja na papo hapo. Kabla ya mradi wa 'Sphere' timu yetu ilikuwa ikifanya kazi kwenye mradi ambapo teknolojia za sauti/video za mtiririko zilitekelezwa. Baadaye tuliunda programu yetu ambayo iliweza kuwasilisha mitiririko ya media titika kwa idadi isiyo na kikomo ya watumiaji ikijumuisha maoni. Lakini tulihitaji kujumuisha kipengele cha bili.
Ombi lilipaswa kuzingatia mahitaji kadhaa. Kwanza, shirika lililorahisishwa zaidi la mikutano au uwasilishaji kwa washiriki ambao hatuwezi kutabiri. Pili, muhimu zaidi, ni kuwapa wateja wetu fursa ya kupata mapato na maombi yetu na kupunguza ugumu wa mfumo, kiasi cha vyombo vinavyohitajika kutumia kufikia lengo. Urahisi wa kuandaa kozi, webinar au mashauriano tu.

Ujumbe mdogo kwa kumbukumbu inayohusu FireDAC katika toleo la sasa Delphi XE6. Lakini kwanza, maneno machache kuhusu wapi kutafuta majibu ya maswali kuhusu FireMonkey. Watumiaji wanaozungumza Kirusi wako katika nafasi ya upendeleo hapa.

Wakati nikijiandaa kwa hafla ya Kharkov kama sehemu ya Ziara ya Dunia ya RAD Studio XE5, nilikumbana na shida ndogo katika kufanya kazi na SQLite kwa kutumia FireDAC. Ikiwa hifadhidata iliyojazwa katika programu ya Windows itahamishwa pamoja na programu kwa Android, mistari ya Cyrillic katika hifadhidata haisomeki tena (alama za swali zinaonyeshwa badala ya herufi). Walakini, ikiwa utajaza hifadhidata moja kwa moja kwenye kifaa cha rununu, herufi za Kirusi zinasomwa kwa usahihi kabisa. Data kutoka kwa hifadhidata iliyojazwa katika programu ya wahusika wengine, au ndani Delphi programu zinazotumia vipengele vingine vya ufikiaji wa data pia zilionyeshwa kawaida. Mkutano huo haukuweza kupata suluhu, na ilinibidi kumnukuu mtaalamu wa soka wa Ukrainia: "Tutaelewa!"

Tofauti na ile ya mwisho, niliweza kukabiliana na tatizo lililoelezwa. Kwa chaguo-msingi wakati wa kuunganisha kwa SQLite V FireDAC Umbizo la mfuatano wa ANSI hutumiwa.

Ikiwa utalazimisha Unicode kusanikishwa, basi kila kitu kitafanya kazi kama inavyopaswa. Lakini pia kuna wakati usio na furaha. Kwa kubadilisha muundo wa kamba, itabidi uunda upya orodha ya sehemu katika seti zote za data, na pia kuunganisha vipengele vinavyohusika na kuonyesha na kuingiza data. Kwa hiyo, ni bora kutunza encoding mara moja.

Katika sehemu zilizopita za mfululizo huu mdogo, tulishughulikia kuunda hifadhidata, muundo wake na kuunganisha nayo kutoka Delphi. Katika sehemu hii, ninapendekeza kuelewa maonyesho ya data kutoka kwa meza, kuanzia na kesi rahisi zaidi.

Kihariri rahisi cha data ya jedwali, kawaida ni sehemu ya programu ngumu. Kawaida mimi hutumia fomu tofauti kuhariri meza. Wacha tuanze na orodha ya mboga. Kwanza kabisa, tunahitaji kuunda DataSet ili kufikia data ya meza. Kwa upande wetu, inawezekana kabisa kutumia sehemu TADTable. Wacha tuiweke kwenye DataModule na tueleze thamani ya mali Uhusiano. Katika mhariri wa mali JedwaliJina orodha ya meza itaonekana ambayo tunachagua meza Bidhaa. Ikiwa ulifanya kila kitu kwa usahihi, unaweza kugawa mali Inayotumika thamani Kweli. Ni bora kubadili jina mara moja sehemu (kwa mfano, ADTProduct). Baada ya hayo, mimi hutengeneza seti ya sehemu za DataSet. Piga mhariri wa shamba (bonyeza mara mbili kwenye sehemu) na uchague Ongeza Sehemu Zote kutoka kwa menyu ya muktadha.

Kwa wale ambao hawajui, nitaelezea kiini cha operesheni hii. Hapa tunaunda seti iliyofafanuliwa awali ya sehemu za DataSet. Ikiwa hatufanyi hili kwa mikono katika hali ya kubuni, basi, kwa kanuni, hakuna kitu kibaya kitatokea. Katika RunTime seti hii itaundwa kiotomatiki. Lakini bado ninapendelea kuunda kwa mikono. Kuna sababu kadhaa za hii. Kwanza, ni rahisi zaidi kudhibiti seti ya sehemu, kwa sababu tunaweza kuunda nyuga za ziada (zilizohesabiwa au za kuangaliaUp) wenyewe katika hali ya muundo. Tunaweza pia kubadilisha sifa za shamba zenyewe. Na kwa kuongeza, tunapata fursa ya kufikia mashamba katika kanuni kwa jina la sehemu ya TField, ambayo, kwa maoni yangu, hurahisisha sana msimbo wa kuandika.

Kama ilivyo kwa programu ya VCL, tutaunganisha kijenzi kwenye seti ya data Chanzo cha TData. Sehemu hii itatoa muunganisho kati ya seti ya data na vidhibiti vya kuona. Sifa ya DataSet ya kijenzi lazima irejelee seti yetu ya data (ADTProduct). Hapa chini ninatoa kipande cha faili ya DFM

kitu ADTProduct: TADTable IndexFieldNames = "ID" Connection = ADConnection UpdateOptions. UpdateTableName = "Bidhaa" TableName = "Bidhaa" Left = 64 Juu = 192 kitu ADTProductID: TADAutoIncField FieldName = "ID" Origin = "ID" ProviderFlags = [ pfInWhere, pfInKey] ReadOnly = True end object ADTProductTitle: TStringField Title: TStringField Asili = "Kichwa" Ukubwa = Kitu cha mwisho 50 dsProduct: TDataSource DataSet = ADTProduct Kushoto = 120 Juu = 192 mwisho

Tafadhali kumbuka kipengele kimoja cha kuvutia: faili ya fomu ya DataModule haihifadhiwa katika umbizo la FMX, kama fomu ya kawaida ya FireMonkey, lakini katika umbizo la DFM, kama vile VCL.

Hatua inayofuata ni kuunda utaratibu wa kufungua seti ya data, ambayo tutahitaji kupiga simu katika RunTime wakati programu inapoanza. Wacha tuiunda katika DataModule sawa. Nambari ya utaratibu ni rahisi sana:

Utaratibu wa TDM. ConnectToDB ; anzaADConnection. Fungua (); ADTBidhaa. Fungua (); mwisho;

Tutapiga simu ya utaratibu katika kidhibiti tukio cha OnCreate kwa DataModule.

Zaidi ya miaka mitatu imepita tangu kitengo cha CodeGear, kinachohusika na uundaji wa zana maarufu duniani kama vile Delphi, C++ Builder na JBuilder, pamoja na mfumo wa usimamizi wa hifadhidata wa Interbase, kuwa sehemu ya Embarcadero Technologies, inayojulikana kwa zana zake. kwa muundo wa hifadhidata na utawala , na miaka miwili tangu tulipojadili kwenye kurasa za gazeti letu nini cha kutarajia katika maendeleo ya zana ambazo zinajulikana sana kati ya watengenezaji wa Kirusi. Tulimwomba David Intersimone, makamu wa rais wa mahusiano ya wasanidi programu na mwinjilisti mkuu katika Embarcadero Technologies, na Kirill Rannev, mkuu wa ofisi ya mwakilishi wa Embarcadero Technologies, kuzungumza juu ya kile kipya kimefanywa katika eneo hili kwa miaka miwili iliyopita na nini cha kutarajia siku za usoni. Urusi. Kwa wasomaji wetu wachanga zaidi, tutawajulisha kwamba haya si mahojiano ya kwanza ambayo David na Kirill wanatoa kwa ComputerPress - ushirikiano wetu umekuwa ukiendelea kwa muongo wa pili. Na kwa takriban idadi sawa ya miaka, tumechapisha mara kwa mara hakiki za zana za usimamizi wa hifadhidata, ambapo umakini mkubwa hulipwa kwa bidhaa za Embarcadero.

KompyutaPress: David, kitengo chako kimekuwa sehemu ya Embarcadero kwa miaka mitatu. Miaka miwili iliyopita, ulikuwa na shauku kuhusu kuwa sehemu ya kampuni karibu na malengo na roho yako. Je, kuna chochote kilichobadilika wakati huu? Je, wewe na wenzako bado mna shauku sawa?

Ndiyo, bado nina shauku sana. Mabadiliko makuu ambayo yametokea tangu tuwe sehemu ya kampuni ya Embarcadero ni kwamba uwekezaji mwingi umefanywa katika maendeleo ya Delphi. Idadi ya watu wanaofanya kazi kwenye zana za maendeleo imeongezeka, na idadi ya teknolojia ambazo tunaweza kuendeleza au, ikiwa ni lazima, kupata, imeongezeka.

Kutolewa kwa RAD Studio XE 2, ambayo tunapanga kuonyesha huko Moscow, ni toleo kubwa zaidi la bidhaa hii yenye uwezo mkubwa na idadi kubwa ya majukwaa yaliyoungwa mkono tangu toleo la kwanza la Delphi, iliyoundwa kwa toleo la 16-bit la Windows na. ambayo ilikuwa bidhaa bunifu iliyochanganya mbinu ya kijenzi na mkusanyo kuwa msimbo wa mashine. Sasa tunaunga mkono maendeleo sio tu kwa Windows, lakini pia kwa Macintosh, bila kutaja maendeleo ya wavuti na uundaji wa programu za vifaa vya rununu, na programu hizi za majukwaa tofauti zinaweza kuwa na nambari moja.

Jukwaa jipya la maendeleo, FireMonkey, ni ushirikiano kati ya Embarcadero na kampuni ya Kirusi ya UlanUde iliyopatikana hivi majuzi ya KSDev, mtengenezaji wa vipengee vya michoro ya vekta, DirectX na OpenGL, teknolojia za athari za michoro, na vijenzi vya Delphi vinavyotumia GPU yenye PixelShader 2.0. Tulipata kampuni ya KSDev (tazama ksdev.ru) mwaka mmoja uliopita na tukaanza kufanya kazi pamoja ili kuunda zana ya ukuzaji wa majukwaa mengi, ikijumuisha jukwaa la kutengeneza programu za FireMonkey zenye vijenzi vya Delphi na C++ Buider kwa ajili ya kuunda miingiliano ya mtumiaji, hifadhidata. ujumuishaji , usindikaji wa michoro kwa kutumia GPU na ujumuishaji na mfumo wa uendeshaji.

Kwa kutumia FireMonkey, unaweza kuunda programu inayotumika kwenye CPU na GPU pamoja, na kisha utumie vikusanyaji tofauti na Maktaba za Wakati Unaotekelezwa (RTL) ili kuikusanya kwa ajili ya Windows, Mac OS au iOS. Badala ya kujifunza kupanga kwa kutumia maktaba tofauti za michoro, kujifunza API za majukwaa tofauti na mifumo tofauti ya kuratibu na uwezo tofauti, watengenezaji wanaotumia Delphi na C++ Builder wanaweza kutumia mbinu sawa ya sehemu, fomu za uhariri wa kuibua na kuunganisha kwenye hifadhidata kwa kusonga. sehemu na panya. Hii ni njia mpya kimsingi ya kuunda programu zinazoendeshwa kwenye mifumo tofauti, na ni siku zijazo. Ikiwa ungependa kuongeza usaidizi wa mifumo mingine ya uendeshaji na majukwaa kwenye programu yako, huhitaji kuisanifu na kuikuza tena - unahitaji tu kuikusanya tena.

Tunaunda wakusanyaji wapya ambao hutoa msimbo asilia. Leo kuna wakusanyaji wa Delphi wa matoleo ya 32- na 64-bit ya Windows, matoleo ya 32-bit ya Mac OS 10. Na tunafanyia kazi wasanifu wa kizazi kijacho wa Delphi na C++ Builder, ambayo itaturuhusu kuunda utendaji wa juu. msimbo wa mashine kwa majukwaa haya na mengine kama vile Android au Linux, na kudumisha muundo sawa, vipengele sawa, msimbo sawa kwa kutumia vikusanyaji tofauti na maktaba zinazotumika.

Kama unavyoona, nina sababu za kutosha za shauku. Na wasanidi programu ninaokutana nao ulimwenguni kote wanajua kwamba Embarcadero inawekeza sana katika Delphi na C++ Builder, pamoja na zana za ukuzaji PHP.

KP: Je, umepata mafanikio gani katika kuunganisha zana za makampuni haya mawili katika kipindi cha miaka miwili iliyopita? Je, ni mipango gani ya Embarcadero kwa siku zijazo katika eneo hili?

DI.: Wakati CodeGear ikawa sehemu ya Embarcadero, kampuni hiyo ilikuwa na timu za maendeleo huko Toronto, Monterrey na Romania, tulikuwa na bado tuko katika Bonde la Scotts na nchini Urusi, huko St. Embarcadero ilikuwa na zana za watengenezaji na wasimamizi wa hifadhidata, CodeGear ilikuwa na zana za ukuzaji wa programu, lakini za mwisho pia hutumia hifadhidata. Kuunganishwa kwa makampuni ni mchanganyiko wa ujuzi, ujuzi katika uwanja wa hifadhidata, uboreshaji wa kanuni, ikiwa ni pamoja na msimbo wa seva. Mchanganyiko wa makampuni pia ulisababisha kuundwa kwa bidhaa mpya, AppWave, teknolojia maalum ya kugeuza programu ya Windows ya kawaida kuwa kitu rahisi sana kutumia (kama vile programu za iPhone au vifaa vingine). AppWave hukuruhusu usisakinishe programu, lakini uchague tu na kuizindua kutoka kwa seva ya uhifadhi wa programu iliyoandaliwa (programu), na itatekelezwa kwenye kompyuta ya mtumiaji bila kufanya mabadiliko kwenye Usajili wake na eneo la mfumo wa faili. Kwa njia, kivinjari cha programu ya AppWave kimeandikwa huko Delphi. Embarcadero hutumia Dephi kwa maendeleo yake yenyewe na utaalam wetu wa ukuzaji wa programu.

Programu ya iPhone (iOS) iliyoundwa na
kwa kutumia jukwaa la FireMonkey

Unaweza pia kutumia ujumuishaji wa zana zetu za ukuzaji na Kiboreshaji cha DB ili kuboresha hoja za SQL unapounda programu. Kwa kupitisha msimbo wa SQL moja kwa moja kwenye DB Optimizer, unaweza kuuweka wasifu, kuujaribu, na kurudisha toleo lililoboreshwa kwenye mazingira yako ya usanidi. Utaalamu wa hifadhidata wa Embarcadero pia umeboresha teknolojia ya DataSnap. Shukrani kwa wasanidi programu kutoka Toronto, tulipata ujuzi mwingi kuhusu usanifu wa mifumo na hifadhidata za viwango vingi. Sasa tuna utaalamu wa pamoja katika kuunda msimbo wa seva na taratibu zilizohifadhiwa katika makampuni yote mawili. Tuna zana kama vile RapidSQL na Kidhibiti cha Mabadiliko cha DB, pamoja na mazingira ya usanidi ambayo hurahisisha uundaji wa msimbo wa seva - kwa mfano, teknolojia ya Maarifa ya Kanuni na Ukamilishaji wa Kanuni ziliwezesha uundaji wa maarifa ya SQL na teknolojia za Kukamilisha SQL. Mbinu zetu za kawaida za kuunda msimbo wa mteja na seva, falsafa yetu ya kawaida, huturuhusu kutoa vipengele vya kawaida kwa zana za usimamizi wa hifadhidata na zana za ukuzaji wa programu.

Kirill Rannev: Ninataka kuongeza kitu muhimu. Kwa mtazamo wa kibiashara, jinsi tunavyowasilisha zana zetu ni muhimu sana. Kwa mfano, toleo jipya la RAD Studio XE 2 Ultimate linajumuisha zana kamili ya DB Power Studio. Hii ni seti yenye nguvu sana ya zana, ikijumuisha mazingira ya ukuzaji wa hoja ya RapidSQL, zana ya usimamizi ya mabadiliko ya Kidhibiti cha Mabadiliko ya DB, na zana ya uboreshaji ya hoja ya DB Optimizer, inayokuruhusu kutekeleza sehemu muhimu ya mchakato wa ukuzaji na usambazaji kwa kudhibiti mabadiliko mfano wa data, hifadhidata, msimbo, na kadhalika. Hii ni mchanganyiko mzuri sana na sahihi wa teknolojia.

DI.: Lakini ikihitajika, wasanidi wanaweza kutumia Ubadilishaji kwa matoleo ya msimbo wa chanzo na Kidhibiti cha Mabadiliko ya DB kwa matoleo ya metadata. Unaweza kutumia uwekaji wasifu wa msimbo na Kiboreshaji cha DB ili kuboresha msimbo wa seva, RapidSQL kuunda na kutatua msimbo wa seva, na mazingira yetu ya usanidi ili kuunda na kutatua programu. Mchanganyiko huu wa teknolojia katika Toleo la Mwisho la RAD Studio XE huonyesha uwiano kati ya hifadhidata na miundo ya ukuzaji wa programu. Watengenezaji wengi wanaounda programu za biashara na Delphi na C++ Builder hufanya kazi na hifadhidata na wanahitaji zana hizi, na RAD Studio XE Ultimate Edition ni mchanganyiko mzuri kwa wasanidi kama hao.

KP: Mtumiaji wa kisasa sio tena mtumiaji wa jukwaa la Windows peke yake. Tunatumia vifaa vya rununu, iPhone, iPad, vifaa kulingana na mfumo wa Android. Hii ina maana kwamba wasanidi lazima waanze kulenga majukwaa tofauti bila kuongeza uwekezaji mkubwa katika mafunzo - yaani, zana za ulimwengu wote zinahitajika. Kwa wazi, sio kweli kutarajia kuibuka kwa zana za ulimwengu wote kutoka kwa watengenezaji wa jukwaa, na katika suala hili tunaweza kutegemea tu watengenezaji wa zana huru. Tunawezaje kutegemea Embarcadero?

DI.: Bado tuna mengi ya kufanya katika suala la usaidizi wa jukwaa. Leo tunatanguliza usaidizi wa jukwaa la iOS kwa iPhone na iPad, kisha simu mahiri kulingana na mfumo wa Android, Windows 7 na Blackberry zitapokea usaidizi wetu. Katika RAD Studio XE 2, tulianza kwa kujenga jukwaa la FireMonkey la iOS na kisha tutaleta FireMonkey kwenye majukwaa mengine.

Wakati huo huo, kuna idadi kubwa ya mifumo ya uendeshaji iliyowezeshwa na skrini ya kugusa kwa simu, kompyuta za mkononi na vifaa vya kompyuta, na tutaendelea kuongeza usaidizi kwao. Pia kuna sauti, mwendo, bayometriki, vipima kasi, kwa hivyo ni lazima tuendelee kupanua FireMonkey ili wasanidi programu wote waweze kunufaika na mifumo mipya. Kwa mfano, kifaa cha Microsoft Kinect kiliundwa kwa ajili ya Xbox 360, na sasa kuna SDK inayolingana (Kifaa cha Kuendeleza Programu) kwa Windows. Na tayari tunayo mifano ambapo tunatumia mwendo kudhibiti programu kwa njia sawa na jinsi kipanya au kibodi kingetumika kawaida.

Unapounda programu na michoro nyingi changamano, unazalisha ulimwengu mzima wa violesura vipya vya watumiaji. Ikiwa tunashughulika na mfumo wa uendeshaji wa Windows, tunajumuisha API yake ya Windows katika maktaba ya VCL (Maktaba ya Visual Component - maktaba ya vipengee vya kuona ambavyo ni sehemu ya zana za ukuzaji za Delphi na C++Builder. - Kumbuka mh.), ambayo, kwa njia, inaweza kutumika zaidi. Na katika FireMonkey tunajumuisha API ya mfumo wa uendeshaji. Lakini leo tunabadilisha maumbo na michoro kwa upana zaidi. Unaweza pia kuongeza sifa za kimwili kwenye nafasi kwa uhuishaji na athari maalum. Kwa kuongezea, kuna idadi kubwa ya uwezo mwingine wa ziada wa kuunda violesura vya watumiaji ambavyo tutatekeleza katika miaka michache ijayo kwa majukwaa tofauti, vifaa vya rununu na kompyuta kibao.

Microsoft hivi majuzi ilitoa maelezo kuhusu Windows 8, ambayo itatoka kwa mwaka mmoja. Tutaunga mkono ubunifu huu katika maktaba ya VCL na jukwaa la FireMonkey. Lakini Delphi ni zana ya maendeleo iliyoundwa sio tu kwa Windows, bali pia kwa Macintosh, iPhone na iPad. Pia tunatengeneza bidhaa zetu za PHP, kutumia jQuery Mobile, kutumia API ya iOS kutengeneza programu za mteja wa simu, na kuunda programu za PHP za upande wa seva kwa kutumia wachawi na zana ili kutengeneza JavaScript, HTML na laha za mtindo wa kuachia mteja. Tunaweza kuunda vifurushi kutoka kwa programu za PHP na programu za mteja kwa msimbo asili wa iPhone iOS, na mteja kama huyo atawasiliana na seva ya PHP. Na yeye, kwa upande wake, atawasiliana na seva ya hifadhidata na huduma za wavuti - na kila kitu kinachohitajika kwa biashara.

Mazingira ya maendeleo ya RadPHP XE2. Kuunda programu ya wavuti ya rununu
kutumia vipengele vya jQuery Mobile kwa iPhone 3G

Kwa maneno mengine, tunapanga kupanua uwezo wa FireMonkey na VCL, ikijumuisha usaidizi wa mifumo ya rununu.

KP: Je, unaweza kutuambia zaidi kuhusu jukwaa la FireMonkey?

DI.: Kama nilivyoona tayari, maktaba ya VCL iliyoundwa kwa ajili ya Windows itaendelea kukuza na kuboresha. Lakini leo, ikiwa unataka maendeleo halisi ya maombi ya biashara, unapaswa kuwaunda kwa majukwaa tofauti. Hivi ndivyo jukwaa la FireMonkey limeundwa kwa ajili yake. Inasaidia uundaji wa miingiliano ya watumiaji wa azimio la juu, picha za 3D za utendaji wa juu, viwango vya juu vya sura na, muhimu zaidi, hutumia kichakataji cha picha kwa hili.

Unaweza kutumia uwezo huo wakati wa kuunda maombi ya kisayansi, uhandisi na biashara. Programu kama hizo zinaweza kuunganishwa kwenye hifadhidata kwa kutumia teknolojia ya dbExpress, zikiendelea kutumia vipengee visivyoonekana vinavyojulikana na wasanidi programu, kama vile ClientDataSet au DataSource, kutumia teknolojia ya DataSnap, kuunganisha kwenye hifadhidata yoyote, seva za SOAP na REST. Unaweza kuunda udhibiti wa kuvutia, vifungo na masanduku, meza zisizo za kawaida na vipengele vingine vya interface, katika vipimo viwili na vitatu. Unaweza kupakia muundo wa 3D uliokamilika kwenye programu na uunganishe kwa umbo la 2D ambalo unaweza kuzungusha na kuiona kutoka pembe tofauti. Unaweza kuunda mchemraba wa data au chati ya biashara ya 3D na kuzungusha kwa kutumia kipanya chako, kibodi, au hata kifaa cha Kinect, au unaweza kuingia ndani ya mchemraba huo na kutazama nyuso zake tofauti kutoka ndani. Na haya yote yanaweza kufanywa kwa kutumia GPU ya kasi ya juu. Utumizi sawa unaweza kisha kukusanywa kwa jukwaa lingine, kama vile Mac OS.

Programu iliyo na mchemraba wa data unaozunguka,
kuwekwa kwenye kingo zake

Au unaweza kuunda umbo la 3D kutoka mwanzo na kutumia kamera na taa kuwasha na kuzungusha sehemu za kiolesura cha mtumiaji. Mbuni wa fomu tayari ana mazingira yaliyojengewa ndani ili kusaidia kiolesura cha 3D wakati wa kubuni.

Kwenye Windows, unaweza kutumia maktaba za Direct2D kufanya kazi na michoro ya 2D ya ubora wa juu, na Direct3D kwa michoro ya 3D. Kwenye Mac OS, maktaba za Quartz na OpenGL hutumiwa kwa madhumuni sawa. Kwa iOS, maktaba za Quartz na OpenGL ES hutumiwa. Lakini yote haya yamefichwa kutoka kwa msanidi programu - anatumia jukwaa la FireMonkey, mfumo wake wa kuratibu na interface ya programu ya programu, bila kufikiri juu ya maktaba haya, na anaweza kukusanya maombi sawa kwa majukwaa tofauti.

Wacha tukumbuke VCL ni nini. VCL ni mpangilio wa sehemu karibu na API ya Windows. Tunashughulika na rasilimali, menyu, visanduku vya mazungumzo, rangi, mitindo, ujumbe wa Windows. Kwa kuwa kifunga majukwaa mengi, tofauti na VCL, FireMonkey huhifadhi matukio sawa na miundo ya vipengele, huku kuruhusu kufikiria kuhusu matukio (kwa mfano, OnClick, OnHasFocus, onMouseDown, na onKeyDown matukio), lakini hushughulikia matukio ya Macintosh au iPhone.

Jukwaa la FireMonkey pia linakuja na mfumo kamili wa uhuishaji wa vipengele vya kiolesura cha mtumiaji. Kwa hakika si mfumo mpana wa uhuishaji wa mtindo wa Pixar, lakini huruhusu athari kama vile uhuishaji wa bitmap, uangaziaji wa kipengele cha UI, na michoro ya vekta. Zaidi ya athari 50 za kuona zinapatikana kwa msanidi programu: blur, kugeuza picha kuwa nyeusi na nyeupe, kufuta, mabadiliko, kutafakari, kuunda vivuli - aina zote za athari zinazopatikana katika wasindikaji wa kisasa wa graphics, ambao sasa hupatikana karibu na kompyuta yoyote. Programu iliyoundwa kwa kutumia mfumo wa FireMonkey hutuma amri kwa GPU, ambayo hufanya kazi zote za kuonyesha michoro na kuunda kiolesura cha mtumiaji. Katika kesi hii, processor ya kati ni bure kwa mahesabu na wito kwa mfumo wa uendeshaji. Msanidi programu anaweza tu kuweka vipengele kwa usahihi.

Jambo la msingi zaidi kuhusu jukwaa la FireMonkey ni jinsi linavyounda kiolesura cha mtumiaji. Kuna njia za kuweka picha mbaya zaidi kwenye vipengee vya kiolesura kama vile menyu, vitufe, na pau za kusogeza. Katika FireMonkey, tunatumia michoro ya vekta inayoendeshwa na GPU kwa madhumuni haya. Kutoka kwa mtazamo wa programu, haya bado ni udhibiti sawa, lakini kazi yote ya kuwaonyesha inafanywa na processor ya graphics. Tunaweza kutumia mitindo kwenye vidhibiti, kufanya programu ionekane kama programu ya Mac OS au Windows, kuunda mtindo wetu wenyewe, kutumia mitindo yetu wenyewe kwa vipengee vya kiolesura (kwa mfano, tengeneza kitufe cha mstatili au pande zote kwa kubadilisha mtindo wake katika kihariri cha fomu. ) - kwa hili Kuna mhariri wa mtindo katika mazingira ya maendeleo. Unaweza kuunda mtindo wako mwenyewe, au unaweza kubadilisha mtindo wa programu iliyomalizika tayari.

Jukwaa la FireMonkey - Vyombo vya Maendeleo
na majukwaa yanayoungwa mkono

Ikiwa unakumbuka, maktaba ya VCL ilikuwa na idadi ndogo ya vidhibiti - vyombo (yaani, kukuruhusu kuweka vipengele vingine ndani yao), na katika FireMonkey kila udhibiti ni chombo. Hii ina maana kwamba kila udhibiti unaweza kuwa na udhibiti mwingine wowote. Kwa mfano, vipengee vya orodha kunjuzi vinaweza kuwa na picha, vitufe, sehemu za kuhariri na vidhibiti vingine. Unaweza pia kuweka vipengele katika tabaka.

Mfumo wa utoaji wa FireMonkey ni rahisi kunyumbulika kabisa - unaweza kutumia maktaba za Direct2D, Direct3D na OpenGL, kutuma amri kwa GPU. Ili kufikia kitu kama hicho katika VCL, ilibidi utengeneze bafa tofauti ya nje ya skrini, uunda picha ndani yake kwa kupiga kazi zinazofaa za maktaba ya graphics, na kisha uionyeshe kwenye fomu.

Mifano ya athari za picha zinazotumika na FireMonkey

Ikiwa huna GPU, bado unaweza kutumia maumbo ya 2D au 3D na utumie vidhibiti vya FireMonkey. Katika hali hii, mfumo wa FireMonkey utatumia maktaba za GDI+ au maktaba zingine zinazofanana na kufanya madoido sawa na uhuishaji au upotoshaji wa vitu vya 3D.

Kipengele kingine cha FireMonkey ni mfumo mpya wa kuunganisha vipengele vya interface na data, wazi na rahisi. Kuna aina mbili za vipengele vya kiolesura katika VCL: inayofungamana na data na isiyofungamana na data (kwa mfano, TDBEdit na TEdit). Katika FireMonkey, kila udhibiti unaweza kuhusishwa na data ya aina yoyote. Hii inaweza kuwa usemi rahisi, sehemu kutoka kwa seti ya data, data kutoka kwa vitu vilivyoundwa na msanidi programu, au matokeo ya simu za mbinu.

Kwa kuongeza, wakati wa kuunda programu, unaweza kupakia mfano wa 3D tayari ndani yake na kuitumia - uwezo huo mara nyingi unahitajika katika maombi ya biashara na uhandisi. Tuna mteja ambaye huunda programu kwa ajili ya vifaa. Walikuwa na mfumo wa habari uliojengwa kwa kutumia Delphi, na ndani yake programu ambayo ilichora mpango na kuonyesha habari kutoka kwa vyanzo vya data. Hivi majuzi walifanya kitu cha kufurahisha - walichora ghala la 3D la kiotomatiki katika AutoCAD, na maombi yao hukuruhusu kuona jinsi forklift ya kiotomatiki inavyozunguka ghala na kuweka bidhaa kwenye rafu. Na huweka data kutoka kwa vyanzo kwenye picha inayolingana.

Mifano ya kubadilisha mitindo ya maombi

KP: Je, ni aina gani za miundo ya 3D zinazotumika kwa sasa?

DI.: Katika toleo hili tunaauni miundo ya upakiaji kutoka AutoCAD, Collada (zana ya uundaji wa 3D ya chanzo huria. - Kumbuka hariri.), Maya, umbizo la OBJ ambalo linaungwa mkono na wachuuzi wengi wa michoro ya 3D.

KP: Je, ni miundo gani mingine unapanga kuongeza?

DI.: Tunapanga kuongeza 3DS (3D Studio MAX), SVG (kawaida muundo huu hutumiwa kwa graphics za vector 2D, lakini wakati mwingine kwa 3D), Google SketchUp. Labda tutaunga mkono miundo mingine.

KP: Je, kutumia miundo ya 3D katika programu zilizojengwa kwa FireMonkey kunahitaji leseni ya zana inayofaa ya uundaji wa 3D?

DI.: Hapana, haihitaji. Tunachofanya ni kusoma faili ya mfano. Tunaleta modeli, lakini sio kuisafirisha (ingawa, bila shaka, unaweza kuandika programu ambayo huhifadhi kielelezo katika umbizo lako mwenyewe). Hatujifanyi kuwa watengenezaji wa zana za uundaji wa 3D - kwa hili unaweza kutumia AutoCAD, 3D Studio Max, Maya au zana yoyote ya uundaji wa 3D, na kuagiza miundo iliyoundwa kwenye programu zetu.

KP: Je, programu zimeundwa kwa kutumia FireMonkey kwenye majukwaa ya kisasa ya maunzi?

DI.: Uzalishaji ni wa juu kabisa. Kwa mfano, kutoa umbo la 3D na duara tatu na taa tatu kwenye MacBook Pro kunaweza kutolewa kwa fremu 100 kwa sekunde. Au inaweza kufikia 600 - inategemea ni nini hasa tunafanya. Tena, yote inategemea nguvu ya GPU.

KP: Je, hii ina maana kwamba unaweza kuunda michezo ya kisasa kwa kutumia FireMonkey?

DI.: Hatuweki zana zetu za ukuzaji kama zana za michezo. Hata hivyo, kuchukua faida ya utendaji wa juu wa GPU za kisasa, unaweza kuunda michezo kwa kutumia FireMonkey - baada ya yote, huundwa kwa kutumia Direct3D au OpenGL.

KP: Je, unafanya kazi gani kwa sasa katika eneo la kusaidia utambuzi wa ishara na mambo mengine mapya? Je, msaada kama huo unapatikana?

DI.: Bado hatuna usaidizi wa ishara katika toleo hili. Vidhibiti vya ishara vitaongezwa katika toleo la baadaye la FireMonkey, lakini kwa sasa unaweza kutumia usaidizi wa ishara uliojumuishwa katika mfumo wa uendeshaji.

Mikhail Filippenko, mkurugenzi wa Fast Reports, Inc.

K.R.: Tayari tumesema kuwa teknolojia ya FireMonkey ina mizizi ya Kirusi - misingi yake iliundwa katika nchi yetu, na kisha teknolojia yenyewe na watengenezaji wake walijiunga na Embarcadero. Kwa ujumla, inafurahisha kuona ukuaji wa sehemu ya Kirusi katika RAD Studio na Delphi. Hii inajumuisha shughuli za kituo chetu cha maendeleo huko St. Petersburg na mchango wa watengenezaji huru wa Kirusi. Kwa mfano, Rad Studio XE2 inajumuisha jenereta ya ripoti ya FastReport - inayojulikana duniani kote na maarufu sana katika nchi yetu. Yeye ni asili ya Rostov-on-Don.

KP: Ningependa kuzungumza juu ya wakusanyaji. Ni aina gani ya mkusanyaji hutumika wakati wa kuunda programu za iOS?

DI.: Hatuna mkusanyaji wetu wa Delphi kwa ajili ya iPhone au iPad—bado hatujaunda vikusanyaji vya vichakataji vya ARM vinavyotumika katika vifaa hivyo. Kwa iOS, tunatumia kwa muda kikusanyaji cha Bure cha Pascal na maktaba ya wakati wa utekelezaji. Lakini tunafanyia kazi kizazi kijacho cha wakusanyaji, ikiwa ni pamoja na wasindikaji wa AWP. Lakini kuna watunzi wa Windows na Mac OS, kwani majukwaa yote ya vifaa yanategemea wasindikaji wa Intel.

KP: Ni nini kimefanywa katika uwanja wa kuunda watunzi katika miaka miwili iliyopita?

DI.: Tuna vikusanyaji vya Delphi vya 32- na 64-bit vya Windows na Mac OS. Na tunafanyia kazi kizazi kipya cha wakusanyaji wa Delphi na C++. Bado ni kazi inayoendelea, lakini zikikamilika, tutakuwa na vikusanyaji vya Delphi vya vichakataji vya ARM, mifumo ya Android, Linux, na kila kitu kilicho katikati. Na tutakuwa na vikusanyaji vya 64-bit C++ vya Windows na majukwaa mengine, yanayooana na kiwango cha hivi punde zaidi cha lugha ya C++ kilichopitishwa na ISO.

KP: Je, ni nini kinaendelea kuhusu usaidizi wa kompyuta ya wingu katika zana za ukuzaji za Embarcadero leo?

DI.: Katika RAD Studio XE 2, tunaauni kuhamisha programu hadi kwenye wingu la Microsoft Azure au Amazon EC2 kwa kutumia Msaidizi wa Mfumo. Na tuna vipengee vya seva vya Hifadhi ya Wingu kwa Azure na Amazon S3 ya kuhifadhi majedwali, data ya jozi, foleni za ujumbe. Katika toleo la awali la RAD Studio XE, tulisaidia pia kupeleka programu kwenye Amazon EC2, lakini haikuauni uhifadhi.

Usaidizi wa kompyuta ya wingu katika RAD Studio XE 2

KP: Miaka miwili iliyopita ulizungumza kuhusu suluhisho jipya la Ufikiaji Wote. Ilikuwa maarufu kwa kiasi gani? Je, ni faida gani kwa viunganishi vya mfumo na wasanidi programu?

DI.: Suluhisho la Ufikiaji Wote na zana ya wingu ya AppWave hutumika sana duniani kote. Zimeundwa ili kurahisisha kutumia programu zetu wenyewe na za wahusika wengine. Kimsingi ni suluhisho la kudhibiti leseni na matumizi ya programu, na ni rahisi kwa makampuni makubwa. Biashara ndogo ndogo ambazo hazina timu maalum za watu wanaohusika na kusimamia programu zinaweza kuweka programu kwenye hifadhi, kuchagua majina ya watumiaji kutoka kwa hifadhidata, na kufanya programu hizo zipatikane bila kukumbuka mahali ufunguo wa leseni ulipo au kuna leseni ngapi. All-Access na kivinjari cha AppWave vimeundwa ili kudhibiti matoleo na udhibiti wa ufikiaji.

K.R.: Soko ni tofauti sana na watumiaji ni tofauti sana kwamba haiwezekani kufidia mahitaji yote kwa suluhisho moja. Ndio sababu tunajitahidi kupata suluhisho tofauti za ufungaji. Tumefanya kazi nyingi kuunganisha mbinu za utoaji leseni, usimamizi wa leseni na usakinishaji wa bidhaa. Suluhisho hili linajumuisha leseni na zana za usimamizi sio tu kwa bidhaa za Embarcadero, lakini pia kwa bidhaa nyingine yoyote, ikiwa ni pamoja na maendeleo ya kampuni ya ndani.

Kazi ya kuweka zana za ukuzaji katika vifurushi bora kwa watumiaji bado inaendelea. Tuna All-Access - kifaa kikuu kinachochanganya bidhaa zote za Embarcadero. Mteja akinunua Platinum ya All-Access, atapokea zana zote zinazopatikana katika Embarcadero. Lakini wakati mwingine seti hii hubadilika kuwa isiyohitajika; kwa mfano, kwa wataalamu wa hifadhidata, tumetengeneza seti zingine mbili - Toleo la Wasanidi Programu wa DB Power Studio na Toleo la DBA la DB Power Studio. Tofauti kati yao ni kwamba kwa msanidi programu tunatoa RapidSQL - zana ya kukuza msimbo wa seva, na kwa msimamizi kuna DBArtizan iliyojengwa - zana ya usimamizi wa hifadhidata, bidhaa pana kuliko RapidSQL. Kwa wataalamu, tuna vyumba vifuatavyo vya Ufikiaji Wote: seti inayojumuisha bidhaa zote, DB Power Studio kwa wasanidi programu, DB Power Studio kwa wasimamizi, Toleo la Biashara la ER Studio kwa wasanifu majengo na mtu yeyote anayehusika katika uundaji wa miundo. Kuna mchanganyiko wa ukuzaji wa programu na kwa wasimamizi. Delphi ni zana ya msanidi programu, na inafanya akili sana kuongeza zana za ukuzaji na uboreshaji wa SQL kwake. Hatimaye, Kidhibiti cha Mabadiliko cha DB ni zana ya kimantiki ya kudhibiti ugumu wa mabadiliko yanayotokea kwenye hifadhidata wakati wa mzunguko wa maisha yao.

Kwa hivyo, Ufikiaji Wote ni kichwa cha familia kubwa ya seti tofauti za bidhaa.

KP: Ikiwa sio siri, ni nani nchini Urusi anayetumia Ufikiaji Wote?

K.R.: Tuna wateja ambao walinunua All-Access kulingana na Delphi. Wengi wao huunda mifumo changamano ya seva-teja kwa kutumia Seva ya SQL na Oracle, na mara moja walipenda zana zetu za hifadhidata za jukwaa tofauti. Tuna kampuni ya mteja ambayo imekuwa ikitumia Delphi tangu toleo la kwanza, na mwaka mmoja uliopita walibadilisha kutoka kutumia Delphi hadi Suite ya All-Access. Zana mbili ambazo watengenezaji wote katika kampuni hii wamehakikishiwa kutumia ni Delphi na DBArtisan. Na kuna wateja ambao walikuja kwa All-Access kutoka upande wa hifadhidata. Kazi yao kuu ni kusimamia hifadhidata, lakini pia wakati mwingine huendeleza programu. Wateja wanaotumia Ufikiaji Wote ni pamoja na kampuni za media, kampuni za uhandisi na tasnia zingine.

Tofauti, ningependa kuzingatia makampuni madogo. Mara nyingi sana katika timu ndogo msanidi programu hufanya kila kitu, na kampuni kama hiyo wakati mwingine hununua seti kubwa za bidhaa za All-Access kwa watengenezaji mmoja au wawili. Katika timu kubwa, haihimizwa kwa msanidi programu pia kutekeleza, kwa mfano, jukumu la msimamizi wa hifadhidata, kwa hivyo seti ndogo za bidhaa kawaida hujulikana huko, lakini katika kampuni ndogo mchanganyiko kama huo wa majukumu unakubalika kabisa.

Mbunifu wa Delphi ni bidhaa inayouzwa sana ambayo inajumuisha zana za uundaji na programu. Idadi ya nakala zinazouzwa, hata hivyo, ni chini ya toleo la Delphi Enterprise, lakini pia ni kubwa. Ningependa kutambua kwamba mwaka 2010 tuligeuka kuwa nchi bora zaidi kwa kiasi cha mauzo, licha ya ukweli kwamba nchi zote zilipata mgogoro. Ukuaji huu haukuhusishwa sana na mambo ya kiuchumi, lakini kwa ukweli kwamba toleo la RAD Studio XE, iliyotolewa mwishoni mwa 2009, iligeuka kuwa maarufu sana. Na kwa sasa tunatarajia ukuaji zaidi wa mauzo.

Tumechukua hatua nyingine nzuri, ambayo ni maarufu sana nchini Urusi. Kiwango cha uhalalishaji wa matoleo tofauti ya bidhaa zetu ni tofauti: toleo la juu zaidi, linahalalishwa zaidi, kwa sababu hapo awali programu haikununuliwa kikamilifu. Kuanzia na RAD Studio XE, leseni inashughulikia matoleo ya 2010, 2009, 2007, na hata Delphi 7, bidhaa inayotumiwa sana.

Leo, watengenezaji wanakabiliwa na ukweli kwamba wana miradi na miradi mipya inayounga mkono. Idadi kubwa ya miradi imehamishwa kutoka matoleo ya awali ya Delphi hadi toleo la 7 na kubaki ndani ya toleo hili, ikiendelea kutumia rasilimali ndogo. Hakuna anayezihamishia kwenye matoleo mapya, lakini yanadumishwa katika hali inayowezekana. Na sasa tunakuruhusu kupata RAD Studio XE na Delphi 7 kwa pesa kidogo (chini ya bei ya leseni ya Delphi 7) - yaani, tunahalalisha msanidi programu kwa utekelezaji wa miradi mipya na kwa miradi ya usaidizi.

KP: Je, unatathmini vipi hali ya sasa ya jumuiya ya Embarcadero?

DI.: Jumuiya hii ni kubwa na inahitaji sana. Wanahitaji kila kitu mara moja - wao ni watengenezaji. Lakini wakati mwingine inachukua muda mrefu kufanya kitu sawa.

Miaka michache iliyopita, tulichukua usanifu wa sehemu ya Windows na kuiweka kwenye kompyuta za mezani za Linux. Sasa tunaona kuwa huu haukuwa uamuzi sahihi. Suluhisho sahihi ni kuunda jukwaa la maombi. Programu hata kwenye mifumo tofauti zina menyu, madirisha, michoro, ufikiaji wa mtandao na ufikiaji wa kifaa. Mifumo tofauti inaweza kuwa na miundo tofauti ya kudhibiti nyuzi au kushughulikia vighairi, lakini tunaona vizuizi sawa vya kujaribu kwenye msimbo wa programu. Kazi yetu ni kurahisisha wasanidi programu kuunda programu za biashara na kuzikusanya kwa majukwaa ambayo zinakusudiwa kutumiwa, bila kujali jinsi seti ya maagizo ya vichakataji sambamba imeundwa na ni vipengele vipi vingine vya majukwaa haya. Na FireMonkey ndiyo hasa unahitaji kutatua tatizo hili.

KP: Ikiwa kampuni itaunda kifaa kipya na inataka kiwe na uwezo wa kutumia FireMonkey, hili litawezekana?

DI.: Pamoja na kizazi kipya cha wakusanyaji, ambao watakuwa na sehemu ya mbele inayojitegemea ya jukwaa na sehemu ya nyuma inayotegemea jukwaa, hii itawezekana kabisa. Wakati huo huo, kwa kila mfumo wa uendeshaji, tunaunda mkusanyaji na maktaba ya wakati wa kukimbia kutoka mwanzo.

Kifaa chochote kipya cha kisasa kwa kawaida huja na kiolesura cha picha cha mtumiaji (nyingi zina CPU mbili-msingi na GPU) na SDK za kawaida kwa wasanidi programu. Hii hurahisisha kuunda usaidizi wa kifaa katika FireMonkey. Ikiwa kifaa kipya kina maktaba za michoro ya pande mbili tu kama Quartz, tutaweza kutumia kifaa kama hicho katika FireMonkey, lakini hii itachukua takriban miezi kadhaa. Walakini, mengi inategemea jukwaa: sio majukwaa yote yanayounga mkono huduma zote, kwa mfano, iOS haina menyu na sanduku za mazungumzo na hautaweza kuweka vifaa vinavyolingana kwenye fomu za programu kama hizo.

KP: Je, kuna chochote kilichobadilika katika sera ya kufanya kazi na washirika? Je, ni nini kinafanywa ili kuongeza mgao wa watumiaji wa bidhaa zako? Ni nini kinachofanyika nchini Urusi?

DI.: Mfumo ikolojia wa washirika wetu ni mpana - kuna mamia ya watengenezaji wa zana na vijenzi ambavyo havipatikani katika bidhaa zetu, na tuna mpango wa ushirikiano wa teknolojia. Kwa hiyo, aina mbalimbali za vipengele, teknolojia na zana zinapatikana kwa watengenezaji. Na masuluhisho wanayounda kwa wateja wao ni bora kuliko ikiwa walitumia bidhaa zetu pekee. Na kwa mauzo tuna ofisi katika nchi nyingi, wauzaji na wasambazaji.

K.R.: Nini muhimu kwetu sio idadi ya washirika, lakini ubora wa kazi ya kila mpenzi maalum. Kwa sasa, tunataka kuangazia kufanya kazi kwa karibu na washirika waliopo, ingawa kundi la washirika bado liko wazi. Tuna washirika wengi, na lazima tuwasaidie katika masuala ya teknolojia. Tunafanya kazi na watengenezaji, na wanajua wanachotaka, na wanajua kinachopatikana kwenye soko, na uwezo wa washirika lazima ulingane na hili.

Tuna washirika wa biashara ambao wamewekeza kwa dhati katika Embarcadero kama njia ya biashara - wametoa mafunzo kwa wataalamu, uuzaji wa bidhaa zetu, wafanyikazi waliojitolea kuwajibika kwa laini hii na kufuatilia kinachoendelea na bidhaa zetu, orodha ya bei, uuzaji. Kwa kawaida, wanafanikiwa zaidi katika suala la mauzo ya bidhaa zetu kuliko makampuni ambayo huuza bidhaa zetu mara kwa mara.

KP: David, Kirill, asante sana kwa mahojiano ya kuvutia. Niruhusu, kwa niaba ya uchapishaji wetu na wasomaji wetu, nikutakie kampuni yako mafanikio zaidi katika kuunda zana zako za kushangaza ambazo watengenezaji wanahitaji sana!

Maswali yaliyoulizwa na Natalia Elmanova