Apakah Google Android akan pernah mendukung .NET? [Tutup]

253

Sekarang G1 dengan OS Android Google sekarang tersedia (segera), apakah platform android akan mendukung .Net?

JarrettV
sumber
24
Sekarang itu akan menjadi sesuatu!
Calanus
yang lebih penting, apakah Microsoft akan pernah melakukan porting .NET ke platform selain Windows?
Kerry

Jawaban:

325

Pembaruan : Karena saya menulis jawaban ini dua tahun lalu, kami membuat Mono dijalankan di Android. Pekerjaan tersebut mencakup beberapa langkah: porting Mono ke Android, mengintegrasikannya dengan Visual Studio, membangun plugin untuk MonoDevelop di Mac dan Windows dan mengekspos Java Android APIs ke bahasa .NET. Ini sekarang tersedia di http://monodroid.net

Mono di Android didasarkan pada runtime Mono 2.10, dan default ke profil 4.0 dengan kompiler C # 4.0 dan menggunakan mesin pengumpulan sampah SGen baru Mono, serta sistem pengumpulan sampah terdistribusi baru kami yang menjalankan GC di seluruh Jawa dan Mono.


Tautan di bawah ini mencerminkan Mono di Android pada Januari 2009, saya menyimpannya untuk konteks sejarah

Mono sekarang bekerja di Android berkat karya Koushik Dutta dan Marc Crichton.

Anda dapat melihat videonya sedang diputar di sini: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html

Dan Anda bisa mendapatkan instruksi untuk membangun Mono sendiri di sini: http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Anda bisa mendapatkan patokan membandingkan JIT Mono vs juru bahasa Dalvik di sini: http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html

Dan tentu saja, Anda bisa mendapatkan gambar pra-konfigurasi dengan Mono di sini (buka bagian bawah pos untuk detail tentang penggunaannya): http://www.koushikdutta.com/2009/01/building-mono-for- android.html

miguel.de.icaza
sumber
1
Yah, saya katakan, bukan MS atau Google tetapi mungkin Miguel dan di sini Anda (well, saya tahu itu bukan Anda, tapi entah bagaimana dekat) Tautan hebat Miguel. Apakah Anda pikir Google akan pernah mendukung ini? Maksud saya mereka mengambil port di bawah tenda mereka? :) Jika saya bisa, saya akan memilih jawaban saya sendiri :)
OscarRyz
6
Uhm, itu "hanya" berjalan di debian yang berjalan pada perangkat keras yang sama. Tidak cukup porting ke "android" menurut pendapat saya, tapi sepertinya itu bukan masalah besar untuk port sepertinya sepenuhnya.
sandos
1
Saya bertanya-tanya, apakah sudah ada pembicaraan dengan Google untuk mempermudah pemasangan ini? Mungkin memasangnya sebagai unduhan gratis dari Pasar? Izinkan aplikasi .Net ditempatkan di pasar?
csauve
1
Sayang sekali itu tidak bekerja dengan Visual Studio Express ...
Rockcoder
1
Luar biasa. Senang melihat jawaban yang diperbarui. +1 Miguel
Steven Evers
78

Ya, itu akan mungkin dan itu tidak akan sulit. Semua yang diperlukan pada saat ini untuk memulai adalah semacam konverter yang akan mengubah MSIL menjadi bytecode Dalvik . Karena kedua format bersumber terbuka dan didokumentasikan dengan baik, tidak akan ada masalah dengannya.

Jadi, menulis aplikasi Android dalam C # atau VB.NET akan dimungkinkan, pertanyaannya adalah seberapa banyak perpustakaan standar .NET framework akan didukung. Tapi itu masalah lain.

Oscar Reyes menulis:

Saya cukup yakin jika Google memberikan minat pada .net, mereka akan mendesain sesuatu ketika Android berada di tahap pertama, tidak sekarang ketika mereka berada dalam tahap produksi. Maksud saya itu tidak mungkin, yang saya katakan adalah mereka tidak tertarik. Mungkin dalam mmm hhhh 10 thn.

Sebenarnya apa yang telah mereka rancang sangat kompatibel dengan Java dan .NET

Mereka tidak dapat melakukan semuanya sekaligus, tetapi jika Anda melihat ke Android SDK, ada alat yang disebut dx . Alat ini mengubah bytecode Java menjadi bytecode Dalvik, jadi dengan kata lain, Anda dapat menjalankan program yang ditulis dalam Java di Android tanpa usaha hari ini. Sekarang alat yang sama diperlukan untuk .NET.

Mempertimbangkan betapa miripnya. NET dan Java, itu benar-benar masalah waktu.

ddimitrov menulis:

Terjemahan .Net-> Java-> Dalvik dapat dilakukan bahkan sekarang ( http://dev.mainsoft.com/ ), tapi saya pikir Anda meremehkan kurangnya perpustakaan .Net. Tentu saja seseorang dapat mem-porting Mono, tetapi ini jelas bukan upaya sepele.

Tidak perlu porto Mono. Android sudah memiliki VM dan beberapa API dasar. Semua yang dibutuhkan adalah CIL-> Dalvik converter dan .NET wrapper kecil untuk Android API (dan mungkin beberapa implementasi dasar dari beberapa kelas .NET standar). Itu dia.

Pembaruan: .NET sudah berfungsi di Android - Anda memerlukan produk yang disebut Monodroid ( http://monodroid.net ) seperti yang dinyatakan di atas.

lubos hasko
sumber
Ya, kami tidak pernah tahu ... mungkin, mungkin ... Yah, buatlah 4 tahun, bukan 10 ...: P
OscarRyz
16
Saya tidak setuju. Semua yang Anda katakan IS secara teknis mungkin, tetapi saya pikir Anda meremehkan pekerjaan yang dibutuhkan oleh urutan besarnya. Itu selalu mudah untuk mengumpulkan bukti-konsep-seperti halo silang dikompilasi dalam beberapa jam. Tetapi untuk mengatur pembungkus untuk semua kelas BANYAK pekerjaan.
Lena Schimmel
4
@ Brian, video yang Anda poskan tentang iPhone bukan Android.
lubos hasko
14
Yah, mengingat Google Java affinity itu tidak terlalu mengejutkan bahwa mereka tidak menggunakan .NET dengan ini. Ya, menggunakan Mono mungkin layak tetapi saya hampir yakin Google akan menghindari penggunaan .NET dengan semangat yang sama seperti Microsoft akan menghindari penggunaan Linux.
Joey
2
"Perusahaan kecil tidak akan mempertaruhkan masa depan mereka kecuali ada perusahaan besar yang membebani mereka." Novell sudah mensponsori itu. Dan Microsoft mendukung proyek turunan Moonlight baik dengan menyediakan codec dan test suites.
sblom
23

Miguel de Icaza mengumumkan di blog - nya pada 17 Februari 2010 bahwa mereka mulai bekerja pada mono untuk android yang akan disebut MonoDroid.

Ini akan mirip dengan MonoTouch di iphone tetapi untuk android sebagai gantinya.

Ini akan memberikan pengikatan ke UI Android, sehingga aplikasi akan terlihat dan terasa aplikasi Android asli hidup. Ini akan mengharuskan Anda untuk menulis UI khusus android.

Namun Anda akan dapat menggunakan kembali perpustakaan tingkat bawah yang ada tanpa perlu melakukan kompilasi ulang.

trampster
sumber
Beta Monodroid sekarang tersedia untuk orang yang mendaftar untuk program beta lebih awal.
Damian
ya itu saat ini dalam versi beta pribadi, yang saya lakukan untuk mendaftar tetapi sejauh ini telah melewatkan undangan :(
trampster
9

Ada Mono untuk Android, kerangka NET. Porting untuk Android. Dan ada MonoDroid, tumpukan pengembangan untuk menggunakan C # dan inti .NET API untuk mengembangkan aplikasi berbasis Android. MonoDroid Preview 1 telah dirilis beberapa hari yang lalu.

MonoDroid
sumber
9

Karena ini adalah salah satu tautan pertama di Google ketika mencari dukungan Android dan .net, cukup pas untuk memposting ini di sini.

Proyek mono bekerja pada SDK untuk mengembangkan aplikasi Android menggunakan bahasa CIL seperti C #. Sisi buruknya adalah itu akan menjadi produk komersial. monodroid

Tony
sumber
7

MonoDroid tersedia untuk pratinjau. Saya pikir itu akan menjembatani kesenjangan. Namun, MonoDroid bisa menjadi pilihan yang mahal untuk pengembangan. Alat pengembangan mereka lainnya harganya antara $ 199 dan $ 4000 (The MonoTouch .. Alat pengembang iPhone ... dihargai antara $ 399 dan $ 3999). Jika orang mengembangkan aplikasi dengan alat ini, mereka membutuhkan model bisnis yang sangat kuat untuk melihat beberapa pengembalian.

GSree
sumber
6

Lihat ini xmlvm Saya pikir ini mungkin. Mungkin juga bisa mengecek video ini

Poorna
sumber
Saya suka jawaban itu. Ini menunjukkan bahwa itu mungkin, tetapi jika Anda menonton video itu, itu juga menunjukkan berapa banyak masalah yang masih terbuka untuk dipecahkan dan berapa banyak pekerjaan yang ada di balik semua itu.
Lena Schimmel
4

Pelabuhan Mono yang dimodifikasi juga sepenuhnya memungkinkan.

akdom
sumber
@ jarang, apakah Anda memiliki pengalaman dengan porting perangkat lunak dari desktop / server OS ke embedded? Saya memiliki beberapa pengalaman pengembangan ponsel (Java dan Brew) dan IMHO, Anda terlalu meremehkan upaya tersebut. Itu mungkin, tetapi tidak pasti dalam 3 tahun ke depan.
ddimitrov
@ddmitrov: Pertanyaannya adalah apakah platform android dengan dukungan EVER. NET, bukan apakah itu akan dalam tiga tahun ke depan. Saya hanya berpendapat bahwa karena Mono adalah implementasi open source dari .NET akan lebih mudah untuk membangun versi android dari Mono daripada memulai dari awal.
akdom
2
Tidak butuh tiga tahun pada akhirnya. Dan orang-orang di Xamarin berencana untuk melakukannya lagi dalam waktu kurang dari enam bulan.
Justin
4

Framework .NET compact telah diangkut ke Symbian OS ( http://www.redfivelabs.com/ ). Jika .NET sebagai platform 'tertutup' dapat porting ke platform ini, saya tidak dapat melihat alasan mengapa itu tidak dapat dilakukan untuk Android.

KevinD
sumber
Sudahkah Anda menggunakan kerangka kerja yang ringkas? Saya lakukan setiap hari di tempat kerja saya dan porta mono dalam bentuk MonoDroid akan lebih baik.
trampster
4

.NET dan Mono adalah lingkungan yang hebat, dengan banyak alat dan dan basis keterampilan yang sangat baik dari orang-orang yang tahu cara menggunakannya.

Saya pikir Mono memiliki kesempatan untuk menjadi lingkungan pengembangan lintas platform mobile pilihan, mengingat mereka adalah satu-satunya alternatif untuk Objective-C pada iPhone dan harus portabel untuk Android, dan .NET sudah ada di Windows Mobile.

Saya benar-benar berharap untuk melihat implementasi yang solid dari Mono di Android, dengan pembungkus untuk API Android seperti dengan Monotouch, dan akan siap untuk membayarnya karena saya tidak dalam posisi untuk melakukannya sendiri.

Peter
sumber
3

Anda lebih cenderung melihat implementasi Android dari Silverlight. Microsoft rep telah mengkonfirmasi bahwa itu mungkin, vs iPhone di mana perwakilan mengatakan itu bermasalah.

Tetapi versi kerangka kerja Net adalah mungkin. Hanya butuh seseorang yang begitu peduli :)

Tapi sungguh, pindah dari C # ke Java bukan masalah besar dan mempertimbangkan perbedaan drastis antara kedua platform (PC vs G1), sepertinya tidak mungkin Anda bisa bertahan dengan satu basis kode untuk aplikasi apa pun yang Anda ingin menjalankan keduanya.

jcollum
sumber
3

Menurut pendapat saya, secara teknis dimungkinkan untuk mengkonversi Bytecode CLI ke Dalvik, dan menulis kelas wrapper untuk beberapa fitur inti seperti Koleksi, akses File, dll., Bahkan itu akan menjadi kerja keras.

Tetapi aplikasi .NET desktop yang dijalankan pada android akan terasa asing, karena akan memiliki GUI Windows-Like klasik yang tidak dapat digunakan pada perangkat sentuh. Jika, di sisi lain, Anda membuat kode GUI seperti Android di .NET, Anda akan membutuhkan satu set pembungkus (perhatikan bahwa pembungkus hanyalah sebaliknya terhadap pembungkus yang disebutkan di atas).

Saya tidak yakin apakah aplikasi mobile .NET akan terasa asli di Android, tapi saya rasa tidak.

Mungkin Anda tertarik pada pendekatan lain: Anda dapat menulis aplikasi Anda dalam bahasa Java. Anda kemudian dapat mengkompilasinya ke .NET melalui Microsoft J # (saya tahu itu dihentikan tetapi Anda masih dapat mengunduh dan menggunakannya) dan menggunakan kode Java yang sama di android. Sekali lagi, itu untuk kelas inti alias logika bisnis dan lagi Anda harus menulis GUI belakang. Mungkin Anda juga dapat menggunakan J2ME, yang tidak akan dapat Anda lakukan jika menggunakan .NET.

Lena Schimmel
sumber
tidak itu tidak akan Anda anggap bahwa bentuk menang akan porting, yang merupakan ide yang sangat buruk, MonoDroid akan memiliki binding ke widget UI android, sehingga akan terlihat persis seperti aplikasi android asli, pengguna bahkan tidak perlu mengetahuinya sedang berjalan di MonoDroid
trampster
Juga Bytecode CLI ke Dalvik adalah ide yang buruk, runtime mono dan VM sudah bekerja pada ARM, membuatnya berjalan di android tidak akan menjadi masalah. Dan melihat sebagai mono dikompilasi JIT dan Dalvik ditafsirkan. Menjalankan mono runtime akan jauh lebih cepat.
trampster
2

NET untuk Android. Tampaknya seperti kemungkinan nyata bagi saya. Ada berita bahwa Microsoft akan merilis Silverlight yang tepat untuk Android - Jangan pernah meremehkan keuntungan bagi Microsoft untuk memasukkan boot ke Apple. Sebuah smartphone yang lebih cepat, lebih kaya fitur, siklus hidup pengembangan lebih cepat, perangkat keras yang mengesankan, Flash & Silverlight sebagai standar yang dapat dipasang.

Microsoft memiliki kepentingan dalam meningkatkan Android, dan pada saat yang sama, aplikasi akan digunakan untuk Silverlight di Android juga akan bekerja pada OS Windows Phone 7 dengan multi-touch, GPS, dll., Dll.

Menandai
sumber