2008-09-25 17 views
12

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

अधिक विशेष रूप से, मुझे कौन सी पुस्तकें चुननी चाहिए, और क्या कोई वेब संसाधन है जो कुछ लोग मुझे इंगित कर सकते हैं? कुछ किताबें है कि मैं खरीद करने के लिए योजना बना रहा हूँ:

किसी को भी इन शीर्षकों से परिचित हैं? आखिरकार, मैं इस यात्रा पर उतरने के बाद, मुझे उम्मीद करने के लिए तैयार होने के सारांश में बहुत दिलचस्पी होगी। इंटेलिजे आईडीईए का उपयोग कर जावा में विकसित होने वाले किसी भी व्यक्ति के रूप में, मुझे कुछ महत्वपूर्ण अंतर क्या दिखाई देंगे क्योंकि मैं एक्सकोड में ऑब्जेक्टिव सी कोड लिखने के लिए आगे बढ़ता हूं? मैक ओएस डेस्कटॉप विकास और आईफोन विकास के बीच अंतर क्या है? जावा कचरा संग्रह में उपयोग किया जा रहा है, मुझे ObjectiveC कचरा संग्रह/स्मृति प्रबंधन के बारे में क्या पता होना चाहिए। कोई अन्य भाषा विशिष्ट मुद्दे जो कोई भी इंगित करना चाहते हैं? यूआई बनाने के बारे में कैसे? क्या स्विंग के करीब है, दृश्य सी ++ संसाधन फाइलों का निर्माण करना जो कोड इंटरैक्ट करता है, या यह कुछ बोरलैंड आईडीई की तरह है जो guis के लिए कोड उत्पन्न करेगा?

उत्तर

11

अपने प्रश्न में पुस्तकों की दोनों खरीदा, मैं एक त्वरित तरीका भाषा और कोको ढांचे को जानने के लिए के रूप में मैक ओएस एक्स के लिए कोको प्रोग्रामिंग की सलाह देते हैं, और शायद सबसे तेज़ तरीका वास्तविक उत्पादन शुरू करने के लिए है कोको में आवेदन। मैं इसकी पुरजोर सलाह देता हूँ। उद्देश्य-सी 2.0 में प्रोग्रामिंग एक महान संदर्भ पुस्तक है, लेकिन यदि आप पहले ही सी को जानते हैं, तो आपको यह सिखाने वाला नहीं है कि आप दूसरी पुस्तक से नहीं उठा सकते हैं। हालांकि, अगर आपको ऑब्जेक्टिव-सी में सभी आरक्षित कीवर्ड की सूची की आवश्यकता है, तो यह पुस्तक है।

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

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

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

वेब संसाधनों के लिए, http://cocoadevcentral.com/ शुरुआती ट्यूटोरियल के साथ एक महान साइट है। http://www.cocoadev.com/ पर CocoaDev विकी विषयों की एक बहुत कुछ के बारे में विस्तृत जानकारी है, और आप आमतौर पर कोको-देव मेलिंग सूची पर कुछ उपयोगी जानकारी और लोगों को मिल सकता है http://lists.apple.com/mailman/listinfo/cocoa-dev

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

1

मैक ओएस एक्स के लिए कोको प्रोग्रामिंग प्राप्त करें। आपके अधिकांश प्रश्नों का उत्तर उस पुस्तक द्वारा दिया जाएगा। आप Become an XCoder और Cocoa Dev Central पढ़ना भी शुरू कर सकते हैं।

आईफोन एसडीके अभी भी एनडीए के तहत है, इसलिए आप ऐप्पल द्वारा प्रदान किए गए किसी भी को छोड़कर इसके बारे में कोई ऑनलाइन संसाधन नहीं ढूंढ पाएंगे।

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

+1

अपने उत्तर को अस्वीकार करने के लिए खेद है। यह बहुत उपयोगी था। मैं सिर्फ उसे स्वीकार करके नौसिखिया (माइकल बकली) की मदद करना चाहता हूं। धन्यवाद! –

+0

कोई समस्या नहीं है। उसका जवाब मेरी तुलना में अधिक जानकारीपूर्ण है। मैंने इसे भी वोट दिया! – jop

0

आपके लिए एक और विकल्प जैफफोन है, जो आपको जावा ऐप लिखने की अनुमति देता है जो आईफोन में अनुवादित होता है-बिल्ड समय पर बोलता है।

मुझे नहीं पता कि यह अभी तक उपलब्ध है या नहीं, या यदि यह वाणिज्यिक-सामान या जो भी हो, लेकिन यह दिलचस्प नहीं है।

http://www.jaiphon.com/

+0

दिलचस्प। ईमानदारी से हालांकि, मुझे लगता है कि उद्देश्य सी, प्रोग्रामिंग पर्यावरण और एक्सकोड सीखने के लिए कुछ कहा जाना चाहिए। आईफोन के लिए देशी जावा समर्थन की कमी ग़लत है लेकिन मुझे मैक विकास उपकरण के बारे में जो कुछ पढ़ रहा है उसे पसंद है। –

+0

एक मिनट प्रतीक्षा करें .. मैंने अपनी साइट की जांच की है ... वाष्प-वेयर की तरह दिखता है ... :-( –

+0

आपको उस स्तर पर सिस्टम के साथ काम करना सीखना होगा जो डिबगर्स और अन्य टूल्स आपको दिखाएंगे, या आप करेंगे आप तुरंत उपकरण की सीमाओं के बाहर जाने के तुरंत बाद खो जाएंगे। –

0

इसके अलावा इस की जाँच:

http://www.xmlvm.org/overview/

यह एक परियोजना है कि करने के लिए पार संकलन लक्ष्य भाषाओं की एक किस्म के स्रोत पर विभिन्न भाषाओं में लिखे गए प्रोग्राम्स सक्षम होने के लिए प्रयास करता है। प्रारंभिक परीक्षण मामलों में से एक जावा में प्रोग्राम लिखना और उन्हें एक आईफोन पर चलाने के लिए था। साइट पर वीडियो देखना सार्थक है।

इसके साथ, मैंने कोशिश नहीं की है। परियोजना काफी बीटा लगता है, और उनके SourceForge साइट पर बहुत सी गतिविधि नहीं है।

0

क्या आप पहले से ही स्क्वायर ब्रैकेट से परिचित हैं?

यहां मेरे दृष्टिकोण से brief of its rationale है। मुझे उम्मीद है कि यह भी मदद कर सकता है।

0

मुझे लगता है कि इंटेलिजे से एक्सकोड पर कूदते समय आपको नग्न महसूस होगा। लेकिन यह सिर्फ एक उपकरण-परिप्रेक्ष्य से है। अतिरिक्त कपड़े लाएं (टेक्स्टमैट + एफस्क्रिप्ट)!

+0

ओबीजे-सी विकास के लिए एक्सकोड पर टेक्स्टमैट? मैं असहमत हूं। एक्सकोड अद्भुत है। और यह मुफ़्त है;) – lajos

+0

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