MonoTouch vs Objective-C สำหรับการพัฒนา iPhone / iPod / iPad [ปิด]


25

สำหรับผู้ที่มีประสบการณ์. Net และต้องการพัฒนาสำหรับ iPhone / iPod / iPad มันคุ้มค่าที่จะเรียนรู้ Objective-C หรือไม่? MonoTouch เป็นทางเลือกที่ดีหรือไม่? อะไรคือข้อเสียเมื่อใช้ MonoTouch กับการเข้ารหัสใน Objective-C


1
ดูเหมือนว่า Apple กำลังทำให้สิ่งนี้ง่ายขึ้น: apple.com/pr/library/2010/09/09statement.html
JeffO

2
กดค้างไว้จนกว่า WP7 จะออกและพัฒนาที่นั่นแทน ;)
Adam Lear

@ Jeff O นั่นคือเหตุผลที่ฉันสนใจประสบการณ์ของผู้คนที่พัฒนาด้วย MonoTouch ฉันเขียนรหัสใน Objective-C แต่ชอบ C #
ysolik

หากคุณสามารถลงคะแนนและคิดว่านี่เป็นคำถามที่มีประโยชน์หรือมีคำตอบที่เป็นประโยชน์ด้านล่างโปรดลงคะแนน เว็บไซต์ StackExchange ต้องการคะแนนโหวตเพื่อสร้างชุมชนที่ดี คุณสามารถให้ 30 คะแนนต่อวันไม่ต้องเสียพวกเขา ผู้ใช้พิเศษที่มีชื่อเสียงและได้รับคะแนนโหวตต่ำโปรดอ่านสิ่งนี้: meta.programmers.stackexchange.com/questions/393/…
Maniero

ฉันสนใจที่จะเช็คเอาต์ MonoTouch ด้วย แต่น่าเสียดายที่ฉันไม่มีเวลาที่จะเชี่ยวชาญวัตถุประสงค์และฉันมีร้านค้าที่เต็มไปด้วยผู้เชี่ยวชาญด้าน. NET ที่นี่ ฉันต้องการที่จะยกระดับความรู้ของพวกเขา!
Nodey The Node Guy

คำตอบ:


17

MonoTouch เป็นทางเลือกที่ยอดเยี่ยม ฉันใช้มันมาเกือบปีแล้วและฉันก็นึกไม่ออกเลยว่าจะกลับไปที่วัตถุประสงค์ ไฮไลท์: LINQ, LINQ ถึง XML, LINQ, C #, LINQ, ผู้รวบรวมขยะ, LINQ, MonoTouch.Dialog และอื่น ๆ อีกมากมาย

อย่างจริงจังแม้ว่าทุกวันนี้แอปส่วนใหญ่มักจะดาวน์โหลดข้อมูลจากเว็บอยู่เสมอและคุณจะต้องแปลงมันเป็นวัตถุทำให้พวกมันอยู่ในรายการเรียงลำดับและกรองพวกมันและผลักพวกมันไปยังฐานข้อมูล สิ่งนั้นง่ายมากที่จะทำกับ C # และ LINQ ที่ฉันไม่สามารถจินตนาการได้ว่าคนอื่นทำในภาษาอื่น

ค่าใช้จ่าย $ 400 ดอลลาร์ไม่ต่ำ แต่คุณสามารถทำเงินคืนได้ภายใน 1 เดือนโดยไม่มีการโฆษณา และจำนวนเวลาที่ MT จะช่วยให้คุณประหยัดได้อย่างง่ายดาย อย่าลืมว่าคุณไม่ต้องจ่ายเงินจนกว่าแอปจะพร้อมสำหรับการทดสอบในอุปกรณ์ดังนั้นมันจึงเป็นฟรีสำหรับการเรียนรู้

ด้วยที่กล่าวว่าใช่มันยังคงคุ้มค่าที่จะเรียนรู้วัตถุประสงค์ -C มันจะทำให้คุณเป็นนักพัฒนาซอฟต์แวร์ที่ดีขึ้นสำหรับแพลตฟอร์มคุณจะเข้าใจว่าทำไมบางสิ่งถึงเป็นอย่างนั้น คุณจะสามารถอ่านตัวอย่าง Obj-C ในเว็บและแปลเป็น C #

สุดท้ายนี่คือคำแนะนำของฉัน: หากคุณกำลังคิดที่จะพัฒนา iOS ให้ไปที่ MonoTouch ใช้เวลาสองสามสัปดาห์ใช้มันแล้วตัดสินใจกระโดดไปที่ Obj-C ส่วนที่ยากที่สุดในการพัฒนา iOS ไม่ใช่ภาษา Obj-C เป็นกรอบงานใหม่ทั้งหมดที่คุณต้องเรียนรู้ ความสามารถในการเรียนรู้พวกเขาใน C # เป็นเรื่องใหญ่คุณจะมีประสิทธิผลมากขึ้นตั้งแต่เริ่มต้น หลังจากที่คุณรู้ว่าสิ่งเหล่านั้นมีลักษณะเป็น Obj-C: ทุกอย่างจะคุ้นเคยอยู่แล้วดังนั้นจึงง่ายที่จะเข้าใจทุกอย่าง


13

ฉันเป็นนักพัฒนา C, C ++, Delphi & .NET ที่มีประสบการณ์และฉันต้องการจัดการโครงการพัฒนาแอปพลิเคชั่น iOS ด้วย. NET back-end ในตอนแรกฉันรู้สึกตื่นเต้นมากเกี่ยวกับ MonoTouch และปีนเข้าไปในนั้นเพื่อพบว่าช่วงการเรียนรู้ไม่ใช่ภาษาจริงๆ แต่เป็นรูปแบบการออกแบบ

ฉันยังตั้งข้อสังเกตอีกว่าชุมชนที่สนับสนุน MonoTouch นั้นมีค่าน้อยกว่า Xcode และ Objective-C

คำแนะนำของฉันใช้เวลาและเรียนรู้ Objective-C อ่านหลักเกณฑ์สำหรับนักพัฒนาของ Apple และเรียนรู้วิธีการทำให้ถูกต้อง


ฉันชอบการแจ้งเตือนที่ MonoTouch จะเกี่ยวข้องอย่างน้อยบางส่วนเรียนรู้แม้ว่าคุณจะเก๋า .NET dev ฉันยังดูที่แอพ iOS ที่เชื่อมต่อกับ SQL Server / .net back end คุณช่วยชี้ให้ฉันดูทุกสิ่งที่เหมาะกับคุณได้ไหม
Jason S

3

หากคุณเพียงต้องการที่จะออกจากประตูอย่างรวดเร็วฉันเชื่อว่า monotouch จะเป็นวิธีที่จะไป

แย่:จำไว้ว่า MonoTouch ราคา $ 399 สำหรับผู้พัฒนาเดี่ยว ซึ่งหมายความว่าหากแอปของคุณมีราคาอยู่ที่ $ 0.99 คุณจำเป็นต้องขายแอปกว่า 400 แอปเพื่อให้ได้เงิน ไม่ได้คำนึงถึงว่าคุณจะไม่ได้รับเงินเต็ม $ 0.99 สำหรับการซื้อแอปแต่ละครั้ง อีกสิ่งที่ควรคำนึงถึงคือถ้าคุณต้องการให้นักพัฒนารายอื่นเข้าร่วมโครงการของคุณ iPhone devs ส่วนใหญ่ยังคงใช้ Objective-C ดังนั้นจึงเป็นไปได้ยากที่จะหาพันธมิตร

ข้อดี:เวลาในการพัฒนาจะเร็วขึ้นมาก การอยู่ในช่วงเริ่มต้นสู่ตลาดมักเป็นข้อได้เปรียบอย่างมาก

ความเป็นกลาง:คุณยังต้องเรียนรู้ไลบรารี่ของ iPhone วงจรชีวิตแอปพลิเคชันและความแตกต่างเล็กน้อยอื่น ๆ ของ iPhone ดังนั้นแม้ว่าคุณไม่จำเป็นต้องเรียนรู้ Objective-C แต่คุณยังต้องเรียนรู้กรอบ ดังนั้นไม่ว่าจะด้วยวิธีใดแอพของคุณก็ยอดเยี่ยมไม่แพ้กันเพราะมันยังคงเป็นเฟรมเวิร์ก iOS ในตอนท้ายของวัน


คุณจะได้เรียนรู้สิ่งใหม่ ๆ นอกเสียจากว่าแนวทางของคุณคือการสร้างแอพ Windows ที่ทำงานบนไอแพด
JeffO

1

ฉันเริ่มพัฒนาแอปพลิเคชั่นโดยใช้ MonoTouch และฉันพบว่ามันเป็นประสบการณ์ที่ดี ด้วยแนวโน้มที่จะมีประสิทธิผลมากกว่าการเรียนรู้เทคโนโลยีใหม่ MonoTouch จะทำให้เกิดรอยขีดข่วน ความรู้สึกทั่วไปคือ Novell ทำงานได้อย่างยอดเยี่ยมในการทำให้ฟังก์ชั่น iOS พร้อมใช้งานสำหรับนักพัฒนา. NET และตอนนี้ด้วยการผ่อนผันการอนุญาตให้ใช้งานล่าสุดของ Apple (ตอนนี้พวกเขาอนุญาตให้ iPhone / iPad พัฒนาโดยเครื่องมือของบุคคลที่สาม) MonoTouch . หากคุณดูแท็ก #monotouch twitter คุณยังจะเห็นนักพัฒนา / นักพัฒนาซอฟต์แวร์บางคน PORTING แอป Obj-C ของพวกเขาไปยัง. Net เพราะมันจะง่ายกว่า / เร็วกว่าในการรักษา / วิวัฒนาการในระยะยาว โอ้และแนวทางทั้งหมดของ Apple ยังคงมีผลอยู่แม้ว่าคุณจะทำงานใน. NET แต่ในความเป็นจริงฉันคิดว่ามันมีประโยชน์ทีเดียว

ด้วย MonoDroid คุณอาจจะสามารถใช้ไลบรารีหลักของแอปพลิเคชันของคุณเองในแอปพลิเคชั่น iPhone และ Android อีกครั้ง

นี่เป็นบทสัมภาษณ์ที่ค่อนข้างสดใสกับ Wallace Mclure ที่พูดถึงสิ่งที่ฉันพูดถึง:

http://adtmag.com/articles/2010/09/29/monotouch-qa-with-wallace-mcclure.aspx

ฉันว่าไปเลย!


0

มีบทความเกี่ยวกับหนึ่ง dev .NET ประสบการณ์ในการย้ายทักษะของเขาตั้งค่าเป็น iOS

โพสต์บล็อกนี้อธิบายประสบการณ์ของฉันในการเรียนรู้วิธีการเขียนซอฟต์แวร์ iOS หลังจากใช้เวลาหลายปีในการพัฒนา. NET มันมีคำเตือนคำแนะนำและเคล็ดลับสำหรับคนอื่น ๆ ที่มีความสนใจในการเรียนรู้การพัฒนา iOS โพสต์สิ้นสุดลงด้วยการเปรียบเทียบคุณภาพของการเขียนโปรแกรมใน WPF และ iOS

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.