फायरमंकी घटक। फायरमंकी। क्या पढ़ें और क्या देखें? मल्टी-डिवाइस पूर्वावलोकन आपको प्रत्येक प्लेटफ़ॉर्म के लिए विज़ुअल प्रस्तुति को अनुकूलित करने की अनुमति देता है

💖क्या आपको यह पसंद है?लिंक को अपने दोस्तों के साथ साझा करें

फायरमॉन्की "नई डेल्फ़ी" की मुख्य तकनीक है। कृपया हमें इस मौलिक नई लाइब्रेरी के लक्ष्यों, क्षमताओं और तकनीकी पहलुओं के बारे में बताएं। समय के साथ पीछे मुड़कर देखने पर पता चलता है कि आपका इनकार कितना कठिन और उचित साबित हुआ। इससे आगे का विकाससुपर लोकप्रिय वीसीएल?

इसे एक विशिष्ट लक्ष्य को प्राप्त करने के लिए डेल्फ़ी प्रौद्योगिकी के विकास के लिए मुख्य दिशा के रूप में चुना गया था - डेवलपर्स के कट्टरपंथी पुनर्प्रशिक्षण की आवश्यकता के बिना, एकल स्रोत कोड आधार के आधार पर एकल वातावरण से बहु-मंच विकास। अब क्लासिक और सुपर-लोकप्रिय वीसीएल के ढांचे के भीतर, यह असंभव था; WinAPI के साथ इसका संबंध बहुत करीबी था, कोई कह सकता है, "आनुवंशिक स्तर पर।"

वीसीएल घटकों में इंटरफ़ेस के संदर्भ में कार्यात्मक स्तर और उन्हें प्रदर्शित करने के तंत्र के बीच "अमूर्त" परत नहीं थी। कार्यात्मक स्तर- यह एक नियंत्रण के रूप में कैसे व्यवहार करता है, यह किन घटनाओं पर प्रतिक्रिया करता है, यह किस प्रकार की उपयोगकर्ता सहभागिता प्रदान करता है। प्रदर्शन- प्लेटफ़ॉर्म-उन्मुख विज़ुअलाइज़ेशन विधियों को रेखापुंज वस्तुओं और वेक्टर प्राइमेटिव्स द्वारा बनाई गई एक निश्चित छवि के रूप में कॉल करना। फायरमॉन्की ने शुरुआत में नियंत्रण को दो घटकों में सख्ती से विभाजित करने के सिद्धांत को लागू किया: "व्यवहारिक" और "दृश्य"।


वसेवोलॉड लियोनोव, एम्बरकेडेरो टेक्नोलॉजीज

पहला आम तौर पर वीसीएल की मूल बातें भी नहीं दोहराएगा, बल्कि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का सार दोहराएगा। एक घटक एक वर्ग है; घटक वर्ग एक पदानुक्रम बनाते हैं जहां परिवारों और मॉड्यूल को अलग किया जा सकता है। किसी घटक का वर्ग इस बात पर निर्भर करता है कि उसे कैसे प्रस्तुत किया गया है।

दृश्य "चित्र" गतिशील रूप से बनता है; यह घटक वर्ग में कठोरता से नहीं लिखा जाता है। एप्लिकेशन प्रारंभ होने पर FireMonkey में छवि या "शैली" को घटक में लोड किया जाता है। हमारे पास घटक के लिए किसी प्रकार का कार्यात्मक फ्रेम है, और "त्वचा" या "क्लैडिंग" को बदला जा सकता है, लेकिन क्यों? ऐसा इसलिए है ताकि फायरमॉन्की एप्लिकेशन किसी भी प्लेटफॉर्म - विंडोज 7, विंडोज 8, मैक ओएस, आईओएस और निकट भविष्य में एंड्रॉइड पर प्रामाणिक दिखें। यह कुछ ऐसा है जो वीसीएल की पारंपरिक अखंड वर्ग संरचना प्रदान नहीं कर सकी।

यहां तकनीकी दृष्टिकोण एक विशेष भूमिका निभाता है। सिद्धांत रूप में, आप वीसीएल लाइब्रेरी ले सकते हैं और इसे WinAPI और अन्य सभी संभावित प्लेटफ़ॉर्म कॉलों से भर सकते हैं। यह अभी भी घटकों के बहुत सीमित उपसमूह पर किया जा सकता है, लेकिन वीसीएल में कई सौ घटक होते हैं, इसलिए यह दृष्टिकोण वीसीएल को आसानी से "मार" सकता है। यह निर्णय लिया गया कि वीसीएल को नहीं छुआ जाएगा, बल्कि एक नए प्लेटफॉर्म - फायरमंकी पर नई क्षमताओं को विकसित किया जाएगा। यह तकनीकइसमें एक निश्चित तकनीकी सुंदरता भी है - एक विशिष्ट प्लेटफ़ॉर्म के लिए प्रोजेक्ट को असेंबल करते समय, डेल्फ़ी आईडीई आवश्यक कंपाइलर को जोड़ता है, और इंटरफ़ेस घटकों को एक प्लेटफ़ॉर्म शैली प्राप्त होती है।

उपयोगकर्ता के लिए, यह माउस का एक क्लिक है और डेल्फ़ी के लिए समान स्रोत कोड है, ऐसी मल्टी-प्लेटफ़ॉर्म लाइब्रेरी बनाने के लिए डेवलपर्स द्वारा कई वर्षों की कड़ी मेहनत की गई है।

जब यह स्पष्ट हो गया कि फायरमंकी को एक अलग नए प्लेटफॉर्म के रूप में पेश किया जाएगा, तो सही सह-अस्तित्व रणनीति को चुना जाना था: एम्बरकेडेरो किसी भी तरह से वीसीएल उपयोगकर्ताओं पर नकारात्मक प्रभाव नहीं डालना चाहता था। इसलिए, हमने निम्नलिखित योजना चुनी है: उच्चतम संभव अनुकूलता सुनिश्चित करने के लिए वीसीएल वैचारिक और वास्तुशिल्प रूप से स्थिर रहता है, जिससे परियोजनाओं को आधुनिक संस्करणों में स्थानांतरित करना आसान हो जाता है। फायरमंकी का विकास वीसीएल की परवाह किए बिना, प्राकृतिक और समानांतर पथ का अनुसरण करेगा।

इस समाधान का कमजोर बिंदु एक ही परियोजना के भीतर VCL से FireMonkey में समस्याग्रस्त प्रवासन है। लेकिन एक नए प्रोजेक्ट के लिए, एक डेवलपर अपने परिणामी एप्लिकेशन के मल्टी-प्लेटफॉर्म को सुनिश्चित करने के लिए फायरमॉन्की चुन सकता है। IOS समर्थन के साथ XE4 की रिलीज़ के बाद, हम पहले से ही कॉर्पोरेट वातावरण में मोबाइल विकास शुरू करने के लिए डेल्फ़ी के स्पष्ट प्रतिस्पर्धी लाभों के बारे में बात कर सकते हैं, जो नियोजित एंड्रॉइड समर्थन के कार्यान्वयन के बाद बढ़ जाएगा।

इसलिए, वीसीएल के विकास से कोई स्पष्ट "इनकार" नहीं है। नए संस्करणों में, डेल्फ़ी का वीसीएल भाग भी विकसित होता है। इसमें 64-बिट समर्थन, दृश्य घटकों के लिए स्टाइल की शुरूआत, लचीले गतिशील कनेक्शन या "बाइंडिंग" के लिए एक तंत्र का कार्यान्वयन और वीसीएल परियोजनाओं में डेटाबेस के साथ काम करने के लिए फायरडीएसी लाइब्रेरी को शामिल करना शामिल है। यह सिर्फ इतना है कि, फायरमंकी द्वारा की गई विशाल गुणात्मक छलांग की तुलना में, वीसीएल में प्रगति कुछ हद तक कमजोर लगती है। लेकिन, जैसा भी हो, वीसीएल डेल्फ़ी का एक अभिन्न अंग है और आने वाले कई वर्षों तक ऐसा ही रहेगा। यद्यपि प्लेटफार्मों का विकास वर्तमान स्थितिडेस्कटॉप सिस्टम और मोबाइल उपकरणों के लिए ऑपरेटिंग सिस्टम के क्षेत्र में मामलों की स्थिति ऐसी है कि फायरमंकी स्पष्ट रूप से भविष्य है।

साक्षात्कार में हमने पहले ही iOS समर्थन पर चर्चा की है, आइए अपने पाठकों को दूसरों के समर्थन के बारे में बताएं नवीनतम प्रौद्योगिकियाँउदाहरण के लिए, नवीनतम RAD स्टूडियो XE4 से, जैसे Windows 8 और WinRT, 64-बिट सिस्टम, MacOS इत्यादि। क्या आप सूचीबद्ध कर सकते हैं कि आप नवाचारों से खराब हुए आधुनिक प्रोग्रामर को और क्या पेशकश कर सकते हैं?

सबसे अधिक संभावना है, एक आधुनिक प्रोग्रामर नवाचारों से "खराब" नहीं होता है। के लिए प्रमुख प्रोजेक्टकिसी भी "नवाचार" के परिणामस्वरूप अक्सर भारी मात्रा में काम होता है।

उदाहरण के लिए, सभी ने लंबे समय तक इंतजार किया, कई लोग तुरंत अपने कोड को नए प्लेटफॉर्म पर स्थानांतरित करने के लिए दौड़ पड़े। लेकिन पता चला है कि बहुत पेशेवर टीमें भी इसके लिए तैयार नहीं हैं। 64-बिट कोड संकलित करने का मतलब काम करना नहीं है। उदाहरण के लिए, 4-बाइट पते के आकार वाले निर्देशों का उपयोग करते हुए, "युवाओं के पाप" सामने आने लगे। कम समय में इस प्रक्रिया को लागू करने के लिए तकनीकी अपर्याप्तता के साथ परीक्षण संस्कृति का अभाव।

और यहाँ - प्रोजेक्ट जितना बड़ा होगा, मापा जाएगा, मान लीजिए, लाइनों की संख्या से सोर्स कोड, इंटरफ़ेस में "बटन" की उपस्थिति से लेकर कंपाइलर में "सिंटैक्टिक शुगर" तक विभिन्न प्रकार के नवाचारों के प्रति प्रोग्रामर जितना अधिक सावधान और संतुलित होते हैं।

इन "समस्याग्रस्त" उपलब्धियों में से एक विंडोज 8 की रिलीज थी। व्यक्तिगत रूप से, एक पीसी उपयोगकर्ता और सिर्फ एक आधुनिक आईटी विशेषज्ञ के रूप में, मैं विंडोज 8 से खुश हूं। लेकिन उन डेवलपर्स के लिए जिन्हें लोड के रूप में नए ओएस के तहत विकास के लिए विशिष्टताओं के साथ विंडोज 8 चलाने वाले कंप्यूटरों का एक बैच भेजा गया था, इसका मतलब कुछ कठिनाइयां हैं।

हमने इस ओएस के नए इंटरफ़ेस के लिए यथासंभव आरामदायक और दर्द रहित विकास सहायता प्रदान करने का प्रयास किया। इसलिए, VCL और FireMonkey दोनों के लिए विशेष शैलियाँ पेश की गई हैं, और प्रोग्रामर या तो एप्लिकेशन इंटरफ़ेस का पुनर्निर्माण कर सकता है या एक नया एप्लिकेशन बना सकता है जो विंडोज 8 के लिए "मूल" से अप्रभेद्य होगा। उपस्थिति. बेशक, "देशी" की जरूरत है विंडोज़ समर्थन 8 WinRT के कारण। लेकिन यहीं पर आधुनिक परिस्थितियों में लक्ष्यों की प्राथमिकता काम में आती है। निकट भविष्य में Mac OS, iOS, Android अभी भी हमें निकट भविष्य में WinRT के लिए पूर्ण समर्थन के बारे में बात करने की अनुमति नहीं देते हैं।

बेशक, एम्बरकेडेरो का रणनीतिक लक्ष्य बहु-मंच है। RAD स्टूडियो XE4 की रिलीज़ मुख्य रूप से iOS के लिए इसके समर्थन के कारण महत्वपूर्ण थी। वीसीएल का उपयोग करने वाला एक मौजूदा प्रोग्रामर कुछ ही घंटों में आईओएस के लिए विकास शुरू कर सकता है। यहां तक ​​कि एक साधारण मोबाइल एप्लिकेशन को भी तुरंत एक शक्तिशाली प्रोजेक्ट में बदला जा सकता है जो मौजूदा बुनियादी ढांचे के भीतर काम करता है। यह मत सोचिए कि यह FireMonkey के लिए सिर्फ एक नया कंपाइलर है और iOS इंटरफ़ेस से मेल खाने वाली एक नई शैली है।

इसमें एक नया विज़ुअल डिज़ाइनर, विभिन्न फॉर्म कारकों के लिए अंतर्निहित समर्थन, नए फायरडीएसी सहित डेटा एक्सेस लाइब्रेरी और कॉर्पोरेट डेटा के साथ लचीले और गतिशील लिंकिंग के लिए लाइवबाइंडिंग तकनीक शामिल है। ये सभी नवाचार एक साथ आते हैं - विंडोज़, मैक ओएस और आईओएस के लिए। क्रिया संचालन कमरा मैक प्रणालीओएस इतनी तेजी से विकसित नहीं हो रहा है, इसलिए विंडोज 7 से विंडोज 8 में संक्रमण जैसी कोई समस्या नहीं है। लेकिन वे प्रकट हुए रेटिना प्रदर्शित करता है, और इस पर विशेष ध्यान देने की आवश्यकता है। अब डेल्फ़ी XE4 में बनाए गए किसी भी MacOS एप्लिकेशन में स्वचालित रूप से दो शैलियाँ शामिल हैं - "सामान्य" और "उच्च परिभाषा"।

वह। एक ही एप्लिकेशन में किसी भी ऐप्पल डेस्कटॉप कंप्यूटर पर समान उच्च-गुणवत्ता वाला "मूल" इंटरफ़ेस हो सकता है।

एम्बरकेडेरो अपने नए इनोवेटिव रिलीज के साथ डेवलपर्स को "आश्चर्यचकित", "आश्चर्यचकित" या यहां तक ​​कि "मनोरंजन" नहीं करना चाहता है। बल्कि, इसके विपरीत, आईटी क्षेत्र पहले से ही विभिन्न आश्चर्यों से भरा है: नए उपकरण, नए प्लेटफ़ॉर्म, नए उपयोगकर्ता, उनकी नई ज़रूरतें, नए इंटरैक्शन परिदृश्य। इसमें नई सॉफ़्टवेयर विकास प्रौद्योगिकियाँ जोड़ें, और प्रोग्रामर के पास नई प्रणालियाँ और मौजूदा प्रणालियाँ बनाने का समय नहीं होगा - वे बस एक वातावरण से दूसरे वातावरण में, पुरानी लाइब्रेरी से नई लाइब्रेरी में, एक भाषा से दूसरी भाषा में माइग्रेट करेंगे।

लेकिन हम हर नई चीज़ को अस्वीकार नहीं करते। हम बस हर चीज़ की निरंतरता सुनिश्चित करना चाहते हैं - कोड, इंटरफ़ेस, प्रोजेक्ट, यहां तक ​​कि नए प्लेटफ़ॉर्म और डिवाइस आने पर पेशेवर कौशल भी। आप कह सकते हैं कि हम विकास उपकरणों में स्वस्थ रूढ़िवाद के माध्यम से नए प्लेटफार्मों के संबंध में अस्वस्थ रूढ़िवाद से लड़ रहे हैं। Embarcadero से विदेशी उत्पादों, गैर-मानक प्रोग्रामिंग भाषाओं, या अनोखे विकास उपकरणों की अपेक्षा न करें।

हमारे साथ आपको हमेशा दृश्य विकास, शास्त्रीय भाषाएं, "मूल" कोड मिलेगा, और आपके अनुप्रयोगों के लिए लक्ष्य प्लेटफ़ॉर्म, उसी सिद्ध शास्त्रीय तरीके से बनाए गए, नए होंगे।

इस ब्लॉग के संदर्भ में, यह परियोजना मुख्य रूप से दिलचस्प है क्योंकि इसे फायरमॉन्की पर लागू किया गया है और यह इस प्लेटफ़ॉर्म की क्षमताओं का एक अद्भुत प्रदर्शन है। और पिछले सप्ताह ही, उत्पाद का एक सार्वजनिक बीटा जारी किया गया था। इस तरह, ब्लॉग पाठक अपने लिए वास्तव में कुछ जटिल "महसूस" कर सकते हैं। फायरमंकीआवेदन पत्र।

कार्यक्रम के बारे में कुछ शब्द. सबसे पहले, यह ध्यान दिया जाना चाहिए कि स्फीयर का वर्तमान संस्करण थोड़ा अलग तरीके से स्थित है। हाँ, कभी-कभी ऐसा होता है...

नया स्फीयरलाइवयह कोई दूसरा संदेशवाहक नहीं है. सबसे पहले, यह एक उपकरण है जो आपको शैक्षिक प्रक्रिया को प्रभावी ढंग से व्यवस्थित करने की अनुमति देता है। यह दूरस्थ व्याख्यान, निजी परामर्श, व्यक्तिगत पाठ और अन्य समान गतिविधियों की अनुमति देता है। साथ ही, यह काम के लिए आवश्यक लगभग हर चीज से सुसज्जित है। एक अद्वितीय फ़ाइल स्थानांतरण प्रणाली से शुरू होकर सबसे शक्तिशाली बिलिंग उपप्रणाली तक।

इस स्तर पर, उत्पाद के उपयोग की कीमतें काफी सस्ती हैं। श्रोताओं की सीमित संख्या और संसाधनों की थोड़ी मात्रा के अधीन, उत्पाद का उपयोग निःशुल्क किया जा सकता है।

स्वाभाविक रूप से, क्षेत्र इसका मुख्य लाभ उठाता है फायरमंकी- क्रॉस-प्लेटफ़ॉर्म. एप्लिकेशन वर्तमान में Windows और MacOS संस्करणों में उपलब्ध है। एंड्रॉइड संस्करणअब किसी भी दिन अपेक्षित है.

हालाँकि, मेरे लिए, SphereLive दिलचस्प है, सबसे पहले, मूल समाधानों के पूरे सेट के साथ एक अभिनव उत्पाद के रूप में। कभी-कभी यह सिर्फ "... वाह, आपने यह कैसे किया?" के स्तर पर होता है। वैसे, स्फीयर डेवलपर्स में से एक फायरमंकी को समर्पित मंच पर चर्चा में सक्रिय रूप से भाग लेता है। यह अपने आप में एप्लिकेशन डाउनलोड करने और लेखक के साथ सीधे तकनीकी मुद्दों पर चर्चा करने का एक कारण हो सकता है। मेरा विश्वास करो, देखने के लिए कुछ है और सीखने के लिए कुछ है।

टीलिस्टव्यूमोबाइल एप्लिकेशन इंटरफ़ेस के निर्माण के लिए प्रमुख घटकों में से एक है फायरमंकी. इस घटक का उपयोग करना सबसे आसान नहीं है; इसके लिए अक्सर बड़ी मात्रा में कोड की आवश्यकता होती है, लेकिन यह डेवलपर को कार्रवाई की महत्वपूर्ण स्वतंत्रता प्रदान करता है। बेशक, आप अनुप्रयोगों में भी उपयोग कर सकते हैं टीलिस्टबॉक्स, जहां सब कुछ बहुत सरल है। लेकिन टीलिस्टबॉक्सडेटा स्रोतों से डेटा आउटपुट करने के लिए, निश्चित संख्या में रिकॉर्ड प्रदर्शित करने के लिए अच्छा हो सकता है, आपको निश्चित रूप से इसका उपयोग करना चाहिए टीलिस्टव्यू.

TListView और TListBox के बीच मुख्य अंतर हैं:

  1. टीलिस्टबॉक्सआइटम- नियंत्रण, TListViewItem- नहीं
  2. में टीलिस्टबॉक्सआइटमआप पेरेंट का उपयोग करके कोई भी नियंत्रण जोड़ सकते हैं। में TListVIewItem- नहीं।
  3. TListVIewItemकेवल प्रदर्शन के लिए डेटा संग्रहीत करता है
  4. TListVIewItemविधि के माध्यम से संग्रहीत डेटा का प्रतिपादन स्वयं करता है प्रदान करना
  5. TListVIewItem में वास्तविक मैन्युअल ड्राइंग के कारण, गति में वृद्धि और कम मेमोरी खपत हासिल की जाती है (केवल प्रासंगिक डेटा संग्रहीत करना)
  6. अपना स्वयं का संस्करण बनाने के लिए TListViewItem, आपको अपना स्वयं का आइटम वर्ग बनाना होगा, उसमें आवश्यक डेटा लागू करना होगा (उदाहरण के लिए, समय) और समय को संपादित करने, उसे पंजीकृत करने आदि के लिए एक इन-प्लेस संपादक बनाना होगा।

बढ़े हुए प्रदर्शन और कम मेमोरी खपत का मात्र तथ्य उपयोग के पक्ष में एक आकर्षक तर्क है टीलिस्टव्यू. लेकिन कुछ और भी है.

कई में एंड्रॉयडअनुप्रयोगों मुझे सूचियों के निम्नलिखित कार्यान्वयन का निरीक्षण करना था। जब आप किसी सूची तत्व (आइटम, यदि आप चुनी गई शब्दावली पर कायम रहते हैं) पर क्लिक करते हैं, तो एक निश्चित कार्रवाई की जाती है। आमतौर पर डेटा को संपादित करने के लिए एक नया फॉर्म बुलाया जाता है। लेकिन जब आप दबाकर रखते हैं (लॉन्ग टैप), तो एक पूरी तरह से अलग कार्रवाई होती है। और ये घटनाएँ आपस में नहीं मिलतीं। दूसरे शब्दों में एंड्रॉइड एप्लिकेशनवे "लंबे प्रेस" और "नियमित" प्रेस के बीच स्पष्ट रूप से अंतर करने में सक्षम हैं। इसके अलावा, सूची को स्क्रॉल करने पर इनमें से कोई भी ईवेंट सक्रिय नहीं होता है। एक अच्छा उदाहरण यांडेक्स मेल में पत्रों की एक सूची है।

सबसे पहले, मैं सभी ब्लॉग पाठकों को पिछली छुट्टियों की बधाई देना चाहता हूँ और आने वाले वर्ष के लिए शुभकामनाएँ देना चाहता हूँ।

स्पष्ट परिस्थितियों के कारण, मैंने पारंपरिक नव वर्ष की रिपोर्ट नहीं बनाई, न ही मैंने वर्ष के लिए कोई योजना बनाई। हालाँकि, जीवन स्थिर नहीं है, काम चल रहा है, और डेल्फ़ी की दुनिया में कुछ घटनाएँ घटित हो रही हैं। मैं निकट भविष्य में क्रिसमस की छुट्टियों के दौरान डेल्फ़ी की दुनिया से छूटे हुए समाचारों का चयन प्रकाशित करने का वचन देता हूँ। इस बीच, मैं आपको उस नए डिवाइस के बारे में बताऊंगा जो मैंने खरीदा है।

आप आधिकारिक वेबसाइट पर विशेषताएँ पा सकते हैं। और व्यक्तिपरक प्रभाव बहुत सुखद है. उल्लेखनीय तथ्य यह है कि डिवाइस वस्तुतः निर्माता के मालिकाना सॉफ़्टवेयर से भरा हुआ है। और विक्रेताओं को उपहार के रूप में सॉफ्टवेयर का एक प्रभावशाली सेट भी मिला। स्मार्टफोन संचालन में काफी तेज़ है और इसकी लागत (लगभग $200) को पूरी तरह से उचित ठहराता है। वैसे, मैंने अपना पिछला फोन GSmart 1362 2 साल पहले लगभग इतने ही पैसे में खरीदा था। लेकिन, जैसा कि आपने शायद अनुमान लगाया होगा, मेरी मुख्य रुचि यह थी कि वे कैसे काम करेंगे फायरमंकीअनुप्रयोग।

टाइमर के बारे में कहानी जारी रखने से पहले, दो ख़बरें।

सबसे पहले, पहला XE7 अपडेट जारी किया गया था। परंपरा के अनुसार, यह पंजीकृत उपयोगकर्ताओं के लिए उपलब्ध है। आप ठीक किए गए बग की एक सूची पा सकते हैं. मैं यह देखना चाहता था कि एप्लिकेशन अद्यतन परिवेश में कैसा व्यवहार करेगा। दरअसल, कोई सुधार नहीं करना पड़ा, हालाँकि प्रयोग की गुंजाइश अभी भी थी।

दूसरी खबर. एम्बरकेडेरो विशेष ऑफर को वर्ष के अंत तक बढ़ा दिया गया है:

खैर, अब सीधे पोस्ट के विषय पर आते हैं। सिद्धांत रूप में, हमारे लिए जो कुछ बचा है वह पहले से निर्मित को लॉन्च करने का प्रयास करना है यह अनुप्रयोगएंड्रॉयड के लिए। ऐसा करने के लिए, हम उस चीज़ का उपयोग करते हैं जिसके बारे में मैंने पिछली पोस्टों में लिखा था। अर्थात् नया. मैंने इस एप्लिकेशन को डीबग किया नेक्सस 7, तदनुसार एंड्रॉइड 7″ टैबलेट का एक प्रतिनिधित्व जोड़ा गया। डिज़ाइन में बस थोड़ा सा बदलाव करना पड़ा।

संभवतः केवल आलसी लोगों ने ही अपना टाइमर नहीं लिखा। और मोबाइल प्लेटफ़ॉर्म के लिए समर्थन विकास के संदर्भ में, डेल्फ़ी में टाइमर लिखने का कार्य आम तौर पर एक पंथ कार्य माना जा सकता है। तो मैंने सोचा, क्यों न विकास का एक उदाहरण बनाया जाए फायरमंकीएप्लिकेशन टाइमर को पार्स नहीं कर सकता. बेशक, Android के लिए। निःसंदेह, यह कार्य के बारे में बिल्कुल मेरा दृष्टिकोण होगा, हालांकि, यह विशेष रूप से कठिन नहीं है, फिर भी इसकी अपनी बारीकियां हैं। शायद आपके पास कोई टिप्पणी या सुझाव हो, टिप्पणियों में उन पर चर्चा करना बहुत अच्छा होगा। मैं किसी भी तरह से लेखन में विशेषज्ञ नहीं हूं। मोबाइल एप्लीकेशन, इसलिए आपकी कोई भी टिप्पणी मेरे लिए मूल्यवान होगी।

हम इस शब्द की अंग्रेजी समझ में एक टाइमर विकसित करेंगे। अर्थात्, स्क्रीन पर एक डायल और चार बटन प्रदर्शित होंगे - "प्रारंभ", "रोकें", "रोकें" और "रद्द करें"। उलटी गिनती आगे की दिशा में होगी (अर्थात समय बढ़ेगा)। जिस विकल्प में समय निर्धारित होता है और उलटी गिनती अंग्रेजी शब्दावली में होती है उसे स्टॉप वॉच कहा जाता है, शायद मैं इसे बाद में लागू करने का प्रयास करूंगा। जिस एप्लिकेशन पर हम काम करने जा रहे हैं वह कार्यक्षमता में स्टॉपवॉच के करीब है।

डेल्फ़ी XE7 हमें विकास प्रक्रिया को महत्वपूर्ण रूप से सरल बनाने की अनुमति देता है, इस तथ्य के कारण कि अब हम Win32 के लिए एक वास्तविक एप्लिकेशन बना और डिबग कर सकते हैं, और फिर आवश्यक मोबाइल उपकरणों के लिए फ़ॉर्म सबमिशन जोड़ सकते हैं और, थोड़े से समायोजन के साथ, एक कार्यशील मोबाइल प्राप्त कर सकते हैं आवेदन पत्र। इतना अच्छा लगता है कि यह सही नहीं हो सकता? शायद। लेकिन मैं कार्य को कार्यान्वित करके इस कथन का परीक्षण करना चाहता हूं।

निजी बातचीत में मुझसे अक्सर अपने सहकर्मियों से पूछा जाता है कि क्या मोबाइल एप्लिकेशन विकसित करना संभव है फायरमंकीया यह उत्पादन समाधान के बजाय एक प्रोटोटाइप है?

मुझे लगता है, अब मैं बाहरी संशयवादियों को भी आश्वस्त कर सकता हूं।

मेरे घनिष्ठ मित्र और सहकर्मी टैगिर युमागुज़िन ने मुझे उस परियोजना के बारे में बताया जिसमें उन्होंने बहुत समय पहले भाग लिया था। अब, जब यह प्रोजेक्ट रिलीज़-पूर्व स्थिति में है, तो हमने निर्णय लिया कि यह विवरण डेल्फ़ी समुदाय के लिए दिलचस्प होगा। संक्षेप में, यह एफएम में कार्यान्वित एक बहुत बड़ी परियोजना है। हम बात कर रहे हैं स्फीयर लाइव प्रोजेक्ट की। उस परियोजना के लिए समर्पित एक छोटा लेख हाल ही में Habrahabr.ru में प्रकाशित हुआ था, 'विकास विभाग' के प्रमुख एलेक्सी ग्लाइज़िन ने मेरे ब्लॉग के दर्शकों को ध्यान में रखते हुए परियोजना के बारे में और अधिक बताने पर सहमति व्यक्त की।

ए.बी.– एलेक्सी, सामान्य तौर पर, आपका प्रोजेक्ट क्या है?

एक।जी।: – यह विचार एकदम से और तुरंत सामने नहीं आया है। 'स्फेयर' परियोजना से पहले हमारी टीम उस परियोजना पर काम कर रही थी जहां स्ट्रीम ऑडियो/वीडियो प्रौद्योगिकियों को लागू किया गया था। बाद में हमने अपना स्वयं का सॉफ़्टवेयर बनाया जो फीडबैक सहित असीमित संख्या में उपयोगकर्ताओं को मल्टीमीडिया स्ट्रीम प्रदान करने में सक्षम था। लेकिन हमें एक बिलिंग सुविधा शामिल करने की आवश्यकता थी।
एप्लिकेशन को कई आवश्यकताओं का अनुपालन करना होगा। सबसे पहले, प्रतिभागियों के लिए सम्मेलनों या प्रसारण का अधिकतम सरलीकृत संगठन जिसकी हम भविष्यवाणी नहीं कर सकते। दूसरा, सबसे महत्वपूर्ण, हमारे ग्राहकों को हमारे एप्लिकेशन के साथ कमाई करने का अवसर देना और सिस्टम की जटिलता को कम करना, लक्ष्य तक पहुंचने के लिए आवश्यक उपकरणों की मात्रा को कम करना है। पाठ्यक्रमों, वेबिनार या सिर्फ परामर्श के आयोजन में आसानी।

स्मृति के संबंध में एक छोटा सा नोट फायरडीएसीवर्तमान संस्करण में डेल्फ़ी XE6. लेकिन पहले, इस बारे में कुछ शब्द कि प्रश्नों के उत्तर कहां खोजें फायरमंकी. रूसी भाषी उपयोगकर्ता यहां विशेषाधिकार प्राप्त स्थिति में हैं।

आरएडी स्टूडियो XE5 वर्ल्ड टूर के हिस्से के रूप में खार्कोव कार्यक्रम की तैयारी करते समय, मुझे काम करने में एक छोटी सी समस्या का सामना करना पड़ा SQLiteका उपयोग करके फायरडीएसी. यदि भरा हुआ है विंडोज़ अनुप्रयोगएप्लिकेशन के साथ डेटाबेस को स्थानांतरित करें एंड्रॉयड, डेटाबेस में सिरिलिक स्ट्रिंग्स अब पढ़ने योग्य नहीं हैं (अक्षरों के बजाय प्रश्न चिह्न प्रदर्शित होते हैं)। हालाँकि, यदि आप डेटाबेस को सीधे मोबाइल डिवाइस पर भरते हैं, तो रूसी अक्षर काफी सही ढंग से पढ़े जाते हैं। डेटाबेस से डेटा भरा गया तृतीय पक्ष आवेदन, या में डेल्फीअन्य डेटा एक्सेस घटकों का उपयोग करने वाले एप्लिकेशन भी सामान्य रूप से प्रदर्शित किए गए थे। बैठक कोई समाधान निकालने में विफल रही, और मुझे एक प्रसिद्ध यूक्रेनी फुटबॉल विशेषज्ञ को उद्धृत करना पड़ा: "हम इसका पता लगा लेंगे!"

पिछले वाले के विपरीत, मैं वर्णित समस्या से निपटने में कामयाब रहा। से कनेक्ट करते समय डिफ़ॉल्ट रूप से SQLiteवी फायरडीएसीएएनएसआई स्ट्रिंग प्रारूप का उपयोग किया जाता है।

यदि आप यूनिकोड को स्थापित करने के लिए बाध्य करते हैं, तो सब कुछ वैसा ही काम करेगा जैसा उसे करना चाहिए। लेकिन एक अप्रिय क्षण भी है. स्ट्रिंग प्रारूप को बदलकर, आपको सभी डेटा सेटों में फ़ील्ड की सूची को फिर से बनाना होगा, साथ ही डेटा को प्रदर्शित करने और दर्ज करने के लिए जिम्मेदार घटकों को फिर से कनेक्ट करना होगा। इसलिए, एन्कोडिंग का तुरंत ध्यान रखना बेहतर है।

इस लघु-श्रृंखला के पिछले भागों में, हमने एक डेटाबेस बनाने, उसकी संरचना और उसे डेल्फ़ी से जोड़ने के बारे में बात की थी। इस भाग में, मैं सबसे सरल मामले से शुरू करते हुए, तालिकाओं से डेटा के प्रदर्शन को समझने का प्रस्ताव करता हूं।

एक साधारण तालिका डेटा संपादक, आमतौर पर एक जटिल एप्लिकेशन का हिस्सा। मैं आमतौर पर तालिकाओं को संपादित करने के लिए एक अलग फॉर्म का उपयोग करता हूं। आइए किराने की सूची से शुरुआत करें। सबसे पहले, हमें तालिका डेटा तक पहुंचने के लिए एक डेटासेट बनाने की आवश्यकता है। हमारे मामले में, घटक का उपयोग करना काफी संभव है टीएडीटेबल. आइए इसे डेटामॉड्यूल में रखें और संपत्ति मूल्य निर्दिष्ट करें संबंध. संपत्ति संपादक में तालिका नामतालिकाओं की एक सूची दिखाई देगी जिसमें से हम एक तालिका का चयन करेंगे उत्पादों. यदि आपने सब कुछ सही ढंग से किया है, तो आप संपत्ति आवंटित कर सकते हैं सक्रियमूल्य सत्य. घटक का तुरंत नाम बदलना बेहतर है (उदाहरण के लिए, ADTProduct)। इसके बाद, मैं आमतौर पर डेटासेट के लिए फ़ील्ड का एक सेट बनाता हूं। फ़ील्ड संपादक को कॉल करें (घटक पर डबल क्लिक करें) और संदर्भ मेनूसभी फ़ील्ड जोड़ें आइटम का चयन करें.

जो लोग नहीं जानते, उनके लिए मैं इस ऑपरेशन का सार बताऊंगा। यहां हम डेटासेट फ़ील्ड का एक पूर्वनिर्धारित सेट बनाते हैं। यदि हम इसे डिज़ाइन मोड में मैन्युअल रूप से नहीं करते हैं, तो, सिद्धांत रूप में, कुछ भी बुरा नहीं होगा। रनटाइम में यह सेट स्वचालित रूप से बनाया जाएगा। लेकिन मैं अभी भी इसे मैन्युअल रूप से बनाना पसंद करता हूं। इसके अनेक कारण हैं। सबसे पहले, फ़ील्ड के एक सेट को प्रबंधित करना अधिक सुविधाजनक है, क्योंकि हम डिज़ाइन मोड में अतिरिक्त (गणना या लुकअप) फ़ील्ड स्वयं बना सकते हैं। हम फ़ील्ड के गुणों को स्वयं भी बदल सकते हैं। और इसके अलावा, हमें टीफ़ील्ड घटक के नाम से कोड में फ़ील्ड तक पहुंचने का अवसर मिलता है, जो मेरी राय में, कोड लिखने को बहुत सरल बनाता है।

जैसा कि वीसीएल एप्लिकेशन के मामले में होता है, हम घटक को डेटा सेट से जोड़ देंगे टीडाटास्रोत. यह घटक डेटा सेट और दृश्य नियंत्रण के बीच कनेक्शन प्रदान करेगा। घटक की डेटासेट संपत्ति को हमारे डेटा सेट (ADTProduct) का संदर्भ देना चाहिए। नीचे मैं DFM फ़ाइल का एक अंश प्रदान करता हूँ

ऑब्जेक्ट ADTProduct: TADTable IndexFieldNames = "आईडी" कनेक्शन = ADConnection अद्यतन विकल्प। अपडेटटेबलनाम = "उत्पाद" टेबलनाम = "उत्पाद" बायां = 64 शीर्ष = 192 ऑब्जेक्ट ADTProductID: TADAutoIncField फ़ील्डनाम = "आईडी" उत्पत्ति = "आईडी" प्रदाता फ़्लैग = [pfInwhere, pfInKey] केवल पढ़ने के लिए = सही अंतिम ऑब्जेक्ट ADTProductTitle: TStringField फ़ील्डनाम = "शीर्षक" उत्पत्ति = "शीर्षक" आकार = 50 अंत वस्तु डीएस उत्पाद: टीडाटासोर्स डेटासेट = एडीटी उत्पाद बायां = 120 शीर्ष = 192 अंत

कृपया एक दिलचस्प विशेषता पर ध्यान दें: डेटामॉड्यूल फॉर्म फ़ाइल नियमित फायरमंकी फॉर्म की तरह एफएमएक्स प्रारूप में नहीं, बल्कि वीसीएल की तरह डीएफएम प्रारूप में सहेजी जाती है।

अगला कदम डेटा सेट खोलने के लिए एक प्रक्रिया बनाना है, जिसे प्रोग्राम शुरू होने पर हमें रनटाइम में कॉल करना होगा। आइए इसे उसी डेटामॉड्यूल में बनाएं। प्रक्रिया कोड अत्यंत सरल है:

प्रक्रिया टीडीएम. ConnectToDB ; शुरुआतीएडीकनेक्शन। खुला(); एडीटी उत्पाद। खुला(); अंत ;

हम डेटा मॉड्यूल के लिए ऑनक्रिएट इवेंट हैंडलर में प्रक्रिया कॉल रखेंगे।

आप शायद जानते हैं कि एम्बरकैडेरो एक क्रॉस-प्लेटफ़ॉर्म GUI - FireMonkey ( वे इसे एक ढांचा कहते हैं, लेकिन इसकी वर्तमान स्थिति के लिए यह बहुत अच्छा लगता है). रूनेट पर एक के बाद एक प्रतियोगिता की घोषणा की जाती है, वेबिनार आयोजित किए जाते हैं, और हालांकि बाद की गुणवत्ता वांछित नहीं है, लेकिन गतिविधि उत्साहजनक है। अब, वास्तव में, विषय पर। पिछली प्रतियोगिता के भाग के रूप में, सीखने के लिए किसी प्रकार का एप्लिकेशन विकसित करने का प्रस्ताव रखा गया था। और कल एक और काम सामने आया जिसके लेखक एवगेनी चमेल थे ( मुझे नहीं पता कि यह उपनाम झुका हुआ है या नहीं). पहले देखे गए सरल "एक-रूप" के विपरीत, यहां बंदर को उसके सभी अंगों से खींचने का प्रयास किया गया था: शैलीकरण, 3डी, शेडर प्रभाव ( Embarcadero प्रचारकों को GPU त्वरित ग्राफ़िक्स के बारे में बात करना पसंद है :))). आइए देखें कि इसका क्या नतीजा निकला। उन लोगों के लिए जिन्होंने वेबिनार नहीं देखा है, मैं एक छोटा सा विषयांतर करूंगा। वेबिनार में से एक में, एम्बरकैडेरो प्रचारक वसेवोलॉड लियोनोव ने एक दिल दहला देने वाली कहानी बताई कि कैसे सिल्वरलाइट एसडीके और विंडोज़ एम्यूलेटरफ़ोन 7 उसके कंप्यूटर पर "काम नहीं कर रहा" (यह एक उद्धरण है) क्योंकि... उन्हें वीडियो एडॉप्टर या जीपीयू सेटिंग्स पसंद नहीं आईं। लेकिन फायरमोकी का उपयोग करके विकसित किए गए एप्लिकेशन, वेसेवोलॉड जारी रखते हैं, बिल्कुल भी मांग वाले नहीं हैं हार्डवेयर. आइए देखें कि उसने हमसे कैसे झूठ बोला। मार्क रुसिनोविच का प्रोसेस एक्सप्लोरर v15.05 हमारा निष्पक्ष गवाह होगा। तो, एवगेनी का एप्लिकेशन डाउनलोड करें और लॉन्च करें ( मैं एवगेनी के एप्लिकेशन के स्क्रीनशॉट प्रदान नहीं करता, वे उसके काम के लिंक पर उपलब्ध हैं। धुंधले फ़ॉन्ट पर ध्यान दें).

एप्लिकेशन लॉन्च किया. आइए खपत पर नजर डालें:

अनैतिक, लेकिन कोई भी "उन्नत तकनीक" को माफ कर सकता है। "पाठ" अनुभाग पर जाएँ और "पाठ 5" चुनें। मंच की तैयारी शुरू. यह प्रक्रिया लंबी है ( 3.3GHz की आवृत्ति वाले क्वाड-कोर फेनोम II पर मुझे एक मिनट से थोड़ा अधिक समय लगा), धैर्य रखें। मंच बन चुका है. आइए खपत पर नजर डालें:

बंदर को अच्छा खाना खिलाया गया। अचे से। अब अपने माउस को उत्तर विकल्प बटनों पर ले जाने का प्रयास करें। ऐसा लगता है कि GUI बहुत धीमी गति से प्रतिक्रिया करता है, है ना? सीपीयू उपयोग ग्राफ़ देखें ( मेरा मतलब है कि आपको इसे स्वयं, अपने कंप्यूटर पर आज़माना चाहिए) - इन क्षणों में इसका भार 100% तक पहुँच जाता है ( मेरे पास क्वाड-कोर प्रोसेसर के लिए ~21.5% था, जो सिंगल-कोर के लिए 86% के बराबर है). लेकिन किसी ने हमें GPU त्वरित ग्राफ़िक्स के बारे में बताया। ठीक है, चलिए आगे बढ़ते हैं। हम पाठ में सभी प्रश्नों का उत्तर देते हैं। आइए खपत पर नजर डालें:

क्या आपकी आँखें चौड़ी हो गयी हैं? अब देखें, तुलना के लिए, सक्रिय गेमप्ले के साथ 3डी शूटर फ़ार्क्राई कितनी खपत करता है ( यदि किसी की रुचि हो तो स्तर को फ़ैक्टरी कहा जाता है) पूर्ण स्क्रीन मोड 1440x900 में चल रहा है:

अपने निष्कर्ष स्वयं निकालें.

तीन साल से अधिक समय बीत चुका है जब कोडगियर डिवीजन, जो डेल्फी, सी++बिल्डर और जेबिल्डर जैसे विश्व-प्रसिद्ध टूल के साथ-साथ इंटरबेस डेटाबेस प्रबंधन प्रणाली के निर्माण के लिए जिम्मेदार है, एम्बरकेडेरो टेक्नोलॉजीज का हिस्सा बन गया है, जो अपने टूल के लिए जाना जाता है। डेटाबेस डिज़ाइन और प्रशासन के लिए, और दो साल से हमने अपनी पत्रिका के पन्नों पर चर्चा की है कि उन उपकरणों के विकास में क्या उम्मीद की जाए जो रूसी डेवलपर्स के बीच बहुत लोकप्रिय हैं। हमने एम्बरकैडेरो टेक्नोलॉजीज में डेवलपर संबंधों के उपाध्यक्ष और मुख्य प्रचारक डेविड इंटरसिमोन और एम्बरकैडेरो टेक्नोलॉजीज प्रतिनिधि कार्यालय के प्रमुख किरिल रननेव से इस बारे में बात करने के लिए कहा कि पिछले दो वर्षों में इस क्षेत्र में क्या नया किया गया है और इसमें क्या उम्मीद की जाए। निकट भविष्य. अपने सबसे युवा पाठकों के लिए, हम आपको सूचित करेंगे कि यह पहला साक्षात्कार नहीं है जो डेविड और किरिल ने कंप्यूटरप्रेस को दिया है - हमारा सहयोग दूसरे दशक से चल रहा है। और लगभग इतने ही वर्षों से, हमने समय-समय पर डेटाबेस प्रबंधन टूल की समीक्षाएँ प्रकाशित की हैं, जिसमें एम्बरकैडेरो उत्पादों पर अधिक ध्यान दिया जाता है।

कंप्यूटरप्रेस:डेविड, आपका प्रभाग तीन वर्षों से एम्बरकेडेरो का हिस्सा रहा है। दो साल पहले, आप अपने लक्ष्यों और भावना के करीब एक कंपनी का हिस्सा बनने को लेकर उत्साहित थे। क्या इस दौरान कुछ बदला है? क्या आपमें और आपके सहकर्मियों में अभी भी वैसा ही उत्साह है?

हाँ, मैं अब भी बहुत उत्साहित हूँ। एम्बरकैडेरो कंपनी का हिस्सा बनने के बाद से जो मुख्य परिवर्तन हुआ है वह यह है कि डेल्फ़ी के विकास में बहुत अधिक निवेश किया गया है। विकास उपकरणों पर काम करने वाले लोगों की संख्या में वृद्धि हुई है, और उन प्रौद्योगिकियों की संख्या में वृद्धि हुई है जिन्हें हम विकसित कर सकते हैं या, यदि आवश्यक हो, तो हासिल कर सकते हैं।

RAD स्टूडियो XE 2 की रिलीज़, जिसे हम मॉस्को में प्रदर्शित करने की योजना बना रहे हैं, विंडोज़ के 16-बिट संस्करण के लिए बनाए गए डेल्फ़ी के पहले संस्करण के बाद से विशाल क्षमताओं और बड़ी संख्या में समर्थित प्लेटफ़ॉर्म वाले इस उत्पाद की सबसे बड़ी रिलीज़ है। जो एक अभिनव उत्पाद था जो घटक दृष्टिकोण और संकलन को मशीन कोड में जोड़ता था। अब हम न केवल विंडोज़ के लिए, बल्कि मैकिंटोश के लिए भी विकास का समर्थन करते हैं, वेब विकास और मोबाइल उपकरणों के लिए अनुप्रयोगों के निर्माण का उल्लेख नहीं करते हैं, और इन अनुप्रयोगों के लिए विभिन्न प्लेटफार्मएक ही कोड हो सकता है.

नया विकास मंच - फायरमॉन्की - एम्बरकेडेरो और हाल ही में उलानयूडी से अधिग्रहीत रूसी फर्म केएसडीईवी के बीच एक संयुक्त प्रयास है, जो वेक्टर ग्राफिक्स, डायरेक्टएक्स और ओपनजीएल, ग्राफिक्स प्रभाव प्रौद्योगिकियों और घटकों के निर्माता है। डेल्फ़ी घटकका उपयोग करते हुए जीपीयू PixelShader 2.0 के साथ। हमने एक साल पहले कंपनी KSDev (ksdev.ru देखें) का अधिग्रहण किया और एक मल्टी-प्लेटफॉर्म डेवलपमेंट टूल बनाने के लिए मिलकर काम करना शुरू किया, जिसमें एप्लिकेशन यूजर इंटरफेस, डेटाबेस बनाने के लिए डेल्फी और C++Buider के घटकों के साथ FireMonkey एप्लिकेशन विकसित करने के लिए एक प्लेटफॉर्म भी शामिल है। एकीकरण, जीपीयू का उपयोग करके ग्राफिक्स प्रोसेसिंग और ऑपरेटिंग सिस्टम के साथ एकीकरण।

फायरमॉन्की का उपयोग करके, आप एक एप्लिकेशन बना सकते हैं जो सीपीयू और जीपीयू पर एक साथ चलता है, और फिर इसे विंडोज, मैक ओएस या आईओएस के लिए संकलित करने के लिए विभिन्न कंपाइलर और रन-टाइम लाइब्रेरीज़ (आरटीएल) का उपयोग कर सकते हैं। अलग-अलग ग्राफ़िक्स लाइब्रेरीज़ का उपयोग करके प्रोग्राम करना सीखने के बजाय, अलग-अलग समन्वय प्रणालियों और अलग-अलग क्षमताओं वाले विभिन्न प्लेटफार्मों के एपीआई सीखने के बजाय, डेल्फ़ी और सी ++ बिल्डर का उपयोग करने वाले डेवलपर्स एक ही घटक-आधारित दृष्टिकोण का उपयोग कर सकते हैं, प्रपत्रों को दृश्य रूप से संपादित कर सकते हैं और डेटाबेस से कनेक्ट कर सकते हैं। माउस से घटक को हिलाना। यह विभिन्न प्लेटफार्मों पर चलने वाले एप्लिकेशन बनाने का एक मौलिक नया तरीका है, और यह भविष्य है। यदि आप अपने एप्लिकेशन में अन्य ऑपरेटिंग सिस्टम और प्लेटफ़ॉर्म के लिए समर्थन जोड़ना चाहते हैं, तो आपको इसे फिर से डिज़ाइन और विकसित करने की आवश्यकता नहीं है - आपको बस इसे पुन: संकलित करने की आवश्यकता है।

हम नए कंपाइलर बनाते हैं जो मूल कोड उत्पन्न करते हैं। आज 32- और 64-बिट के लिए डेल्फ़ी कंपाइलर हैं विंडोज़ संस्करण, मैक ओएस 10 के 32-बिट संस्करण। और ​​हम डेल्फ़ी और सी++बिल्डर कंपाइलरों की अगली पीढ़ी पर काम कर रहे हैं जो आपको इन दोनों और एंड्रॉइड या लिनक्स जैसे अन्य प्लेटफार्मों के लिए उच्च-प्रदर्शन मशीन कोड बनाने की अनुमति देगा, और विभिन्न कंपाइलरों और रनटाइम लाइब्रेरीज़ का उपयोग करके समान डिज़ाइन, समान घटक, समान कोड रखें।

जैसा कि आप देख सकते हैं, मेरे पास उत्साह के पर्याप्त कारण हैं। और मैं दुनिया भर में जिन डेवलपर्स से मिलता हूं, वे जानते हैं कि एम्बरकैडेरो डेल्फ़ी और सी++बिल्डर के साथ-साथ PHP डेवलपमेंट टूल्स में भारी निवेश कर रहा है।

केपी:पिछले दो वर्षों में दोनों कंपनियों के उपकरणों को एकीकृत करने में आपने क्या सफलताएँ हासिल की हैं? इस क्षेत्र में भविष्य के लिए एम्बरकेडेरो की क्या योजनाएं हैं?

डि.:जिस समय कोडगियर एम्बरकैडेरो का हिस्सा बना, उस समय कंपनी के पास टोरंटो, मॉन्टेरी और रोमानिया में विकास टीमें थीं, हम स्कॉट्स वैली और रूस में सेंट पीटर्सबर्ग में थे और अब भी स्थित हैं। एम्बरकैडेरो के पास डेवलपर्स और डेटाबेस प्रशासकों के लिए उपकरण थे, कोडगियर के पास एप्लिकेशन विकास के लिए उपकरण थे, लेकिन बाद वाले भी डेटाबेस का उपयोग करते हैं। कंपनियों का विलय डेटाबेस के क्षेत्र में विशेषज्ञता, ज्ञान, सर्वर कोड सहित कोड अनुकूलन का एक संयोजन है। कंपनियों के संयोजन से एक नए उत्पाद, ऐपवेव का निर्माण भी हुआ, जो नियमित विंडोज एप्लिकेशन को उपयोग में बहुत आसान चीज़ में बदलने के लिए एक विशेष तकनीक है (जैसे कि आईफोन या अन्य उपकरणों के लिए एप्लिकेशन)। ऐपवेव आपको एक एप्लिकेशन इंस्टॉल करने की अनुमति नहीं देता है, लेकिन बस इसे चुनें और इसे तैयार एप्लिकेशन स्टोरेज सर्वर (ऐप) से लॉन्च करें, और इसे रजिस्ट्री और सिस्टम फ़ाइल सिस्टम क्षेत्र में बदलाव किए बिना उपयोगकर्ता के कंप्यूटर पर निष्पादित किया जाएगा। वैसे, AppWave एप्लिकेशन ब्राउज़र डेल्फ़ी में लिखा गया है। Embarcadero अपने स्वयं के विकास और हमारी एप्लिकेशन विकास विशेषज्ञता के लिए डेफी का उपयोग करता है।

iPhone (iOS) एप्लिकेशन द्वारा बनाया गया
फ़ायरमॉन्की प्लेटफ़ॉर्म का उपयोग करना

एप्लिकेशन बनाते समय SQL क्वेरी को अनुकूलित करने के लिए आप हमारे विकास टूल और DB ऑप्टिमाइज़र के एकीकरण का भी उपयोग कर सकते हैं। SQL कोड को सीधे DB ऑप्टिमाइज़र में पास करके, आप इसे प्रोफ़ाइल कर सकते हैं, इसका परीक्षण कर सकते हैं, और एक अनुकूलित संस्करण को अपने विकास परिवेश में वापस लौटा सकते हैं। एम्बरकैडेरो की डेटाबेस विशेषज्ञता ने डेटास्नैप तकनीक में भी सुधार किया है। टोरंटो के डेवलपर्स के लिए धन्यवाद, हमने मल्टी-टियर सिस्टम और डेटाबेस की वास्तुकला के बारे में बहुत सारा ज्ञान प्राप्त किया। अब हमारे पास दोनों कंपनियों में सर्वर कोड और संग्रहीत कार्यविधियाँ बनाने में संयुक्त विशेषज्ञता है। हमारे पास रैपिडएसक्यूएल और डीबी चेंज मैनेजर जैसे उपकरण हैं, साथ ही विकास वातावरण भी हैं जो सर्वर कोड के निर्माण को सरल बनाते हैं - उदाहरण के लिए, कोड इनसाइट और कोड कंप्लीशन प्रौद्योगिकियों ने एसक्यूएल इनसाइट और एसक्यूएल कंप्लीशन प्रौद्योगिकियों के निर्माण को सक्षम किया है। क्लाइंट और सर्वर कोड बनाने के हमारे सामान्य दृष्टिकोण, हमारा सामान्य दर्शन, हमें बनाने की अनुमति देता है सामान्य सुविधाएंडेटाबेस प्रबंधन उपकरण और अनुप्रयोग विकास उपकरण।

किरिल रन्नेव:मैं कुछ महत्वपूर्ण जोड़ना चाहता हूं. व्यावसायिक दृष्टिकोण से, हम अपने उपकरण कैसे वितरित करते हैं यह बहुत महत्वपूर्ण है। उदाहरण के लिए, RAD स्टूडियो XE 2 अल्टीमेट की नई रिलीज़ में शामिल हैं पूरा स्थिरडीबी पावर स्टूडियो उपकरण। यह टूल का एक बहुत शक्तिशाली सेट है, जिसमें रैपिडएसक्यूएल क्वेरी डेवलपमेंट एनवायरनमेंट, डीबी चेंज मैनेजर चेंज मैनेजमेंट टूल और डीबी ऑप्टिमाइज़र क्वेरी ऑप्टिमाइज़ेशन टूल शामिल है, जो आपको परिवर्तनों को प्रबंधित करके विकास और तैनाती प्रक्रिया का एक महत्वपूर्ण हिस्सा पूरा करने की अनुमति देता है। डेटा मॉडल, डेटाबेस, कोड, इत्यादि। यह तकनीकों का बहुत अच्छा और सही संयोजन है।

डि.:लेकिन यदि आवश्यक हो, तो डेवलपर्स सोर्स कोड वर्जनिंग के लिए सबवर्जन और मेटाडेटा वर्जनिंग के लिए डीबी चेंज मैनेजर का उपयोग कर सकते हैं। आप सर्वर कोड को अनुकूलित करने के लिए कोड प्रोफाइलिंग और डीबी ऑप्टिमाइज़र का उपयोग कर सकते हैं, सर्वर कोड बनाने और डीबग करने के लिए रैपिडएसक्यूएल, और एप्लिकेशन बनाने और डीबग करने के लिए हमारे विकास वातावरण का उपयोग कर सकते हैं। आरएडी स्टूडियो एक्सई अल्टीमेट एडिशन में प्रौद्योगिकियों का यह संयोजन डेटाबेस और एप्लिकेशन डेवलपमेंट मॉडल के बीच समानताएं प्रदर्शित करता है। डेल्फ़ी और सी++बिल्डर के साथ व्यावसायिक एप्लिकेशन बनाने वाले अधिकांश डेवलपर्स डेटाबेस के साथ काम करते हैं और उन्हें इन उपकरणों की आवश्यकता होती है, और आरएडी स्टूडियो एक्सई अल्टीमेट एडिशन ऐसे डेवलपर्स के लिए एक बेहतरीन संयोजन है।

केपी:आधुनिक उपयोगकर्ता अब केवल विंडोज़ प्लेटफ़ॉर्म का उपयोगकर्ता नहीं है। हम आवेदन करते हैं मोबाइल उपकरणों, iPhone, iPad, Android प्लेटफ़ॉर्म पर आधारित डिवाइस। इसका मतलब यह है कि डेवलपर्स को प्रशिक्षण में निवेश में उल्लेखनीय वृद्धि किए बिना विभिन्न प्लेटफार्मों को लक्षित करना शुरू करना चाहिए - अर्थात, सार्वभौमिक उपकरणों की आवश्यकता है। जाहिर है, प्लेटफ़ॉर्म निर्माताओं से सार्वभौमिक टूल की अपेक्षा करना अवास्तविक है, और इस मामले में हम केवल स्वतंत्र टूल निर्माताओं पर भरोसा कर सकते हैं। हम एम्बरकेडेरो पर कैसे भरोसा कर सकते हैं?

डि.:प्लेटफ़ॉर्म समर्थन के मामले में हमें अभी भी बहुत कुछ करना है। आज हम iPhone और iPad के लिए iOS प्लेटफ़ॉर्म के लिए समर्थन शुरू कर रहे हैं, फिर Android प्लेटफ़ॉर्म, Windows 7 और ब्लैकबेरी पर आधारित स्मार्टफ़ोन को हमारा समर्थन प्राप्त होगा। RAD स्टूडियो XE 2 में, हमने iOS के लिए FireMonkey प्लेटफ़ॉर्म का निर्माण शुरू किया और फिर FireMonkey को अन्य प्लेटफ़ॉर्म पर लाएंगे।

वहीं, बड़ी संख्या में ऐसे ऑपरेटिंग सिस्टम हैं जो सपोर्ट करते हैं टच स्क्रीन(टच स्क्रीन), फ़ोन के लिए, टेबलेट कंप्यूटरऔर उपकरण, डेस्क टॉप कंप्यूटर, और हम उनके लिए समर्थन जोड़ना जारी रखेंगे। आवाज, गति, बायोमेट्रिक्स, एक्सेलेरोमीटर भी हैं, इसलिए हमें फायरमंकी का विस्तार जारी रखना चाहिए ताकि सभी डेवलपर्स नए प्लेटफार्मों का लाभ उठा सकें। उदाहरण के लिए, Microsoft Kinect डिवाइस Xbox 360 के लिए डिज़ाइन किया गया था, और अब विंडोज़ के लिए एक संबंधित SDK (सॉफ़्टवेयर डेवलपमेंट किट) है। और हमारे पास पहले से ही ऐसे उदाहरण हैं जहां हम किसी एप्लिकेशन को नियंत्रित करने के लिए गति का उपयोग उसी तरह करते हैं जैसे आमतौर पर माउस या कीबोर्ड का उपयोग किया जाता है।

जब आप बहुत सारे जटिल ग्राफ़िक्स के साथ एप्लिकेशन बनाते हैं, तो आप नए उपयोगकर्ता इंटरफ़ेस की एक पूरी दुनिया तैयार करते हैं। यदि हम विंडोज ऑपरेटिंग सिस्टम के साथ काम कर रहे हैं, तो हम इसके एप्लिकेशन को इनकैप्सुलेट करते हैं सॉफ़्टवेयर इंटरफ़ेसवीसीएल लाइब्रेरी में विंडोज़ एपीआई (विज़ुअल कंपोनेंट लाइब्रेरी - विज़ुअल घटकों की एक लाइब्रेरी जो डेल्फ़ी और सी++बिल्डर डेवलपमेंट टूल्स का हिस्सा है। - टिप्पणी ईडी।), जो, वैसे, आगे भी उपयोग किया जा सकता है। और FireMonkey में हम API को इनकैप्सुलेट करते हैं ऑपरेटिंग सिस्टम. लेकिन आज हम आकृतियों और ग्राफ़िक्स में अधिक व्यापक रूप से हेरफेर करते हैं। आप एनीमेशन और विशेष प्रभावों के लिए स्थान में भौतिक गुण भी जोड़ सकते हैं। इसके अलावा, बड़ी संख्या में अन्य भी हैं अतिरिक्त सुविधाओंउपयोगकर्ता इंटरफ़ेस बनाने के लिए जिसे हम अगले कुछ वर्षों में विभिन्न प्लेटफार्मों, मोबाइल और टैबलेट उपकरणों के लिए लागू करने जा रहे हैं।

माइक्रोसॉफ्ट ने हाल ही में विंडोज 8 के बारे में विवरण जारी किया है, जो एक साल में आने वाला है। हम वीसीएल लाइब्रेरी और फायरमंकी प्लेटफॉर्म में इन नवाचारों का समर्थन करेंगे। लेकिन डेल्फ़ी एक विकास उपकरण है जो न केवल विंडोज़ के लिए, बल्कि मैकिंटोश, आईफोन और आईपैड के लिए भी डिज़ाइन किया गया है। हम अपने PHP उत्पाद भी विकसित करते हैं, jQuery मोबाइल का समर्थन करते हैं, मोबाइल क्लाइंट एप्लिकेशन विकसित करने के लिए iOS API का उपयोग करते हैं, और क्लाइंट-साइड जावास्क्रिप्ट, HTML और कैस्केडिंग स्टाइल शीट उत्पन्न करने के लिए विज़ार्ड और टूल का उपयोग करके सर्वर-साइड PHP एप्लिकेशन बनाते हैं। हम PHP एप्लिकेशन और क्लाइंट एप्लिकेशन से नेटिव कोड के साथ पैकेज बना सकते हैं आईफोन आईओएस, और ऐसे ग्राहक के साथ संवाद करेंगे पीएचपी सर्वर. और वह, बदले में, डेटाबेस सर्वर और वेब सेवाओं के साथ संचार करेगा - व्यवसाय के लिए आवश्यक हर चीज के साथ।

RadPHP XE2 विकास वातावरण। एक मोबाइल वेब एप्लिकेशन बनाना
iPhone 3G के लिए jQuery मोबाइल घटकों का उपयोग करना

दूसरे शब्दों में, हम मोबाइल प्लेटफॉर्म के लिए समर्थन सहित फायरमंकी और वीसीएल की क्षमताओं का विस्तार करने की योजना बना रहे हैं।

केपी:क्या आप हमें फायरमंकी प्लेटफॉर्म के बारे में और बता सकते हैं?

डि.:जैसा कि मैंने पहले ही नोट किया है, विंडोज़ के लिए बनाई गई वीसीएल लाइब्रेरी का विकास और सुधार जारी रहेगा। लेकिन आज, यदि आप वास्तविक व्यावसायिक एप्लिकेशन विकास चाहते हैं, तो आपको उन्हें विभिन्न प्लेटफार्मों के लिए बनाना होगा। फ़ायरमॉन्की प्लेटफ़ॉर्म इसी के लिए डिज़ाइन किया गया है। यह उच्च-रिज़ॉल्यूशन, उच्च-प्रदर्शन उपयोगकर्ता इंटरफ़ेस के निर्माण का समर्थन करता है 3डी ग्राफिक्स, उच्च गतिफ़्रेम बदलता है और, महत्वपूर्ण बात यह है कि, इसके लिए ग्राफ़िक्स प्रोसेसर का उपयोग करता है।

आप वैज्ञानिक, इंजीनियरिंग और व्यावसायिक अनुप्रयोग बनाते समय ऐसी क्षमताओं का उपयोग कर सकते हैं। ऐसे एप्लिकेशन dbExpress तकनीक का उपयोग करके डेटाबेस से कनेक्ट हो सकते हैं, फिर भी क्लाइंटडेटासेट या डेटासोर्स जैसे डेवलपर्स से परिचित गैर-दृश्य घटकों का उपयोग कर सकते हैं, डेटास्नैप तकनीक का उपयोग कर सकते हैं, किसी भी डेटाबेस, SOAP और REST सर्वर से कनेक्ट कर सकते हैं। आप दो और तीन आयामों में आकर्षक नियंत्रण, बक्से वाले बटन, असामान्य टेबल और अन्य इंटरफ़ेस तत्व बना सकते हैं। आप एक तैयार 3डी मॉडल को ऐप में लोड कर सकते हैं और इसे 2डी आकार से जोड़ सकते हैं जिसमें आप इसे घुमा सकते हैं और विभिन्न कोणों से देख सकते हैं। आप एक डेटा क्यूब या 3डी बिजनेस चार्ट बना सकते हैं और इसे अपने माउस, कीबोर्ड, या यहां तक ​​कि किन्नेक्ट डिवाइस का उपयोग करके घुमा सकते हैं, या आप क्यूब के अंदर कदम रख सकते हैं और अंदर से इसकी विभिन्न सतहों को देख सकते हैं। और यह सब हाई-स्पीड जीपीयू का उपयोग करके किया जा सकता है। फिर उसी एप्लिकेशन को मैक ओएस जैसे किसी अन्य प्लेटफ़ॉर्म के लिए संकलित किया जा सकता है।

एक घूमने वाला डेटा क्यूब युक्त एप्लिकेशन,
इसके किनारों पर रखा गया

या आप स्क्रैच से 3डी आकार बना सकते हैं और उपयोगकर्ता इंटरफ़ेस के कुछ हिस्सों को रोशन करने और घुमाने के लिए कैमरे और लाइट का उपयोग कर सकते हैं। डिज़ाइन के दौरान 3D उपयोगकर्ता इंटरफ़ेस का समर्थन करने के लिए प्रपत्र डिज़ाइनर के पास पहले से ही एक अंतर्निहित वातावरण है।

विंडोज़ पर, आप उच्च-रिज़ॉल्यूशन 2D ग्राफ़िक्स के साथ काम करने के लिए Direct2D लाइब्रेरी और 3D ग्राफ़िक्स के लिए Direct3D का उपयोग कर सकते हैं। मैक ओएस पर, क्वार्ट्ज और ओपनजीएल लाइब्रेरी का उपयोग समान उद्देश्यों के लिए किया जाता है। आईओएस के लिए, क्वार्ट्ज और ओपनजीएल ईएस लाइब्रेरी का उपयोग किया जाता है। लेकिन यह सब डेवलपर से छिपा हुआ है - वह इन पुस्तकालयों के बारे में सोचे बिना फायरमॉन्की प्लेटफॉर्म, इसके समन्वय प्रणाली और एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस का उपयोग करता है, और विभिन्न प्लेटफार्मों के लिए एक ही एप्लिकेशन को संकलित कर सकता है।

आइए याद रखें कि वीसीएल क्या है। वीसीएल विंडोज़ एपीआई के चारों ओर एक घटक आवरण है। हम संसाधनों, मेनू, संवाद बॉक्स, रंग, शैली, विंडोज संदेशों से निपटते हैं। मल्टी-प्लेटफ़ॉर्म रैपर होने के नाते, VCL के विपरीत, FireMonkey समान इवेंट और घटक मॉडल को बरकरार रखता है, जो आपको इवेंट के संदर्भ में सोचने की अनुमति देता है (उदाहरण के लिए, OnClick, OnHasFocus, onMouseDown, और onKeyDown इवेंट), लेकिन मैकिंटोश या iPhone इवेंट को संभालता है।

फ़ायरमॉन्की प्लेटफ़ॉर्म उपयोगकर्ता इंटरफ़ेस तत्वों के लिए एक संपूर्ण एनीमेशन सिस्टम के साथ भी आता है। यह निश्चित रूप से एक व्यापक पिक्सर-शैली एनीमेशन प्रणाली नहीं है, लेकिन यह एनीमेशन जैसे प्रभावों की अनुमति देता है रेखापुंज छवियाँ, उपयोगकर्ता इंटरफ़ेस तत्व के फोकस को उजागर करना और वेक्टर ग्राफिक्स के साथ काम करना। डेवलपर के लिए 50 से अधिक उपलब्ध हैं दृश्यात्मक प्रभाव: धुंधला करना, छवि को काले और सफेद में बदलना, विघटित करना, संक्रमण, प्रतिबिंब, छाया बनाना - आधुनिक ग्राफिक्स प्रोसेसर में उपलब्ध सभी प्रकार के प्रभाव, जो अब लगभग किसी भी कंप्यूटर में पाए जाते हैं। FireMonkey प्लेटफ़ॉर्म का उपयोग करके बनाया गया एक एप्लिकेशन GPU को कमांड भेजता है, जो ग्राफिक्स प्रदर्शित करने और उपयोगकर्ता इंटरफ़ेस बनाने का सारा काम करता है। इस मामले में, केंद्रीय प्रोसेसर ऑपरेटिंग सिस्टम पर गणना और कॉल के लिए निःशुल्क है। डेवलपर केवल घटकों को सही ढंग से रख सकता है।

FireMonkey प्लेटफ़ॉर्म के बारे में सबसे बुनियादी बात यह है कि यह उपयोगकर्ता इंटरफ़ेस कैसे बनाता है। मेनू, बटन और स्क्रॉल बार जैसे इंटरफ़ेस तत्वों पर रैस्टर ग्राफिक्स रखने के साधन हैं। FireMonkey में, हम इस उद्देश्य के लिए GPU-संचालित वेक्टर ग्राफिक्स का उपयोग करते हैं। प्रोग्रामिंग परिप्रेक्ष्य से, ये अभी भी वही नियंत्रण हैं, लेकिन ग्राफिक्स प्रोसेसर इन्हें प्रदर्शित करने का सारा काम करता है। हम शैलियों को नियंत्रणों पर लागू कर सकते हैं, एप्लिकेशन को मैक ओएस या विंडोज के लिए एक एप्लिकेशन की तरह बना सकते हैं, अपनी खुद की शैली बना सकते हैं, इंटरफ़ेस तत्वों पर अपनी खुद की शैलियों को लागू कर सकते हैं (उदाहरण के लिए, फॉर्म एडिटर में इसकी शैली को बदलकर एक बटन को आयताकार या गोल बना सकते हैं) ) - इसके लिए विकास परिवेश में एक शैली संपादक है। आप अपनी खुद की शैली बना सकते हैं, या पहले से तैयार एप्लिकेशन की शैली बदल सकते हैं।

फ़ायरमॉन्की प्लेटफ़ॉर्म - विकास उपकरण
और समर्थित प्लेटफ़ॉर्म

यदि आपको याद हो, वीसीएल लाइब्रेरी में सीमित संख्या में नियंत्रण थे - कंटेनर (अर्थात, आपको उनमें अन्य तत्व रखने की अनुमति मिलती है), और फायरमॉन्की में प्रत्येक नियंत्रण एक कंटेनर है। इसका मतलब यह है कि प्रत्येक नियंत्रण में कोई अन्य नियंत्रण हो सकता है। उदाहरण के लिए, ड्रॉपडाउन सूची आइटम में चित्र, बटन, संपादन फ़ील्ड और अन्य नियंत्रण शामिल हो सकते हैं। आप घटकों को परतों में भी रख सकते हैं.

FireMonkey रेंडरिंग सिस्टम काफी लचीला है - यह GPU को कमांड भेजकर Direct2D, Direct3D और OpenGL लाइब्रेरीज़ का उपयोग कर सकता है। वीसीएल में समान चीज़ हासिल करने के लिए, आपको एक अलग ऑफ-स्क्रीन बफर बनाना होगा, उपयुक्त ग्राफिक्स लाइब्रेरी फ़ंक्शंस को कॉल करके उसमें एक छवि बनानी होगी, और फिर इसे फॉर्म पर प्रदर्शित करना होगा।

फ़ायरमॉन्की द्वारा समर्थित ग्राफ़िक प्रभावों के उदाहरण

यदि आपके पास GPU नहीं है, तो भी आप 2D या 3D आकृतियाँ लागू कर सकते हैं और FireMonkey नियंत्रणों का उपयोग कर सकते हैं। इस मामले में, FireMonkey प्लेटफ़ॉर्म GDI+ लाइब्रेरी या अन्य समान लाइब्रेरी का उपयोग करेगा और 3D ऑब्जेक्ट के समान प्रभाव और एनिमेशन या हेरफेर करेगा।

FireMonkey की एक और विशेषता है नई प्रणालीइंटरफ़ेस तत्वों को डेटा से जोड़ना, खुला और लचीला। VCL में दो प्रकार के इंटरफ़ेस तत्व हैं: डेटा-बाउंड और गैर-डेटा-बाउंड (उदाहरण के लिए, TDBEdit और TEdit)। FireMonkey में, प्रत्येक नियंत्रण को किसी भी प्रकार के डेटा से जोड़ा जा सकता है। यह एक साधारण अभिव्यक्ति, डेटा सेट से एक फ़ील्ड, डेवलपर द्वारा निर्मित ऑब्जेक्ट से डेटा, या विधि कॉल के परिणाम हो सकते हैं।

इसके अलावा, एक एप्लिकेशन बनाते समय, आप इसमें एक तैयार 3डी मॉडल लोड कर सकते हैं और उसका उपयोग कर सकते हैं - ऐसी क्षमताओं की अक्सर व्यावसायिक अनुप्रयोगों और अनुप्रयोगों दोनों में आवश्यकता होती है इंजीनियरिंग गणना. हमारे पास एक ग्राहक है जो लॉजिस्टिक्स के लिए एप्लिकेशन बनाता है। वे थे सूचना प्रणाली, डेल्फ़ी का उपयोग करके बनाया गया, और इसमें - एक एप्लिकेशन जिसने एक योजना बनाई और डेटा स्रोतों से जानकारी प्रदर्शित की। उन्होंने हाल ही में कुछ दिलचस्प किया - उन्होंने ऑटोकैड में एक पूरी तरह से स्वचालित 3डी गोदाम बनाया, और उनका एप्लिकेशन आपको यह देखने की अनुमति देता है कि स्वचालित फोर्कलिफ्ट गोदाम के चारों ओर कैसे घूमता है और अलमारियों पर सामान कैसे रखता है। और वे स्रोतों से डेटा को संबंधित छवि पर डालते हैं।

अनुप्रयोग शैलियाँ बदलने के उदाहरण

केपी:वर्तमान में कौन से 3D मॉडल प्रारूप समर्थित हैं?

डि.:इस रिलीज़ में हम ऑटोकैड, कोलाडा (एक ओपन सोर्स 3डी मॉडलिंग टूल) से मॉडल लोड करने का समर्थन करते हैं। टिप्पणी संपादन करना.), माया, एक OBJ प्रारूप जो कई 3D ग्राफ़िक्स विक्रेताओं द्वारा समर्थित है।

केपी:आप अन्य कौन से प्रारूप जोड़ने की योजना बना रहे हैं?

डि.:हम 3DS (3D स्टूडियो MAX), SVG (आमतौर पर इस प्रारूप का उपयोग 2D वेक्टर ग्राफ़िक्स के लिए, लेकिन कभी-कभी 3D के लिए), Google स्केचअप को जोड़ने की योजना बना रहे हैं। शायद हम अन्य प्रारूपों का समर्थन करेंगे.

केपी:क्या FireMonkey के साथ निर्मित अनुप्रयोगों में 3D मॉडल का उपयोग करने के लिए उपयुक्त 3D मॉडलिंग टूल के लिए लाइसेंस की आवश्यकता होती है?

डि.:नहीं, इसकी आवश्यकता नहीं है. हम बस मॉडल फ़ाइल पढ़ते हैं। हम मॉडल आयात कर रहे हैं, लेकिन इसे निर्यात नहीं कर रहे हैं (हालांकि, निश्चित रूप से, आप एक एप्लिकेशन लिख सकते हैं जो मॉडल को आपके में सहेजता है) अपना प्रारूप). हम 3डी मॉडलिंग टूल के निर्माता होने का दावा नहीं करते हैं - इसके लिए आप ऑटोकैड, 3डी स्टूडियो मैक्स, माया या किसी अन्य 3डी मॉडलिंग टूल का उपयोग कर सकते हैं, और बनाए गए मॉडल को हमारे एप्लिकेशन में आयात कर सकते हैं।

केपी:आधुनिक हार्डवेयर प्लेटफ़ॉर्म पर FireMonkey के साथ बनाए गए एप्लिकेशन कितने प्रदर्शनशील हैं?

डि.:उत्पादकता काफी अधिक है. उदाहरण के लिए, तीन गोले और तीन प्रकाश स्रोतों के साथ एक 3D आकार प्रस्तुत करना मैकबुक प्रो 100 फ्रेम प्रति सेकंड की गति से किया जा सकता है। या यह 600 तक पहुंच सकता है - यह इस पर निर्भर करता है कि हम वास्तव में क्या कर रहे हैं। फिर, यह सब GPU की शक्ति पर निर्भर करता है।

केपी:क्या इसका मतलब यह है कि आप FireMonkey का उपयोग करके आधुनिक गेम बना सकते हैं?

डि.:हम अपने विकास टूल को गेम के टूल के रूप में नहीं रखते हैं। हालाँकि, उपयोग कर रहे हैं उच्च प्रदर्शनआधुनिक ग्राफिक्स प्रोसेसर, आप FireMonkey का उपयोग करके गेम बना सकते हैं - आखिरकार, वे Direct3D या OpenGL का उपयोग करके बनाए जाते हैं।

केपी:आप वर्तमान में हावभाव पहचान और अन्य नई चीज़ों के समर्थन के क्षेत्र में क्या काम कर रहे हैं? क्या ऐसी सहायता उपलब्ध है?

डि.:इस रिलीज़ में अभी तक हमारे पास जेस्चर समर्थन नहीं है। फ़ायरमॉन्की के भविष्य के रिलीज़ में जेस्चर नियंत्रण जोड़े जाएंगे, लेकिन इस बीच आप ऑपरेटिंग सिस्टम में निर्मित जेस्चर समर्थन का उपयोग कर सकते हैं।

मिखाइल फ़िलिपेंको, फ़ास्ट रिपोर्ट्स, इंक. के निदेशक।

के.आर.:हम पहले ही कह चुके हैं कि फायरमॉन्की तकनीक की जड़ें रूसी हैं - इसकी नींव हमारे देश में बनाई गई थी, और फिर तकनीक और इसके डेवलपर्स दोनों ही एम्बरकेडेरो में शामिल हो गए। सामान्य तौर पर, आरएडी स्टूडियो और डेल्फ़ी में रूसी घटक की वृद्धि देखकर संतुष्टि होती है। इसमें सेंट पीटर्सबर्ग में हमारे विकास केंद्र की गतिविधियां और स्वतंत्र रूसी डेवलपर्स का योगदान शामिल है। उदाहरण के लिए, रैड स्टूडियो XE2 में फास्टरिपोर्ट रिपोर्ट जनरेटर शामिल है - जो पूरी दुनिया में जाना जाता है और हमारे देश में बहुत लोकप्रिय है। वह मूल रूप से रोस्तोव-ऑन-डॉन का रहने वाला है।

केपी:मैं कंपाइलर्स के बारे में बात करना चाहूंगा। iOS एप्लिकेशन बनाते समय किस प्रकार के कंपाइलर का उपयोग किया जाता है?

डि.:हमारे पास iPhone या iPad के लिए अपना स्वयं का डेल्फ़ी कंपाइलर नहीं है - हमने अभी तक उन उपकरणों में उपयोग किए जाने वाले ARM प्रोसेसर के लिए कंपाइलर विकसित नहीं किया है। iOS के लिए, हम अस्थायी रूप से फ्री पास्कल कंपाइलर और रनटाइम लाइब्रेरी का उपयोग करते हैं। लेकिन हम AWP प्रोसेसर सहित अगली पीढ़ी के कंपाइलरों पर काम कर रहे हैं। लेकिन विंडोज़ और मैक ओएस के लिए कंपाइलर हैं, क्योंकि दोनों हार्डवेयर प्लेटफ़ॉर्म इंटेल प्रोसेसर पर आधारित हैं।

केपी:पिछले दो वर्षों में कंपाइलर बनाने के क्षेत्र में क्या किया गया है?

डि.:हमारे पास विंडोज़ और मैक ओएस के लिए 32- और 64-बिट डेल्फ़ी कंपाइलर हैं। और हम डेल्फ़ी और C++ कंपाइलरों की एक नई पीढ़ी पर काम कर रहे हैं। इन पर अभी भी काम चल रहा है, लेकिन जब ये पूरे हो जाएंगे तो हमारे पास एआरएम प्रोसेसर के लिए डेल्फ़ी कंपाइलर होंगे, एंड्रॉइड प्लेटफॉर्म, लिनक्स और कुछ भी। और हमारे पास विंडोज और अन्य प्लेटफार्मों के लिए 64-बिट सी++ कंपाइलर होंगे, जो आईएसओ द्वारा अपनाए गए नवीनतम सी++ भाषा मानक के साथ संगत होंगे।

केपी:आज Embarcadero विकास टूल में क्लाउड कंप्यूटिंग समर्थन के साथ क्या हो रहा है?

डि.: RAD स्टूडियो XE 2 में, हम प्लेटफ़ॉर्म असिस्टेंट का उपयोग करके एप्लिकेशन को Microsoft Azure या Amazon EC2 क्लाउड पर ले जाने का समर्थन करते हैं। और हमारे पास टेबल, बाइनरी डेटा, संदेश कतारों को संग्रहीत करने के लिए Azure और Amazon S3 के लिए क्लाउड स्टोरेज के लिए सर्वर घटक हैं। में पिछला संस्करणआरएडी स्टूडियो एक्सई के साथ, हमने अमेज़ॅन ईसी2 पर एप्लिकेशन तैनात करने का भी समर्थन किया, लेकिन इसमें स्टोरेज समर्थन का अभाव था।

RAD स्टूडियो XE 2 में क्लाउड कंप्यूटिंग समर्थन

केपी:दो साल पहले आपने नए ऑल-एक्सेस समाधान के बारे में बात की थी। यह कितना लोकप्रिय था? इसके क्या फायदे हैं सिस्टम इंटीग्रेटर्सऔर डेवलपर्स?

डि.:ऑल-एक्सेस समाधान और ऐपवेव क्लाउड टूल दुनिया भर में व्यापक रूप से उपयोग किए जाते हैं। वे हमारे अपने और तीसरे पक्ष के एप्लिकेशन का उपयोग करना आसान बनाने के लिए डिज़ाइन किए गए हैं। यह अनिवार्य रूप से लाइसेंस और एप्लिकेशन उपयोग के प्रबंधन के लिए एक समाधान है, और बड़ी कंपनियों के लिए सुविधाजनक है। छोटी कंपनियाँ जिनके पास अनुप्रयोगों के प्रबंधन के लिए जिम्मेदार लोगों की समर्पित टीमें नहीं हैं, वे एप्लिकेशन को रिपॉजिटरी में डाल सकती हैं, डेटाबेस से उपयोगकर्ता नाम चुन सकती हैं, और उन एप्लिकेशन को यह याद किए बिना उपलब्ध करा सकती हैं कि कहां। लाइसेंस कुंजीऔर कितने लाइसेंस उपलब्ध हैं. ऑल-एक्सेस और ऐपवेव ब्राउज़र को वर्जनिंग और एक्सेस कंट्रोल दोनों को प्रबंधित करने के लिए डिज़ाइन किया गया है।

के.आर.:बाज़ार इतना विविध है और उपयोगकर्ता इतने भिन्न हैं कि सभी ज़रूरतों को एक समाधान से पूरा करना असंभव है। इसीलिए हम विविध पैकेजिंग समाधानों के लिए प्रयास करते हैं। हमने लाइसेंसिंग, लाइसेंस प्रबंधन और उत्पाद स्थापना के तरीकों को एकीकृत करने के लिए बहुत काम किया है। समाधानों की इस श्रृंखला में न केवल Embarcadero उत्पादों के लिए, बल्कि आंतरिक कंपनी के विकास सहित किसी भी अन्य उत्पाद के लिए लाइसेंस और प्रावधान प्रबंधन उपकरण शामिल हैं।

उपयोगकर्ताओं के लिए प्रभावी किटों में पैकेजिंग विकास टूल पर काम अभी भी जारी है। हमारे पास ऑल-एक्सेस है - एक सुपरसेट जो सभी एम्बरकेडेरो उत्पादों को जोड़ता है। यदि कोई ग्राहक ऑल-एक्सेस प्लैटिनम खरीदता है, तो उन्हें एम्बरकैडेरो में मिलने वाले सभी उपकरण प्राप्त होते हैं। लेकिन कभी-कभी यह सेट अनावश्यक हो जाता है, उदाहरण के लिए, डेटाबेस विशेषज्ञों के लिए, हमने दो अन्य सेट बनाए हैं - डीबी पावर स्टूडियो डेवलपर संस्करण और डीबी पावर स्टूडियो डीबीए संस्करण। उनके बीच अंतर यह है कि डेवलपर के लिए हम रैपिडएसक्यूएल - सर्वर कोड विकसित करने के लिए एक उपकरण, और व्यवस्थापक के लिए अंतर्निहित डीबीआर्टिज़न - एक डेटाबेस प्रशासन उपकरण, रैपिडएसक्यूएल की तुलना में एक व्यापक उत्पाद प्रदान करते हैं। पेशेवरों के लिए, हमारे पास निम्नलिखित ऑल-एक्सेस सुइट्स हैं: एक सुइट जिसमें सभी उत्पाद शामिल हैं, डेवलपर्स के लिए डीबी पावर स्टूडियो, प्रशासकों के लिए डीबी पावर स्टूडियो, आर्किटेक्ट्स और मॉडलिंग में शामिल किसी भी व्यक्ति के लिए ईआर स्टूडियो एंटरप्राइज संस्करण। अनुप्रयोग विकास और प्रशासकों के लिए संयोजन हैं। डेल्फ़ी एक डेवलपर का टूल है, और इसमें SQL डेवलपमेंट और ऑप्टिमाइज़ेशन टूल जोड़ना बहुत मायने रखता है। अंत में, डीबी चेंज मैनेजर उनके जीवन चक्र के दौरान डेटाबेस में होने वाले परिवर्तनों की जटिलता को प्रबंधित करने के लिए एक तार्किक उपकरण है।

इस प्रकार, ऑल-एक्सेस विभिन्न उत्पाद सेटों के एक बड़े परिवार का मुखिया है।

केपी:यदि यह कोई रहस्य नहीं है, तो रूस में ऑल-एक्सेस का उपयोग कौन करता है?

के.आर.:हमारे पास ऐसे ग्राहक हैं जिन्होंने डेल्फ़ी पर आधारित ऑल-एक्सेस खरीदा है। उनमें से कई जटिल क्लाइंट-सर्वर सिस्टम बनाते हैं एस क्यू एल सर्वरऔर Oracle, और उन्हें तुरंत हमारा क्रॉस-प्लेटफ़ॉर्म डेटाबेस टूल पसंद आया। हमारी एक ग्राहक कंपनी है जो पहले संस्करण से डेल्फ़ी का उपयोग कर रही है, और एक साल पहले उन्होंने डेल्फ़ी का उपयोग छोड़कर ऑल-एक्सेस सुइट का उपयोग करना शुरू कर दिया था। दो उपकरण जिनका उपयोग इस कंपनी के सभी डेवलपर्स को करने की गारंटी है, वे हैं डेल्फ़ी और डीबीआर्टिसन। और ऐसे ग्राहक हैं जो डेटाबेस की ओर से ऑल-एक्सेस में आए थे। उनका मुख्य कार्य डेटाबेस का प्रबंधन करना है, लेकिन वे कभी-कभी एप्लिकेशन भी विकसित करते हैं। ऑल-एक्सेस का उपयोग करने वाले ग्राहकों में मीडिया कंपनियां, इंजीनियरिंग कंपनियां और अन्य उद्योग शामिल हैं।

अलग से, मैं छोटी कंपनियों पर ध्यान केंद्रित करना चाहूंगा। अक्सर छोटी टीमों में डेवलपर सब कुछ करता है, और ऐसी कंपनी कभी-कभी एक या दो डेवलपर्स के लिए बड़े ऑल-एक्सेस उत्पाद सेट खरीदती है। बड़ी टीमों में, किसी डेवलपर को डेटाबेस प्रशासक की भूमिका निभाने के लिए भी प्रोत्साहित नहीं किया जाता है, इसलिए छोटे उत्पाद सेट आमतौर पर वहां लोकप्रिय होते हैं, लेकिन छोटी कंपनियों में जिम्मेदारियों का ऐसा संयोजन काफी स्वीकार्य है।

डेल्फ़ी आर्किटेक्ट एक भारी विपणन वाला उत्पाद है जिसमें मॉडलिंग और प्रोग्रामिंग टूल शामिल हैं। हालाँकि, बेची गई प्रतियों की संख्या डेल्फ़ी एंटरप्राइज संस्करण से कम है, लेकिन यह बड़ी भी है। मैं यह नोट करना चाहूंगा कि 2010 में हम बिक्री की मात्रा के मामले में सबसे अच्छे देश बन गए, इस तथ्य के बावजूद कि सभी देशों ने संकट का अनुभव किया। यह वृद्धि आर्थिक कारकों से नहीं, बल्कि इस तथ्य से जुड़ी थी कि 2009 के अंत में जारी आरएडी स्टूडियो एक्सई का संस्करण बहुत लोकप्रिय हुआ। और फिलहाल हम आगे बिक्री वृद्धि की उम्मीद करते हैं।

हमने एक और उचित कदम उठाया है, जो रूस में बेहद लोकप्रिय है। वैधीकरण की डिग्री विभिन्न संस्करणहमारे उत्पाद अलग-अलग हैं: संस्करण जितना अधिक होगा, यह उतना ही अधिक वैध होगा, क्योंकि पहले सॉफ़्टवेयरइतनी सक्रियता से नहीं खरीदा गया। आरएडी स्टूडियो एक्सई से शुरू होकर, लाइसेंस में संस्करण 2010, 2009, 2007 और यहां तक ​​कि डेल्फ़ी 7 भी शामिल है, जो व्यापक रूप से उपयोग किया जाने वाला उत्पाद है।

आज, डेवलपर्स को इस तथ्य का सामना करना पड़ रहा है कि उनके पास समर्थन में नई परियोजनाएं और परियोजनाएं दोनों हैं। से बड़ी संख्या में परियोजनाएं स्थानांतरित की गई हैं पूर्व संस्करणडेल्फ़ी संस्करण 7 तक और अपेक्षाकृत छोटे संसाधनों पर काम करना जारी रखते हुए, इस संस्करण के भीतर ही बना हुआ है। कोई भी उन्हें नए संस्करणों में नहीं ले जा रहा है, लेकिन उन्हें व्यवहार्य स्थिति में बनाए रखा गया है। और अब हम आपको कम पैसे में (डेल्फ़ी 7 लाइसेंस की कीमत से कम) आरएडी स्टूडियो एक्सई और डेल्फ़ी 7 दोनों प्राप्त करने की अनुमति देते हैं - यानी, हम नई परियोजनाओं के कार्यान्वयन और समर्थन परियोजनाओं दोनों के लिए डेवलपर को वैध बनाते हैं।

केपी:आप एम्बरकेडेरो समुदाय की वर्तमान स्थिति का आकलन कैसे करते हैं?

डि.:यह समुदाय बड़ा और बहुत मांग वाला है। उन्हें हर चीज़ तुरंत चाहिए - वे डेवलपर हैं। लेकिन कभी-कभी कुछ सही करने में काफी समय लग जाता है।

कुछ साल पहले, हमने विंडोज़ घटक आर्किटेक्चर लिया और इसे लिनक्स डेस्कटॉप पर रखा। अब हम देखते हैं कि यह सर्वोत्तम निर्णय नहीं था। सही समाधान- अनुप्रयोगों के लिए एक मंच बनाएं। सभी प्लेटफ़ॉर्म पर भी एप्लिकेशन में मेनू, विंडो, ग्राफ़िक्स, नेटवर्क एक्सेस और डिवाइस एक्सेस होते हैं। अलग-अलग प्लेटफ़ॉर्म हो सकते हैं विभिन्न मॉडलप्रवाह नियंत्रण या अपवाद प्रबंधन, लेकिन एप्लिकेशन कोड में हम वही प्रयास ब्लॉक देखते हैं। हमारा काम डेवलपर्स के लिए व्यावसायिक एप्लिकेशन बनाना और उन्हें उन प्लेटफ़ॉर्म के लिए संकलित करना आसान बनाना है, जिन पर उनका उपयोग किया जाना है, भले ही संबंधित प्रोसेसर का निर्देश सेट कैसे संरचित हो और इन प्लेटफ़ॉर्म की अन्य विशेषताएं क्या हों। और FireMonkey बिल्कुल वही है जो आपको इस समस्या को हल करने के लिए चाहिए।

केपी:यदि कोई कंपनी एक नया उपकरण बनाती है और चाहती है कि वह FireMonkey में समर्थित हो, तो क्या यह संभव होगा?

डि.:कंपाइलरों की नई पीढ़ी के साथ, जिसमें एक प्लेटफ़ॉर्म-स्वतंत्र फ्रंट-एंड और एक प्लेटफ़ॉर्म-निर्भर बैक-एंड होगा, यह काफी संभव होगा। इस बीच, प्रत्येक ऑपरेटिंग सिस्टम के लिए, हम स्क्रैच से एक कंपाइलर और रनटाइम लाइब्रेरी बनाते हैं।

किसी भी आधुनिक नए उपकरण में आमतौर पर एक ग्राफिकल यूजर इंटरफेस होता है (उनमें से कई में होता है)। डुअल कोर प्रोसेसरऔर जीपीयू) और डेवलपर्स के लिए मानक एसडीके। इससे FireMonkey में डिवाइस सपोर्ट बनाना आसान हो जाता है। यदि नए डिवाइस में केवल क्वार्ट्ज जैसे द्वि-आयामी ग्राफिक्स के लिए लाइब्रेरी हैं, तो हम फायरमॉन्की में ऐसे डिवाइस का समर्थन करने में सक्षम होंगे, लेकिन इसमें लगभग कई महीने लगेंगे। हालाँकि, बहुत कुछ प्लेटफ़ॉर्म पर निर्भर करता है: सभी प्लेटफ़ॉर्म सभी सुविधाओं का समर्थन नहीं करते हैं, उदाहरण के लिए, iOS में मेनू और डायलॉग बॉक्स नहीं होते हैं और आप ऐसे एप्लिकेशन के प्रपत्रों पर संबंधित घटकों को रखने में सक्षम नहीं होंगे।

केपी:क्या साझेदारों के साथ काम करने की नीति में कुछ बदलाव आया है? आपके उत्पादों के उपयोगकर्ताओं की हिस्सेदारी बढ़ाने के लिए क्या किया जा रहा है? रूस में क्या किया जा रहा है?

डि.:हमारा साझेदार पारिस्थितिकी तंत्र व्यापक है - हमारे उत्पादों में नहीं पाए जाने वाले उपकरणों और घटकों के सैकड़ों निर्माता हैं, और हमारे पास एक प्रौद्योगिकी साझेदारी कार्यक्रम है। इसलिए, डेवलपर्स के लिए घटकों, प्रौद्योगिकियों और उपकरणों की एक विस्तृत श्रृंखला उपलब्ध है। और वे अपने ग्राहकों के लिए जो समाधान बनाते हैं, वे केवल हमारे उत्पादों का उपयोग करने की तुलना में बेहतर होते हैं। और बिक्री के लिए हमारे पास कई देशों में कार्यालय, पुनर्विक्रेता और वितरक हैं।

के.आर.:हमारे लिए जो महत्वपूर्ण है वह भागीदारों की संख्या नहीं है, बल्कि प्रत्येक विशिष्ट भागीदार के कार्य की गुणवत्ता है। फिलहाल, हम मौजूदा साझेदारों के साथ मिलकर काम करने पर ध्यान केंद्रित करना चाहते हैं, हालांकि साझेदारों का समूह खुला है। हमारे कई साझेदार हैं और हमें प्रौद्योगिकी के मामले में उनकी मदद करनी चाहिए। हम डेवलपर्स के साथ काम करते हैं, और वे जानते हैं कि वे क्या चाहते हैं, और वे जानते हैं कि बाजार में क्या उपलब्ध है, और भागीदारों की क्षमताओं को इससे मेल खाना चाहिए।

हमारे पास व्यवसायिक भागीदार हैं जिन्होंने एक व्यवसायिक लाइन के रूप में एम्बरकेडेरो में गंभीरता से निवेश किया है - उनके पास प्रशिक्षित विशेषज्ञ हैं, जो हमारे उत्पादों का विपणन करते हैं, इस लाइन के लिए जिम्मेदार समर्पित कर्मचारी हैं और हमारे उत्पादों, मूल्य सूची, विपणन के साथ क्या हो रहा है इसकी निगरानी करते हैं। स्वाभाविक रूप से, वे हमारे उत्पादों की बिक्री के मामले में उन कंपनियों की तुलना में अधिक सफल हैं जो कभी-कभार हमारे उत्पाद बेचते हैं।

केपी:डेविड, किरिल, दिलचस्प साक्षात्कार के लिए आपका बहुत-बहुत धन्यवाद। मैं, हमारे प्रकाशन और हमारे पाठकों की ओर से, आपकी कंपनी को आपके अद्भुत उपकरण बनाने में और सफलता की कामना करता हूं जिनकी डेवलपर्स को बहुत आवश्यकता है!

नतालिया एल्मानोवा द्वारा पूछे गए प्रश्न

फायरमंकी क्या है?


फायरमॉन्की (एफएमएक्स) डेल्फी/सी++ भाषा का उपयोग करते हुए डेस्कटॉप सिस्टम (निकट भविष्य में विंडोज, मैक ओएस + लिनक्स पर सर्वर समर्थन की योजना बनाई गई है) और मोबाइल (आईओएस और एंड्रॉइड) दोनों के लिए क्रॉस-प्लेटफॉर्म विकास के लिए एक ढांचा है।

ख़ासियतें:

  • सभी प्लेटफार्मों के लिए एकल कोड आधार;

  • कोई भी नियंत्रण (दृश्य घटक) अन्य घटकों के लिए एक कंटेनर (मूल) हो सकता है;

  • प्रपत्र पर घटकों की बहुत उन्नत सापेक्ष व्यवस्था (20 प्रकार) की उपस्थिति;

  • लाइवबाइंडिंग आपको किसी भी प्रकार के डेटा या जानकारी को किसी भी यूजर इंटरफेस या ग्राफिकल ऑब्जेक्ट से कनेक्ट करने की अनुमति देता है;

  • प्रपत्र/घटक शैलियों की उपस्थिति;

  • मल्टी-डिवाइस पूर्वावलोकन आपको प्रत्येक प्लेटफ़ॉर्म के लिए दृश्य प्रस्तुति को अनुकूलित करने की अनुमति देता है;

  • फायरयूआई लाइव पूर्वावलोकन - वास्तविक समय में वास्तविक उपकरणों पर एप्लिकेशन की उपस्थिति प्रदर्शित करता है।

सम्भावनाएँ:

  • प्रत्येक प्लेटफ़ॉर्म के मूल एपीआई का उपयोग, साथ ही तृतीय-पक्ष देशी पुस्तकालयों को कॉल करने की क्षमता;

  • सभी सेंसर (जीपीएस, एक्सेलेरोमीटर, कंपास, ब्लूटूथ (एलई सहित) और अन्य) के साथ बातचीत;

  • पुश सूचनाओं, IoT के लिए समर्थन;

  • अतुल्यकालिक HTTP अनुरोधों के लिए समर्थन;

  • अधिकांश डेटाबेस के लिए समर्थन (MsSQL, MySql, Oracle, PostgreSQL, MongoDB, आदि);

  • क्लाउड सेवा (अमेज़ॅन, एज़्योर) के साथ काम करना;

  • एंड्रॉइड सेवा समर्थन।

विपक्ष (वर्तमान में):

  • देशी कक्षाओं को अनुकूलित करने के लिए समर्थन की कमी;

  • विशिष्ट चीजों का कार्यान्वयन या तो असंभव है (विजेट, एक्सटेंशन (आईओएस), आदि) या टैम्बोरिन के साथ नृत्य की आवश्यकता है (पृष्ठभूमि सेवा, प्रसारण संदेश, आदि);

  • स्पलैश स्क्रीन (प्रारंभिक स्क्रीन) के अनुकूलन, इसे हल्के ढंग से कहें तो, कमी है;

  • एफएमएक्स नियंत्रण अपने स्वयं के प्रतिपादन (विज़ुअलाइज़ेशन, ड्राइंग) का उपयोग करते हैं, जो मूल रूप से मूल रूप से समान है;

  • देशी नियंत्रणों के उपयोग में शरीर की बड़ी गतिविधियाँ शामिल होती हैं;

  • जब घटकों की बहुत अधिक संख्या में नेस्टिंग होती है, तो अविश्वसनीय चीजें घटित होती हैं: एप्लिकेशन विभिन्न स्थानों पर क्रैश हो जाता है, फोकस खो देता है, फ़्रीज हो जाता है, आदि;

  • मोबाइल प्लेटफ़ॉर्म पर किसी एप्लिकेशन को डिबग करने की सूचना सामग्री शून्य है;

  • मोबाइल प्लेटफ़ॉर्म पर त्रुटियों का विवरण बेकार "त्रुटि 0x00000X" तक कम हो गया है;

  • मध्यम और बड़ी परियोजनाओं के लिए संकलन समय सर्वोत्तम होना चाहता है;

  • प्रत्येक प्लेटफ़ॉर्म के लिए मोबाइल एप्लिकेशन को बेहतर बनाने के लिए एक फ़ाइल का उपयोग करने की आवश्यकता;

  • इंटेल एटम आर्किटेक्चर के लिए कोई समर्थन नहीं;

  • प्रतिस्पर्धियों की तुलना में अपर्याप्त कीमत।

पेशेवर:

  • हाल ही में उत्पाद और समुदाय दोनों का बहुत सक्रिय विकास, अधिक से अधिक नई प्रौद्योगिकियों के लिए समर्थन;

  • बड़ी संख्या में मुफ़्त और व्यावसायिक घटकों की उपस्थिति;

  • एप्लिकेशन की गति मूल के बहुत करीब है;

  • सामान्य रूप से बहुत उन्नत दृश्य संपादक और वातावरण, शैलियों की उपस्थिति;

  • विन पर किसी एप्लिकेशन का परीक्षण करने और उसके बाद ही इसे उपकरणों पर तैनात करने की क्षमता, जो विकास को बहुत गति देती है;

  • कलाई के एक झटके से मोड/प्लेटफ़ॉर्म बदलें;

  • Apple OS के लिए विकास करते समय PAServer MacOs के साथ आसान इंटरैक्शन प्रदान करता है;

  • बॉक्स से बाहर 3डी ग्राफ़िक्स समर्थन।

अंत में, मैं यह कहना चाहता हूं कि पिछले कुछ वर्षों में फायरमंकी व्यावसायिक अनुप्रयोगों और अन्य के क्रॉस-प्लेटफॉर्म विकास के लिए एक पेशेवर उपकरण के रूप में विकसित हुआ है। कई कमियों को धीरे-धीरे दूर किया जा रहा है और प्रत्येक रिलीज के साथ उत्पाद अधिक आधुनिक और आत्मनिर्भर हो जाता है, और कई वर्षों के ठहराव से जुड़ी डेल्फ़ी भाषा के प्रति मौजूदा संदेह भी गायब हो जाता है। FireMonkey में नए प्रोजेक्ट लिखना "सुरक्षित" और आशाजनक है।



मित्रों को बताओ