MonoTouch vs Objective-C untuk pengembangan iPhone / iPod / iPad [ditutup]

25

Untuk seseorang dengan pengalaman .Net dan ingin berkembang untuk iPhone / iPod / iPad, apakah perlu belajar Objective-C? Apakah MonoTouch alternatif yang baik? Apa beberapa trade-off saat menggunakan MonoTouch vs coding di Objective-C?

ysolik
sumber
1
Sepertinya Apple membuat ini lebih mudah: apple.com/pr/library/2010/09/09statement.html
JeffO
2
Tunggu sampai WP7 rilis dan kembangkan di sana sebagai gantinya. ;)
Adam Lear
@ Jeff O, itu sebabnya saya tertarik pada pengalaman orang-orang yang berkembang dengan MonoTouch. Saya sudah memberi kode pada Objective-C, tetapi lebih suka C #.
ysolik
Jika Anda dapat memilih dan berpikir ini adalah pertanyaan yang berguna atau memiliki jawaban yang berguna di bawah ini, silakan pilih Situs StackExchange membutuhkan suara untuk membangun komunitas yang baik. Anda dapat memberikan 30 suara per hari, jangan sia-siakan. Khusus pengguna dengan reputasi tinggi dan penghitungan suara rendah diberikan, harap baca ini: meta.programmers.stackexchange.com/questions/393/…
Maniero
Saya tertarik untuk melihat MonoTouch juga. Sayangnya, saya tidak punya waktu untuk menguasai tujuan-c dan saya punya toko yang penuh dengan pakar .NET di sini. Saya ingin dapat memanfaatkan pengetahuan mereka!
Nodey The Node Guy

Jawaban:

17

MonoTouch adalah alternatif yang fantastis. Saya sudah menggunakannya selama hampir satu tahun sekarang, dan saya tidak pernah bisa membayangkan kembali ke tujuan-c. Sorotan: LINQ, LINQ ke XML, LINQ, C #, LINQ, pengumpul sampah, LINQ, MonoTouch.Dialog, dan banyak hal lainnya.

Serius, meskipun .. saat ini sebagian besar aplikasi selalu mengunduh data dari web, dan Anda harus mengonversinya menjadi objek, menyimpannya dalam daftar, menyortir dan memfilternya, dan mendorongnya ke database. Hal-hal itu sangat mudah dilakukan dengan C # dan LINQ sehingga saya tidak bisa membayangkan orang melakukan itu dalam bahasa lain.

Biaya $ 400 dolar tidak rendah, tetapi Anda mungkin dapat menghasilkan uang itu kembali dalam 1 bulan atau lebih tanpa iklan. Dan jumlah waktu MT akan menghemat Anda akan mengimbangi itu dengan mudah. Ingat juga, Anda tidak perlu membayar sampai aplikasi siap untuk diuji di perangkat, jadi gratis untuk belajar.

Dengan itu, ya, masih benar-benar layak untuk belajar Objective-C. Ini akan membuat Anda menjadi pengembang yang lebih baik untuk platform, Anda akan mengerti mengapa beberapa hal seperti itu, dan sebagainya. Anda juga dapat membaca contoh Obj-C di web dan menerjemahkannya ke C #.

Akhirnya, inilah saran saya: jika Anda berpikir untuk masuk dalam pengembangan iOS, buka MonoTouch. Habiskan beberapa minggu menggunakannya, dan kemudian buat keputusan untuk melompat ke Obj-C. Bagian tersulit dari pengembangan iOS bukanlah bahasa Obj-C, adalah semua kerangka kerja baru yang harus Anda pelajari. Mampu mempelajarinya dalam C # adalah kesepakatan BESAR, Anda akan jauh lebih produktif dari awal. Hanya setelah Anda tahu hal-hal itu melihat ke dalam Obj-C: semuanya sudah akrab, jadi akan mudah untuk memahami semuanya.

Eduardo Scoz
sumber
13

Saya adalah pengembang C, C ++, Delphi & .NET yang berpengalaman dan saya baru-baru ini perlu menangani proyek pengembangan aplikasi iOS dengan .NET back-end. Saya awalnya sangat bersemangat tentang MonoTouch dan naik ke dalamnya hanya untuk menemukan bahwa kurva belajar bukan bahasa sebenarnya melainkan pola desain.

Saya juga mencatat bahwa dukungan komunitas di luar sana untuk MonoTouch jauh lebih sedikit daripada untuk Xcode dan Objective-C.

Saran saya, luangkan waktu dan pelajari Objective-C. Baca pedoman pengembang Apple dan pelajari cara melakukannya dengan benar.

Craig Nicholson
sumber
Saya suka pengingat bahwa MonoTouch akan melibatkan setidaknya beberapa pembelajaran bahkan jika Anda seorang .NET dev berpengalaman. Saya juga melihat aplikasi iOS yang menghubungkan ke SQL Server / .net back end. Bisakah Anda mengarahkan saya ke sesuatu yang bekerja untuk Anda?
Jason S
3

Jika Anda hanya ingin mendapatkan sesuatu dari pintu dengan cepat, saya percaya monotouch akan menjadi cara untuk pergi.

Yang Buruk: Ingatlah bahwa MonoTouch adalah $ 399 untuk satu pengembang. Itu berarti jika aplikasi Anda dihargai $ 0,99, maka pada dasarnya Anda harus menjual lebih dari 400 aplikasi untuk menghasilkan uang. Itu tidak memperhitungkan bahwa Anda tidak akan mendapatkan $ 0,99 penuh untuk setiap pembelian aplikasi. Hal lain yang perlu dipikirkan adalah bahwa jika Anda ingin pengembang lain bergabung dengan proyek Anda, sebagian besar pengembang iPhone masih menggunakan Objective-C, sehingga kemungkinan akan lebih sulit untuk menemukan mitra.

Yang Baik: Waktu pengembangan akan jauh lebih cepat. Menjadi lebih awal ke pasar biasanya merupakan keuntungan besar.

Netral: Anda masih harus mempelajari perpustakaan iPhone, siklus hidup aplikasi, dan semua nuansa kecil lainnya dari iPhone. Jadi meskipun Anda tidak harus belajar Objective-C, Anda masih harus mempelajari kerangka kerjanya. Jadi, bagaimanapun juga, aplikasi Anda bisa sangat luar biasa karena masih merupakan kerangka kerja iOS pada akhirnya.

Ryan Hayes
sumber
Anda akan belajar sesuatu yang baru kecuali jika pendekatan Anda adalah membuat aplikasi Windows yang berjalan di iPad.
JeffO
1

Saya mulai mengembangkan aplikasi menggunakan MonoTouch dan saya merasakannya sebagai pengalaman yang baik. Dengan kecenderungan lebih produktif daripada mempelajari teknologi baru, MonoTouch menggaruk gatal. Perasaan umum adalah bahwa Novell telah melakukan pekerjaan yang hebat untuk membuat fungsionalitas iOS tersedia untuk para pengembang .NET dan sekarang dengan relaksasi lisensi terbaru dari Apple (sekarang memungkinkan aplikasi iPhone / iPad yang dikembangkan oleh alat pihak ke-3) MonoTouch hanya akan memperoleh dukungan . Jika Anda menonton tag twitter #monotouch, Anda bahkan akan melihat beberapa pengembang / toko PORTING aplikasi Obj-C mereka ke .Net karena akan lebih mudah / lebih cepat untuk mempertahankan / berkembang dalam jangka panjang. Oh, dan semua pedoman Apple masih berlaku meskipun Anda sedang bekerja di .NET - sebenarnya saya merasa cukup membantu.

Dengan MonoDroid di jalan juga, Anda mungkin akan dapat menggunakan kembali pustaka inti aplikasi Anda sendiri di iPhone dan aplikasi Android - seberapa keren itu ??

Inilah wawancara yang cukup optimis dengan Wallace Mclure yang menangkap sedikit dari apa yang saya bicarakan:

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

Saya akan mengatakan pergi untuk itu!

Mark Gibaud
sumber
0

Ada sebuah artikel tentang pengalaman .NET devs dalam memindahkan keahliannya ke iOS.

Posting blog ini menjelaskan pengalaman saya mempelajari cara menulis perangkat lunak iOS, setelah menghabiskan bertahun-tahun secara eksklusif di dunia pengembangan .NET. Ini memberikan peringatan, saran, dan kiat untuk orang lain yang tertarik mempelajari pengembangan iOS. Posting diakhiri dengan perbandingan kualitatif pemrograman di WPF dan iOS.

gbjbaanb
sumber