Saya sudah melihat pertanyaan ini (dan variasi di atasnya) banyak akhir-akhir ini. Yang mengejutkan saya adalah seberapa sering orang merespons, tetapi seberapa sedikit yang menjawab .
Saya memiliki preferensi saya (saya menikmati kedua tumpukan), tetapi di sinilah sebagian besar "jawaban" mulai salah. Seharusnya bukan tentang apa yang saya inginkan (atau apa yang orang lain inginkan).
Begini cara saya menentukan nilai MonoTouch - saya tidak bisa bersikap objektif, tapi saya pikir ini cukup bebas zealotry:
Apakah ini untuk kesenangan atau bisnis? Jika Anda ingin masuk dalam konsultasi di bidang ini, Anda bisa mendapatkan $ 399 Anda kembali dengan sangat cepat.
Apakah Anda ingin mempelajari platform dalam-luar, atau "hanya" ingin menulis aplikasi untuk itu?
Apakah Anda suka. Cukup bersih sehingga menggunakan dev dev yang berbeda akan membuat Anda senang? Sekali lagi, saya suka kedua tumpukan (Apple dan Mono), tetapi bagi saya MonoTouch membuat pengalaman yang jauh lebih menyenangkan. Saya belum berhenti menggunakan alat Apple, tapi itu terutama karena saya benar-benar menikmati kedua tumpukan . Saya suka iPhone, dan saya suka Net. Kalau begitu, bagi saya, MonoTouch adalah orang yang tidak punya otak.
Apakah Anda merasa nyaman bekerja dengan C? Maksud saya bukan Objective-C, tetapi C - itu penting karena Objective-C adalah C. Ini adalah versi OO yang bagus, mewah, ramah, tetapi jika pointer memberi Anda heebie-jeebies, MonoTouch adalah teman Anda. Dan jangan dengarkan para penentang yang mengira Anda seorang pengecut jika itu terjadi bahwa Anda tidak suka pointer (atau C, dll.). Saya biasa berjalan berkeliling dengan salinan Referensi Saku IBM ROM BIOS, dan ketika saya sedang menulis perakitan dan memaksa komputer saya ke mode video lucu dan menulis bit rendering font saya sendiri untuk mereka dan sistem windowing (diakui trashy), saya tidak Saya pikir para pengembang QuickBasic tidak ada. Saya dulupengembang QuickBasic (selain yang lainnya). Jangan pernah menyerah pada macho culun. Jika Anda tidak suka C, dan jika Anda tidak suka pointer, dan jika Anda ingin tinggal sejauh mungkin dari manajemen memori manual (dan, agar adil, sama sekali tidak buruk di ObjC), lalu. .. MonoTouch. Dan jangan ambil tanggung jawab untuk itu.
Apakah Anda ingin menargetkan pengguna atau bisnis? Tidak masalah bagi saya, tetapi masih ada orang di Edge, dan faktanya adalah: Anda dapat membuat paket unduhan yang jauh lebih kecil jika Anda menggunakan tumpukan Apple. Saya telah bermain-main dengan MonoTouch, dan saya memiliki aplikasi kecil yang bagus yang, setelah dikompresi, turun menjadi sekitar 2,7 MB (ketika mengirimkan aplikasi Anda untuk distribusi, Anda menandainya - ketika aplikasi diunduh dari toko, mereka ' kembali zip - jadi ketika mencari tahu apakah aplikasi Anda akan masuk di bawah batas OTA 10MB, ritsleting pengisap pertama - Anda AKAN akan terkejut dengan MonoTouch). Namun, selain MT kebahagiaan, setengah meg vs hampir tiga (misalnya) adalah sesuatu yang mungkin penting bagi Anda jika Anda menargetkan pengguna akhir. Jika Anda memikirkan pekerjaan perusahaan, beberapa MB tidak akan berarti apa-apa. Dan, hanya untuk menjadi jelas - saya akan mengirimkan aplikasi berbasis MT ke toko segera, dan saya tidak punya masalah apa pun dengan ukurannya. Sama sekali tidak mengganggu saya. Tetapi jika itu adalah sesuatu yang perlu diperhatikanAnda , maka tumpukan Apple memenangkan yang ini.
Melakukan pekerjaan XML? MonoTouch. Titik.
Manipulasi string? Manipulasi tanggal? Jutaan hal kecil lain yang telah kita terbiasa dengan .Net-AND-the-kitchen-sink framework? MonoTouch.
Layanan web? MonoTouch.
Secara sintaksis, keduanya memiliki kelebihan. Objective-C cenderung lebih verbose di mana Anda harus menulisnya . Anda akan menemukan diri Anda menulis kode dengan C # Anda tidak perlu menulis dengan ObjC, tetapi berjalan dua arah. Topik khusus ini bisa mengisi buku. Saya lebih suka sintaksis C #, tetapi setelah melupakan reaksi awal-ini-yang-lain-duniawi saya terhadap Objective-C, saya telah belajar untuk menikmatinya sedikit. Saya mengolok-oloknya sedikit dalam pembicaraan ( ini aneh bagi para devs yang terbiasa dengan C # / Java / etc.), Tetapi kenyataannya adalah bahwa saya memiliki tempat berbentuk Objective-C di hati saya yang membuat saya bahagia.
Apakah Anda berencana menggunakan Interface Builder? Karena, bahkan dalam versi awal ini, saya menemukan diri saya melakukan jauh lebih sedikit pekerjaan untuk membangun UI saya dengan IB dan kemudian menggunakannya dalam kode. Rasanya seluruh langkah hilang dari cara Objective-C / IB dalam melakukan sesuatu, dan saya cukup yakin itu karena seluruh langkah hilang dari cara Objective-C / IB dalam melakukan sesuatu. Sejauh ini, dan saya pikir saya belum cukup menguji, tetapi sejauh ini , MonoTouch adalah pemenang di sini untuk seberapa banyak pekerjaan yang harus Anda lakukan.
Apakah Anda pikir belajar bahasa dan platform baru itu menyenangkan? Jika demikian, iPhone memiliki banyak hal untuk ditawarkan, dan tumpukan Apple kemungkinan akan membuat Anda keluar dari zona nyaman Anda - yang, bagi beberapa pengembang, menyenangkan (Hai - saya salah satu dari pengembang tersebut - saya bercanda tentang hal itu dan memberikan Apel waktu yang sulit, tetapi saya sudah banyak belajar pengembangan iPhone menyenangkan melalui alat Apple).
Ada banyak hal yang perlu dipertimbangkan. Nilai sangat abstrak. Jika kita berbicara tentang biaya dan apakah itu layak, jawabannya turun ke butir pertama saya: jika ini untuk bisnis, dan jika Anda bisa mendapatkan pekerjaan, Anda akan mendapatkan uang Anda kembali.
Jadi ... itu seobjektif mungkin. Ini adalah daftar singkat dari apa yang mungkin Anda tanyakan pada diri sendiri, tetapi ini adalah titik awal.
Secara pribadi (mari kita jatuhkan objektivitas sejenak), saya suka dan gunakan keduanya. Dan saya senang saya mempelajari tumpukan Apple terlebih dahulu. Lebih mudah bagi saya untuk bangun dan berlari dengan MonoTouch ketika saya sudah tahu jalan saya di dunia Apple. Seperti yang orang lain katakan, Anda masih akan bekerja dengan CocoaTouch - itu hanya akan berada di lingkungan yang di-net-kan.
Tetapi ada lebih dari itu. Orang-orang yang belum pernah menggunakan MonoTouch cenderung berhenti di sana - "Ini pembungkus bla bla bla" - itu bukan MonoTouch.
MonoTouch memberi Anda akses ke apa yang ditawarkan CocoaTouch dan juga memberi Anda akses ke apa (sebagian dari) .Net yang ditawarkan, IDE yang membuat beberapa orang merasa lebih nyaman (saya salah satunya), integrasi yang lebih baik dengan Interface Builder , dan meskipun Anda tidak bisa sepenuhnya melupakan manajemen memori, Anda mendapatkan kelonggaran yang bagus.
Jika Anda tidak yakin, ambil tumpukan Apple (gratis), dan ambil tumpukan eval MonoTouch (gratis). Sampai Anda bergabung dengan program pengembang Apple, keduanya hanya akan berjalan melawan simulator, tetapi itu cukup untuk membantu Anda mengetahui apakah Anda jauh lebih suka satu sama lain, dan mungkin apakah MonoTouch, bagi Anda, bernilai $ 399.
Dan jangan dengarkan para fanatik - mereka cenderung bukan yang menggunakan teknologi yang mereka lawan :)