Domanda

Ora che il G1 con il sistema operativo Android di Google è ora disponibile (presto), la piattaforma Android supporterà mai .Net?

È stato utile?

Soluzione

Aggiorna : da quando ho scritto questa risposta due anni fa, abbiamo prodotto Mono per funzionare su Android. Il lavoro prevedeva alcuni passaggi: il porting di Mono su Android, l'integrazione con Visual Studio, la creazione di plug-in per MonoDevelop su Mac e Windows e l'esposizione delle API Android Java ai linguaggi .NET. Questo è ora disponibile su http://monodroid.net

Mono su Android si basa sul runtime Mono 2.10 e per impostazione predefinita passa al profilo 4.0 con il compilatore C # 4.0 e utilizza il nuovo motore di raccolta dei rifiuti SGen di Mono, nonché il nostro nuovo sistema di raccolta dei rifiuti distribuito che esegue GC su Java e Mono.


I link sottostanti riflettono Mono su Android a partire da gennaio 2009, li ho conservati per il contesto storico

Mono ora funziona su Android grazie al lavoro di Koushik Dutta e Marc Crichton.

Puoi vederne un video in esecuzione qui: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html

E puoi ottenere tu stesso le istruzioni per costruire Mono: http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Puoi ottenere un benchmark comparando il JIT di Mono e l'interprete di Dalvik qui: http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html

E, naturalmente, puoi ottenere un'immagine preconfigurata con Mono qui (vai in fondo al post per i dettagli su come usarla): http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Altri suggerimenti

Sì, sarà possibile e non sarà così difficile. Tutto ciò che è necessario a questo punto per iniziare è una sorta di convertitore che trasformerà MSIL in bytecode Dalvik . Poiché entrambi i formati sono di origine aperta e ben documentati, non ci saranno problemi.

Quindi, scrivere applicazioni Android in C # o VB.NET sarà possibile, la domanda è: quante librerie standard di .NET framework saranno supportate. Ma questo è un altro problema.

  

Oscar Reyes ha scritto:

     

Sono abbastanza sicuro che Google mano QUALSIASI   interesse per .net, avrebbero progettato   qualcosa mentre Android era in   primi stadi, non ora quando sono dentro   fasi di produzione. Non voglio dire che lo sia   impossibile, quello che sto dicendo è   non sono interessati. Forse in mmm   hhhh 10 anni.

In realtà ciò che hanno già progettato è molto compatibile con Java e .NET

Non possono fare tutto in una volta, ma se guardi in Android SDK, c'è uno strumento chiamato dx . Questo strumento converte il bytecode Java nel bytecode Dalvik, quindi in altre parole, è possibile eseguire programmi scritti in Java su Android senza sforzo oggi. Ora lo stesso strumento è necessario per .NET.

Considerando quanto .NET e Java siano simili, è davvero una questione di tempo.

  

ddimitrov ha scritto:

     

La traduzione .Net- > Java- > Dalvik può   essere fatto anche ora   ( http://dev.mainsoft.com/ ), ma io   pensi di sottovalutare la mancanza di   Librerie .Net. Certo che qualcuno può   porta Mono, ma è sicuramente una   sforzo non banale.

Non è necessario eseguire il porting di Mono. Android ha già VM e alcune API di base. Tutto ciò che serve è il convertitore CIL- > Dalvik e un piccolo wrapper .NET per API Android (e forse alcune implementazioni di base di alcune classi .NET standard). Questo è tutto.

Aggiornamento: .NET funziona già su Android: avrai bisogno del prodotto chiamato Monodroid ( http: // monodroid .net ) come indicato sopra.

Miguel de Icaza è stato annunciato sul suo blog il 17 di Febbraio 2010 che stanno iniziando a lavorare su mono per Android che si chiamerà MonoDroid.

Questo sarà simile a MonoTouch sull'iPhone ma per Android invece.

Fornirà l'associazione all'interfaccia utente Android, quindi le app appariranno e sentiranno app Android native dal vivo. Ciò richiederà di scrivere un'interfaccia utente specifica per Android.

Sarai comunque in grado di riutilizzare le librerie di livello inferiore esistenti senza la necessità di ricompilare.

C'è Mono per Android, il framework .NET portato per Android. E c'è MonoDroid, uno stack di sviluppo per l'utilizzo di C # e le principali API .NET per lo sviluppo di applicazioni basate su Android. L'anteprima 1 di MonoDroid è stata rilasciata un paio di giorni fa.

Dato che questo è uno dei primi link su Google quando si cerca supporto per Android e .net, è giusto postarlo qui.

Il progetto mono sta lavorando su un SDK per sviluppare applicazioni Android usando linguaggi CIL come C #. Il lato negativo è che sarà un prodotto commerciale. monodroid

MonoDroid è disponibile per l'anteprima. Penso che colmerà il divario. Tuttavia, MonoDroid potrebbe essere un'opzione costosa per lo sviluppo. I loro altri strumenti di sviluppo costano tra $ 199 e $ 4000 (lo strumento di sviluppo di MonoTouch .. iPhone ha un prezzo compreso tra $ 399 e $ 3999). Se le persone sviluppano app con questi strumenti, hanno bisogno di un modello di business molto forte per vedere alcuni ritorni.

Dai un'occhiata a xmlvm Penso che sia possibile. Può anche essere possibile controllare questo video

È anche del tutto possibile una porta modificata di Mono .

.NET compact framework è stato portato su Symbian OS ( http://www.redfivelabs.com/ ). Se .NET come piattaforma 'chiusa' può essere portato su questa piattaforma, non vedo alcun motivo per cui non possa essere fatto per Android.

.NET e Mono sono ambienti fantastici, con molti strumenti e un'eccellente base di competenze di persone che sanno come usarli.

Penso che Mono abbia l'opportunità di essere l'ambiente di sviluppo mobile multipiattaforma preferito, visto che sono l'unica alternativa a Objective-C su iPhone e dovrebbero essere portatili su Android, e .NET è già su Windows Mobile .

Spero davvero di vedere una solida implementazione di Mono su Android, con wrapper per l'API Android come con Monotouch, e sarei pronto a pagare per questo dato che non sono in grado di farlo da solo.

È più probabile che tu veda un'implementazione Android di Silverlight. Il rappresentante Microsoft ha confermato che è possibile, rispetto all'iPhone in cui il rappresentante ha dichiarato che era problematico.

Ma è possibile una versione del framework .Net. Ho solo bisogno che qualcuno se ne occupi così tanto :)

Ma in realtà, passare da C # a Java non è un grosso problema e considerando le drastiche differenze tra le due piattaforme (PC vs G1) sembra improbabile che tu possa cavartela con una base di codice per qualsiasi app su cui si desidera eseguire entrambe.

A mio avviso, sarebbe tecnicamente possibile convertire il Bytecode CLI in Dalvik e scrivere classi wrapper per alcune funzionalità di base come Collezioni, Accesso ai file, ecc., anche se sarebbe un duro lavoro.

Ma un'applicazione desktop .NET eseguita su Android sembrerebbe estranea, poiché avrebbe una classica GUI simile a Windows che non è molto utilizzabile su un dispositivo touch. Se, d'altra parte, dovessi codificare una GUI simile ad Android in .NET, avresti bisogno di un altro set di wrapper (nota che il wrapping è esattamente l'opposto rispetto ai wrapper menzionati sopra).

Non sono sicuro se un'applicazione mobile .NET si sentirebbe nativa su Android, ma immagino che non lo farebbe.

Forse sei interessato a un altro approccio: puoi scrivere la tua applicazione in linguaggio Java. Puoi quindi compilarlo in .NET tramite Microsoft J # (so che è fuori produzione ma puoi comunque scaricarlo e usarlo) e utilizzare lo stesso codice Java su Android. Ancora una volta, questo è per le classi principali, ovvero la logica aziendale, e di nuovo dovresti scrivere GUI di rimorchio. Forse puoi anche usare J2ME, cosa che non sarai in grado di fare se usi .NET.

.NET per Android mi sembra una reale possibilità. Ci sono notizie secondo cui Microsoft rilascerà Silverlight corretto per Android: non sottovalutare mai i vantaggi di Microsoft per l'avvio di Apple. Uno smartphone più veloce, ricco di funzionalità, ciclo di vita più rapido, hardware impressionante, Flash & amp; Silverlight come standard installabile.

Microsoft ha un interesse acquisito nel migliorare Android e, allo stesso tempo, le applicazioni saranno sviluppate per Silverlight su Android funzionerà anche su Windows Phone 7 OS con multi-touch, GPS, ecc. ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top