Google Android .NET'i destekleyecek mi? [kapalı]


253

Google'ın Android işletim sistemine sahip G1 artık (yakında) kullanıma sunulduğundan, android platformu hiç .Net'i destekleyecek mi?


24
Şimdi bu bir şey olurdu!
Calanus

daha da önemlisi, Microsoft .NET'i Windows dışındaki bir platforma hiç taşıyacak mı?
Kerry

Yanıtlar:


325

Güncelleme : Bu cevabı iki yıl önce yazdığımdan beri, Mono'yu Android'de çalıştırmak için ürettik. Çalışma birkaç adım içeriyordu: Mono'yu Android'e taşımak, Visual Studio ile entegre etmek, Mac ve Windows'ta MonoDevelop için eklentiler oluşturmak ve Java Android API'lerini .NET dillerine göstermek. Bu artık http://monodroid.net adresinde mevcuttur.

Android'de Mono, Mono 2.10 çalışma zamanını temel alır ve varsayılan olarak C # 4.0 derleyicisiyle 4.0 profilini kullanır ve Mono'nun yeni SGen çöp toplama motorunun yanı sıra Java ve Mono'da GC gerçekleştiren yeni dağıtılmış çöp toplama sistemimizi kullanır.


Aşağıdaki bağlantılar Ocak 2009 itibariyle Android'de Mono'yu yansıtıyor, onları tarihsel bağlam için sakladım

Mono artık Koushik Dutta ve Marc Crichton'un çalışmaları sayesinde Android'de çalışıyor.

Burada çalışan bir video görebilirsiniz: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html

Mono'yu kendiniz inşa etmek için talimatları buradan edinebilirsiniz: http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Mono'nun JIT ve Dalvik yorumlayıcısını karşılaştıran bir karşılaştırma ölçütü burada bulabilirsiniz: http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html

Ve elbette, burada Mono ile önceden yapılandırılmış bir görüntü elde edebilirsiniz (bununla ilgili ayrıntılar için yayının altına gidin): http://www.koushikdutta.com/2009/01/building-mono-for- android.html


1
Dedim ki, MS ne de Google değil ama muhtemelen Miguel ve işte buradasın (iyi olduğunu biliyorum, sen bir şekilde yakınsın) Harika bağlantılar Miguel. Google'ın bunu hiç destekleyeceğini düşünüyor musunuz? Yani limanı kaputlarının altına mı alıyorlar? :) Yapabilseydim kendi cevabımı
küçümseyeceğim

6
Uhm, "sadece" aynı donanımda çalışan debian'da çalışıyor. Bence "android" oldukça ported değil, ama onun gibi görünüyor tamamen bağlantı noktası büyük bir sorun değil gibi geliyor.
sandos

1
Merak ediyorum, bunu yüklemeyi kolaylaştırmak için Google ile herhangi bir konuşma yapıldı mı? Belki de Market'ten ücretsiz olarak indirebilirsiniz. Net uygulamalarının piyasaya sürülmesine izin verilsin mi?
csauve

1
Çok kötü Visual Studio Express ile çalışmıyor ...
Rockcoder

1
Muhteşem. Güncel bir cevap gördüğüme sevindim +1 Miguel
Steven Evers

78

Evet, mümkün olacak ve o kadar da zor olmayacak. Bu noktada başlamak için gereken tek şey, MSIL'i Dalvik bayt koduna dönüştürecek bir tür dönüştürücü . Her iki biçim de açık kaynaklı ve iyi belgelendirilmiş olduğundan, herhangi bir sorun olmayacaktır.

Bu nedenle, C # veya VB.NET'te Android uygulamaları yazmak mümkün olacak, soru ne kadar .NET framework standart kitaplıklarının destekleneceğidir. Ama bu başka bir mesele.

Oscar Reyes şunu yazdı:

Google elinin .net'e HERHANGİ bir ilgisi varsa, Android ilk aşamalarında iken, şimdi üretim aşamalarındayken bir şeyler tasarlayacaklarından eminim. Bu mümkün değil demek istemiyorum, söylediklerim ilgilenmiyorlar. Belki mmm hhhh 10 yıl.

Aslında zaten tasarladıkları şey Java ve .NET ile çok uyumlu

Her şeyi aynı anda yapamazlar, ancak Android SDK'ya bakarsanız, dx adlı bir araç var . Bu araç Java bayt kodunu Dalvik bayt koduna dönüştürür, yani başka bir deyişle, bugün Android'de Java ile yazılmış programları bugün hiç çaba harcamadan çalıştırabilirsiniz. Şimdi aynı araç .NET için gereklidir.

Ne kadar benzer .NET ve Java göz önüne alındığında, bu gerçekten bir zaman meselesi.

ddimitrov şunu yazdı:

.Net-> Java-> Dalvik çeviri şimdi bile yapılabilir ( http://dev.mainsoft.com/ ), ancak bence .Net kütüphanelerinin eksikliğini hafife alırsınız. Tabii ki birisi Mono'yu canlandırabilir, ama kesinlikle önemsiz bir çaba.

Mono limanına gerek yok. Android'in zaten VM'si ve bazı temel API'ları var. Gereken tek şey Android API için CIL-> Dalvik dönüştürücü ve küçük .NET sarmalayıcı (ve bazı standart .NET sınıflarının bazı temel uygulamaları). Bu kadar.

Güncelleme: .NET zaten Android'de çalışıyor - yukarıda belirtildiği gibi Monodroid ( http://monodroid.net ) adlı ürüne ihtiyacınız olacak .


Evet, asla bilemeyiz ... belki, belki ... 10 yerine 4 yıl yap ...: P
OscarRyz

16
Kabul etmiyorum. Söylediğiniz her şey teknik olarak mümkün, ancak bence bir büyüklük sırasının gerektirdiği işi küçümsüyorsunuz. Çapraz derlenmiş bir merhaba kelimesi gibi bir kavram kanıtını birkaç saat içinde bir araya getirmek her zaman kolaydır. Ancak tüm sınıflar için sarmalayıcılar kurmak çok iştir.
Lena Schimmel

4
@Brian, yayınladığınız video Android ile değil iPhone ile ilgili.
lubos hasko

14
Google'ın Java benzeşimi göz önüne alındığında , bununla .NET'e gitmedikleri çok şaşırtıcı değil . Evet, Mono kullanmak mümkün olabilir, ancak Google'ın .NET'i Microsoft'un Linux kullanmaktan kaçınacağı gibi benzer bir hevesle kullanacağından neredeyse eminim.
Joey

2
"küçük şirketler, biraz daha büyük olanlar arkasına ağırlık koymadıkça geleceklerine bahse girmeyecek." Novell zaten sponsor oluyor. Microsoft, hem kodek hem de test paketleri sağlayarak Moonlight türev projesini destekliyor.
sblom

23

Onun yaptığı duyuruda Miguel de Icaza en blogunda onlar MonoDroid çağrılacak olan android için mono üzerinde çalışmaya başlamadan olduğunu Feb 2010 17th.

Bu, iphone'daki MonoTouch'a benzer ancak bunun yerine android için.

Android UI'ye bağlanma sağlayacak, böylece uygulamalar canlı yerel android uygulamalarına bakacak ve hissedecek. Bu, android'e özel bir kullanıcı arayüzü yazmanızı gerektirir.

Ancak, yeniden derlemeye gerek kalmadan mevcut alt düzey kitaplıklarınızı yeniden kullanabilirsiniz.


Monodroid beta şimdi beta programına erken kaydolan kişiler tarafından kullanılabilir.
Damian

evet şu anda özel beta, hangi için kayıt oldum ama şu ana kadar bir davet kaçırmış :(
trampster

9

Android için taşınan .NET çerçevesi için Mono for Android var. Ve Android tabanlı uygulamalar geliştirmek için C # ve temel .NET API'lerini kullanmak için bir geliştirme yığını olan MonoDroid var. MonoDroid Preview 1 birkaç gün önce yayınlandı.


9

Bu, Android ve .net desteğini ararken Google'daki ilk bağlantılardan biri olduğundan, bunu yalnızca buraya göndermek için uygundur.

Mono proje, C # gibi CIL dillerini kullanarak Android uygulamaları geliştirmek için bir SDK üzerinde çalışıyor. Aşağı tarafı ticari bir ürün olacak. monodroid


7

MonoDroid önizleme için hazırdır. Bence bu boşluğu dolduracak. Bununla birlikte, MonoDroid geliştirme için pahalı bir seçenek olabilir. Diğer geliştirme araçlarının maliyeti 199 ila 4000 $ arasındadır (MonoTouch .. iPhone dev aracı ... 399 ila 3999 $ arasında fiyatlandırılır). İnsanlar bu araçlarla uygulama geliştirirse, bazı getirileri görmek için çok güçlü bir iş modeline ihtiyaç duyarlar.


6

Bu xmlvm göz atın Bu mümkün olduğunu düşünüyorum. Bu videoyu da kontrol edebilir


Bu cevapları seviyorum. Bu mümkün olduğunu gösterir, ancak bu videoyu izlerseniz, hala kaç sorunun çözülmeye açık olduğunu ve bunların arkasında ne kadar çalışma olduğunu gösterir.
Lena Schimmel

4

Modifiye edilmiş bir Mono limanı da tamamen mümkündür.


@akdom, masaüstü / sunucu işletim sisteminden gömülü yazılım taşıma konusunda deneyiminiz var mı? Biraz mobil geliştirme deneyimim (Java ve Brew) ve IMHO var, çabayı gayet küçümsüyorsun. Mümkün olabilir, ancak önümüzdeki 3 yıl içinde kesinlikle değil.
ddimitrov

@ddmitrov: Soru, EVER'li android platformunun önümüzdeki üç yıl içinde .NET'i destekleyip desteklemeyeceği idi. Sadece Mono .NET'in açık kaynaklı bir uygulaması olduğundan Mono'nun android sürümünü sıfırdan başlamaktan daha kolay olacağını düşünüyordum.
akdom

2
Sonunda üç yıl sürmedi. Ve Xamarin halkı bunu altı aydan daha kısa sürede tekrar yapmayı planlıyor.
Justin

4

.NET kompakt çerçevesi Symbian işletim sistemine taşındı ( http://www.redfivelabs.com/ ). 'Kapalı' bir platform olarak .NET bu platforma taşınabiliyorsa, Android için neden yapılamayacağını hiçbir şekilde göremiyorum.


Kompakt çerçeveyi kullandınız mı? Her gün işimde yapıyorum ve MonoDroid şeklinde bir mono port daha iyi olacak.
Mart'ta trampster

4

.NET ve Mono, birçok araç ve bunları nasıl kullanacağını bilen insanların mükemmel beceri tabanına sahip harika ortamlardır.

Bence Mono, mobil platformlar arası geliştirme ortamı olma fırsatına sahip, iPhone'daki Objective-C'ye tek alternatif olduklarını ve Android'e taşınabilir olmaları gerektiğini görüyor ve .NET zaten Windows Mobile'da.

Monotouch'ta olduğu gibi Android API'sı için sarmalayıcılarla Android'de Mono'nun sağlam bir uygulamasını görmeyi umuyorum ve bunu kendim yapacak bir pozisyonda olmadığım için ödeme yapmaya hazır olurum.


3

Silverlight'ın Android uygulamasını görmeniz daha olasıdır. Microsoft temsilcisi, temsilcinin sorunlu olduğunu söylediği iPhone'a kıyasla bunun mümkün olduğunu doğruladı.

Ancak .Net çerçevesinin bir sürümü mümkündür. Sadece bu kadar önemseyen birine ihtiyacım var :)

Ama gerçekten, C #'dan Java'ya geçmek o kadar da büyük bir şey değil ve iki platform arasındaki (PC'ye karşı G1) büyük farklılıkları göz önünde bulundurarak, ikisinde de koşmak istedin.


3

Bence CLI Bytecode'u Dalvik'e dönüştürmek ve Koleksiyonlar, Dosya erişimi, vb.Gibi bazı temel özellikler için sarıcı sınıflar yazmak teknik olarak mümkün olurdu.

Ancak Android'de çalışan bir .NET masaüstü uygulaması, bir dokunmatik cihazda çok kullanışlı olmayan klasik bir Windows Benzeri GUI'ye sahip olacağı için yabancı hissedecekti. Öte yandan, .NET'te android benzeri bir GUI'yi kodlayacak olsaydınız, başka bir sarmalayıcı setine ihtiyacınız olurdu (sarmalamanın, yukarıda belirtilen sarmalayıcıların aksine tam tersi olduğuna dikkat edin).

Bir .NET mobil uygulamasının android'de yerli olup olmayacağından emin değilim, ama sanmıyorum.

Belki başka bir yaklaşıma ilgi duyuyorsunuz: Başvurunuzu Java dilinde yazabilirsiniz. Daha sonra Microsoft J # ile .NET'e derleyebilirsiniz (kesildiğini biliyorum, ancak yine de indirip kullanabilirsiniz) ve aynı Java kodunu android'de kullanın. Yine, bu temel sınıflar, yani iş mantığı için ve yine yedek GUI'ler yazmak zorunda kalacaksınız. Belki .NET kullanırsanız yapamayacağınız J2ME'yi de etiketleyebilirsiniz.


hayır, kazanma formlarının taşınacağını varsayarsınız, bu gerçekten kötü bir fikirdir, MonoDroid'in android UI widget'larına bağları olacaktır, bu yüzden tam olarak yerli bir android uygulaması gibi görünecek, kullanıcının bunu bilmesine bile gerek yok MonoDroid üzerinde çalışıyor
Mart'ta trampster

Ayrıca Dalvik için bir CLI Bytecode kötü bir fikir, mono çalışma zamanı ve VM zaten ARM üzerinde çalışıyor, android üzerinde çalışmasını sağlamak bir sorun olmayacak. Mono olarak görmek JIT derlenir ve Dalvik yorumlanır. Mono çalışma zamanında çalışmak çok daha hızlı olacaktır.
Mart'ta trampster

2

Android için .NET benim için gerçek bir olasılık gibi görünüyor. Microsoft'un Android için uygun Silverlight yayınlayacağına dair haberler var - Önyüklemeyi Apple'a koymak için Microsoft'un avantajlarını asla küçümsemeyin. Daha hızlı, daha zengin özelliklere sahip, daha hızlı geliştirme yaşam döngüsü, etkileyici donanım, standart olarak yüklenebilir Flash ve Silverlight özellikli bir akıllı telefon.

Microsoft, Android'i geliştirmeye büyük bir ilgi duyuyor ve aynı zamanda Android'de Silverlight için uygulamalar geliştirilecek, çoklu dokunma, GPS vb.Ile Windows Phone 7 işletim sisteminde de çalışacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.