2013-03-06 7 views
9

Xamarin sembra essere una buona scelta di sviluppo multipiattaforma per me. Tuttavia, ci sono licenze di avviamento e indipendenti. La differenza principale è che:Dimensioni di IL per Xamarin codice C#?

Xamarin Starter permette allo sviluppatore di creare e pubblicare applicazioni semplici, che non contengono più di 32k di codice utente compilato (IL)

mi chiedo, è 32K di IL un collo di bottiglia molto restrittivo? Cosa posso ottenere dal codice 32K?

Se hai provato la versione iniziale di Xamarin, il limite di dimensioni è stato un problema per te e che tipo di app sviluppi?

+3

Il problema è che questa edizione è appena diventata disponibile una settimana fa quindi potrebbero non esserci molte persone che hanno già creato un'app con esso. Dal momento che * è * gratuito, perché non scaricarlo e creare un'applicazione Hello World e vedere qual è la dimensione? – valdetero

risposta

16

Aggiornamento (2016/03/31): tale limite non esiste più utilizzando Xamarin.iOS 9.6.1

Dal Xamarin.iOS 9.8.1 non c'è Starter edizione più e la nuova Comunità edizione che lo sostituisce ha il limite di dimensioni no.

Aggiornamento: il limite è stato aumentato a 128KB in Xamarin.iOS 8,4

Aggiornamento: il limite è stato aumentato a 64 KB in Xamarin.iOS 6.2

Ricordate che è 32KB di utente Codice.

Ottieni tutte le librerie di classi .NET (BCL), l'API iOS, MonoTouch.Dialog (per l'interfaccia utente), i servizi Web, Dati (ad esempio sqlite) ... e anche il codice di test delle unità a tua disposizione. Nessuno di essi conta come codice utente (quindi non fanno parte del limite di 32 KB).

E.g. un'app ciao mondo (non un grande punto di riferimento, sarà per lo più codice generato) impiegherà circa 4KB.

Un modo migliore per vedere cosa è possibile e conoscere lo sviluppo di C# su iOS è guardare lo samples disponibile su github. La maggior parte di loro si adatta a questo limite.

+0

Poche applicazioni su più piattaforme si adatteranno a questo limite. Un buon esempio è la loro app "Field Service". Non è stato in grado di costruirlo a meno che non avessi rimosso piattaforme alternative (provando per WP8). Sembrava che la build di iOS non si adattasse al limite. –

+0

Questa limitazione è per piattaforma (.app per iOS). IOW solo il codice necessario per iOS conta per il limite, altri assembly (se non referenziati dal progetto non contano). OTOH l'esempio utilizza alcuni componenti (come SignaturePad e Xamarin.Mobile) che non rientrano nei limiti. Puoi ancora ** provare ** utilizzando la versione di prova di 30 giorni (senza limiti di dimensioni). – poupou

+0

è possibile separare qualsiasi logica di app in un PCL (libreria di classi portatile) e ridurre la dimensione effettiva del codice utente Xamarin –