उद्देश्य-सी विकास: आरंभ बिल्डिंग मैक और आईओएस ऐप

प्रकटीकरण: आपका समर्थन साइट को चालू रखने में मदद करता है! हम इस पृष्ठ पर हमारे द्वारा सुझाई गई कुछ सेवाओं के लिए एक रेफरल शुल्क कमाते हैं.


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

Contents

उद्देश्य-सी का संक्षिप्त इतिहास

ऑब्जेक्टिव-सी का आविष्कार 1980 के दशक की शुरुआत में सी। के लिए ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्षमताओं को जोड़ने के लिए किया गया था। आविष्कारकों, ब्रैड कॉक्स और टॉम लव ने सोचा था कि स्मॉलटाक (एक प्रारंभिक ओओ भाषा) वास्तव में पुन: प्रयोज्य कोड के लिए आवश्यक उपकरण प्रदान कर सकता है। और सिस्टम डेवलपर्स के लिए विकास वातावरण बनाने के लिए.

Cox ने C के लिए एक प्री-प्रोसेसर लिखकर शुरू किया जो कि स्मॉलटाक-जैसे कोड को शामिल करने की अनुमति देता है, जिसे तब कंपाइलेबल सी में प्रदान किया जाएगा। यह पूरी तरह से ऑब्जेक्ट-ओरिएंटेड C एक्सटेंशन में बदल गया।.

उद्देश्य-सी को अंततः ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग: एन एवोल्यूशनरी अप्रोच नामक पुस्तक में पूरी तरह से परिभाषित और वर्णित किया गया था.

1988 में NeXT ने Objective-C को लाइसेंस दिया और इसके आधार पर कई उपकरण विकसित किए। ये उपकरण अंततः (कई मध्यवर्ती चरणों के बाद) कोको विकास पर्यावरण बन गए, जिसका उपयोग कई एप्पल सिस्टम द्वारा किया जाता है:

  • मैक ओएस एक्स

  • आईओएस

  • Apple WatchOS

कई वर्षों से, इन ऐप्पल ऑपरेटिंग सिस्टमों में से किसी एक के लिए लिखे गए ऐप को ऑब्जेक्टिव-सी लिखा (या संकलित या शीर्ष पर चलाना) आवश्यक है। यह स्थिति अब बदल रही है क्योंकि Apple अपने प्लेटफॉर्म को स्विफ्ट में स्थानांतरित कर रहा है.

कोको के अलावा, ऑब्जेक्टिव-सी का उपयोग जीएनयूस्टेप प्लेटफॉर्म में भी किया जाता है, जो लिनक्स, यूनिक्स, बीएसडी और विंडोज वातावरण पर चल सकता है, और जो कोको को बारीकी से दिखाता है।.

ऑब्जेक्टिव-सी भाषा के बारे में

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

संदेश

C ++ सहित अधिकांश ऑब्जेक्ट ओरिएंटेड भाषाओं में, किसी ऑब्जेक्ट पर एक विधि को कॉल करके फ़ंक्शन को लागू किया जाता है। आह्वान की यह पद्धति पहली वस्तु ओरिएंटेड भाषा सिमूला से प्राप्त होती है.

किसी फ़ंक्शन को लागू करने के लिए ऑब्जेक्टिव-सी का सिंटैक्स स्मॉलटाकल से आता है, जहां किसी वस्तु को संदेश दिया जाता है.

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

डायनामिक टाइपिंग

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

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

श्रेणियाँ

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

यह सुविधा बड़े, जटिल कोड बेस के रखरखाव और विस्तार को आसान बनाती है.

ऑनलाइन उद्देश्य-सी संसाधन

नीचे उद्देश्य-सी सीखने और उपयोग करने में आपकी सहायता के लिए संसाधन हैं। उन्हें अलग-अलग श्रेणियों में विभाजित किया जाता है ताकि आप अधिक आसानी से उस जानकारी को पा सकें जो आप खोज रहे हैं – चाहे प्रोग्रामिंग मूल बातें या उन्नत शिक्षा या उद्देश्य-सी उपकरण.

उद्देश्य-सी ट्यूटोरियल और परिचय सामग्री

ये दस्तावेज़ आपको एक उद्देश्य-सी प्रोग्रामर के रूप में शुरू करेंगे – भले ही आप भाषा के साथ कोई अनुभव न करें। तो अगर आप अभी शुरुआत कर रहे हैं, तो यह वह जगह है जहाँ आपको शुरू करना चाहिए.

  • उद्देश्य-सी का परिचय – ऐप्पल से ऑब्जेक्टिव-सी का अवलोकन.

  • उद्देश्य-सी परिचय – उच्च प्रदर्शन गणित के साथ शामिल एक डेवलपर से, उद्देश्य-सी और ओपनस्टेप मंच का एक मूल अवलोकन.

  • कोको और कोको टच के लिए बुनियादी प्रोग्रामिंग अवधारणाओं – कोको पर्यावरण का परिचय.

  • कोको के लिए कोडिंग दिशानिर्देशों का परिचय – कोको एपीआई पर सामान्य जानकारी, जो उद्देश्य-सी का उपयोग करता है.

  • ऑब्जेक्टिव-सी के लिए डॉक्यूमेंटेशन लिखना – ऑब्जेक्टिव-सी डॉक्यूमेंटेशन के लिए NSHipster गाइड। (अर्थात, कोड के बारे में लिखा गया दस्तावेज, भाषा के बारे में नहीं।)

  • द बिगिनर टू गाइड टू ऑब्जेक्टिव-सी: लैंग्वेज एंड वैरिएबल्स – ट्रीहाउस का एक शुरुआती ऑब्जेक्टिव-सी ट्यूटोरियल.

  • ऑब्जेक्टिव-सी का प्रयास करें – कोड स्कूल से ऑब्जेक्टिव-सी पर एक नि: शुल्क, पांच-भाग वर्ग.

  • 24 दिनों में उद्देश्य सी जानें – Feifan झोउ से, उद्देश्य सी पर एक विशाल, 24-भाग पाठ्यक्रम। (यह भी देखें बिन-पर उद्देश्य-सी ट्यूटोरियल की पूरी सूची।)

  • ऑब्जेक्टिव-सी सीखें – टट्स से एक और मल्टी-पार्ट ऑब्जेक्टिव-सी कोर्स+.

  • कोको देव सेंट्रल – उद्देश्य-सी पर एक सचित्र ट्यूटोरियल.

  • Ry का उद्देश्य-सी ट्यूटोरियल – एक संक्षिप्त त्वरित संदर्भ और भाषा के लिए नए लोगों के लिए एक व्यापक परिचय.

  • उद्देश्य-सी ट्यूटोरियल – ट्यूटोरियलस्पेस से एक सभ्य (अद्भुत नहीं) ट्यूटोरियल.

उद्देश्य-सी उपकरण

निम्नलिखित उद्देश्य-सी उपकरण कोडिंग को आसान और अधिक शक्तिशाली बना देंगे। Apple डेवलपर नेटवर्क में उपलब्ध ऑब्जेक्टिव-सी टूल के साथ यह विशेष रूप से सही है, जिसकी लागत प्रति वर्ष $ 99 है, लेकिन इसके लिए गैर जरूरी है.

  • मैक के लिए लिस्पवर्क्स – में उद्देश्य-सी कक्षाएं और कॉल विधियों को बनाने के लिए एक एपीआई शामिल है – अधिक विवरण के लिए लिस्पवर्क्स ऑब्जेक्टिव-सी और कोको उपयोगकर्ता गाइड और संदर्भ मैनुअल देखें.

  • उद्देश्य-सी संपादक – एक संपादक की तुलना में अधिक एकीकृत विकास वातावरण, यह आपको हमारे सभी काम एक ही स्थान पर करने की अनुमति देता है.

  • Apple डेवलपर नेटवर्क – हालांकि एक उपकरण ही नहीं है, Apple Developer Network Xcode IDE और फाउंडेशन फ्रेमवर्क जैसे कई बेहतरीन ऑब्जेक्टिव-सी टूल्स तक पहुंच प्रदान करता है।.

  • कोडबीट – वेब और मोबाइल विकास पर ध्यान देने के साथ अपने कोड को बेहतर बनाने में मदद करने के लिए एक विश्लेषण प्रणाली.

संदर्भ

निम्नलिखित दस्तावेज़ कोड स्निपेट, धोखा पत्र और हाइपरटेक्स्ट दस्तावेज़ प्रदान करते हैं ताकि उद्देश्य-सी कोडिंग आसान हो सके.

  • ऑब्जेक्टिव-सी चीट शीट – ऑब्जेक्टिव-सी में सामान्य, उच्च स्तरीय विषयों के लिए क्विक रेफरेंस चीट शीट.

  • NSHipster Fake Book – iOS और MacOS X डेवलपर्स के लिए 200 से अधिक ऑब्जेक्टिव-सी लिक्स.

  • उद्देश्य-सी रनटाइम संदर्भ – Apple से, सभी के बारे में OS X ऑब्जेक्टिव-सी 2.0 रनटाइम लाइब्रेरी समर्थन कार्यों और डेटा संरचनाओं.

  • ऑब्जेक्टिव-सी चीट शीट और क्विक रेफरेंस – एक पेज पीडीएफ जिसमें सामान्य ऑब्जेक्टिव-सी मुद्दों को कवर किया गया है। अपनी देव मशीन के बगल में दीवार पर लटकाने के लिए बढ़िया है.

प्रकाशक

यहां प्रकाशकों के एक जोड़े हैं जो उद्देश्य-सी प्रोग्रामर के लिए रुचि की सामग्री बनाते हैं.

  • Objc.io – objc.io iOS और OS X विकास के लिए उन्नत तकनीकों और प्रथाओं पर पुस्तकें प्रकाशित करता है.

  • NSHipster – ऑब्जेक्टिव-सी, स्विफ्ट और कोको में अनदेखी बिट्स की एक पत्रिका.

उद्देश्य-सी के बारे में पुस्तकें

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

परिचयात्मक पुस्तकें

  • ऑब्जेक्टिव-सी प्रोग्रामिंग: द बिग नर्ड रेंच गाइड

  • ऑब्जेक्टिव-सी में प्रोग्रामिंग

  • Ry का उद्देश्य-सी ट्यूटोरियल

  • उद्देश्य-सी प्रोग्रामिंग नट और बोल्ट

उन्नत पुस्तकें

  • प्रभावी उद्देश्य-सी 2.0: 52 आपके आईओएस और ओएस एक्स कार्यक्रमों को बेहतर बनाने के विशिष्ट तरीके

  • प्रो ऑब्जेक्टिव-सी

  • आईओएस के लिए प्रो ऑब्जेक्टिव-सी डिजाइन पैटर्न

सन्दर्भ पुसतक

  • उद्देश्य-सी पॉकेट संदर्भ

  • ऑब्जेक्टिव-सी क्विक सिंटैक्स रेफरेंस

स्विफ्ट – ऑब्जेक्टिव-सी के उत्तराधिकारी

यदि आप ऑब्जेक्टिव-सी सीख रहे हैं, तो स्विफ्ट सीखना शुरू करना भी एक अच्छा विचार है.

ऑब्जेक्टिव-सी के लिए प्राथमिक उपयोग ऐप्पल के कोको प्लेटफॉर्म में उनके तीन ऑपरेटिंग सिस्टम (ओएस एक्स, आईओएस, वॉचओएस) पर ऐप है। Apple ने घोषणा की है कि ये प्लेटफ़ॉर्म अब अपनी नई प्रोग्रामिंग भाषा, स्विफ्ट में बदल जाएगा.

यहाँ कुछ स्विफ्ट संसाधन हैं:

  • स्विफ्ट प्रोग्रामिंग लैंग्वेज – ऐप्पल से स्विफ्ट के लिए परिचयात्मक मार्गदर्शिका। Apple से भी, इसी नाम की iBooks पुस्तक देखें.

  • स्विफ्ट चीट शीट – ऑब्जेक्टिव-सी चीट शीट के निर्माता से स्विफ्ट का एक त्वरित, उच्च-स्तरीय संदर्भ.

  • कोको और उद्देश्य-सी के साथ स्विफ्ट का उपयोग करना

  • स्विफ्ट में कार्यात्मक प्रोग्रामिंग

सामान्य प्रश्न

यहाँ हमने ऑब्जेक्टिव-सी के बारे में अक्सर पूछे जाने वाले कुछ सवालों के जवाब दिए हैं.

ऑब्जेक्टिव-सी क्या है?

Objective-C, C प्रोग्रामिंग लैंग्वेज का सुपरसेट है। यह ज्यादातर सी की तरह है, लेकिन स्मॉलटाक जैसी ऑब्जेक्ट ओरिएंटेड सुविधाओं को जोड़ता है.

क्या है Objective-C का उपयोग?

हालांकि किसी भी ऑपरेटिंग सिस्टम या प्लेटफ़ॉर्म के लिए एप्लिकेशन लिखने के लिए ऑब्जेक्टिव-सी का उपयोग करना संभव है, ऑब्जेक्टिव-सी का एकमात्र मुख्य धारा का उपयोग ऐप्पल ऐप के लिए उनके तीन ऑपरेटिंग सिस्टम पर होता है: मैक ओएस एक्स, आईओएस, वॉचओएस.

क्या मुझे Apple ऐप्स के लिए Objective-C का उपयोग करना होगा?

उद्देश्य-सी के अलावा दो अन्य विकल्प हैं:

  • स्विफ्ट – ऐप के सभी नए विकास के लिए ऐप्पल द्वारा समर्थित, ऑब्जेक्टिव-सी के लिए स्विफ्ट प्रोग्रामिंग भाषा उत्तराधिकारी है.

  • ऑब्जेक्टिव-सी या स्विफ्ट के शीर्ष पर संकलित करना या चलाना – गैर-देशी एप्लिकेशन बनाने के लिए कुछ तरीके हैं जो Apple वातावरण में काम करते हैं। उदाहरण के लिए:

    • Phonegap
    • कोडनाम एक

    • Appcelerator

उद्देश्य-सी मृत है?

उद्देश्य-सी अभी भी सीखने लायक भाषा है, कम से कम कुछ कारणों से:

  • वर्तमान में, स्विफ्ट का कोको एपीआई पूरी तरह से परिपक्व नहीं है। कुछ समय के लिए, उद्देश्य-सी कोको मंच का पूरा लाभ उठाने का एकमात्र तरीका रहेगा.

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

  • हाल तक तक, सभी ऐप्पल ऐप ऑब्जेक्टिव-सी में लिखे गए थे, और कई अभी भी जारी हैं। इसका मतलब है कि यदि आपको इन मौजूदा ऐप्स को बनाए रखने, विस्तार करने या बढ़ाने का काम सौंपा जाता है, तो आपको ऑब्जेक्टिव-सी जानने की आवश्यकता होगी.

ऑब्जेक्टिव-सी कैसे सी से अलग है?

Objective-C में C के सभी शामिल हैं, और फिर Smalltalk के सिंटैक्स का उपयोग करके इसमें ऑब्जेक्ट ओरिएंटेड सिद्धांतों को जोड़ता है.

ऑब्जेक्टिव-सी कैसे सी से अलग है++?

C ++ और Objective-C दोनों C प्रोग्रामिंग लैंग्वेज में ऑब्जेक्ट ओरिएंटेशन जोड़ने की समस्या के लिए अलग-अलग समाधान हैं.

ऑब्जेक्टिव-सी ने ऑब्जेक्ट ओरिएंटेशन को कैसे कार्यान्वित किया जाए, इसके लिए मॉडल के रूप में स्मॉलटाक का इस्तेमाल किया, जबकि सी ++ ने सिमाला का उपयोग किया.

क्या मैं गैर-एप्पल सिस्टम में ऑब्जेक्टिव-सी का उपयोग कर सकता हूं?

हाँ। उद्देश्य-सी का उपयोग कहीं भी किया जा सकता है, जब तक कि सिस्टम पर अपेक्षित रनटाइम स्थापित नहीं हो जाता है.

हालांकि, ऐसा करना बहुत आम नहीं है, और आमतौर पर अन्य प्लेटफार्मों के लिए आवेदन पत्र लिखने के बेहतर (अधिक पूरी तरह से समर्थित) तरीके हैं.

शायद गैर-एप्पल वातावरण में ऑब्जेक्टिव-सी का उपयोग करने के लिए सबसे सम्मोहक कारण होगा जब किसी ऐप्पल ऐप को विंडोज या लिनक्स में पोर्ट करना। इस मामले में, आपको कोको फ्रेमवर्क को भी दोहराने की आवश्यकता होगी, जिसे आप GNUstep के साथ कर सकते हैं.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map