Facendo un C#/Winform applicazione cross-platform - devo usare ARIA, Mono, o qualcos'altro?

StackOverflow https://stackoverflow.com/questions/72580

  •  09-06-2019
  •  | 
  •  

Domanda

Ho un app che mi hai scritto in C#/WinForms (il mio piccolo app).Per rendere cross-platform, sto pensando di rifare in Adobe AIR.Ci sono argomenti a favore di WinForms come un'applicazione multi-piattaforma?C'è un cross-piattaforma di futuro per Winforms (ad esempio, Mono, etc.)?Suggerimenti per il cross-piattaforma di sviluppo dell'interfaccia utente?

Da un cross-piattaforma voglio dire, attualmente, Mac OSX, Windows e Linux.

Questa domanda è stata ha chiesto di nuovo e rispose con successo migliore.

È stato utile?

Soluzione

Sto pensando di rifare in Adobe AIR

Non aver passato molto tempo con l'ARIA, la mia personale opinione è che è meglio per portare una webapp per il desktop e fornire una shell o eseguire il flash esistente/progetto flex sul desktop.

Btw, se non sai ActionScript, voglio dire, i suoi dettagli, particolari, ecc, non dimenticate di fattore nel tempo googling per le risposte.

Ci sono argomenti a favore di WinForms come un'applicazione multi-piattaforma?C'è un cross-piattaforma di futuro per Winforms (ad esempio, Mono, etc.)?

È sempre difficile prevedere cosa accadrà, ma c'è almeno un progetto di Plastica (SCM) so che usi Mono Winforms su Win, Mac e Linux, quindi è certamente fattibile.Tuttavia, dicono di aver costruito la maggior parte della loro controlli da terra (e affermano di voler rilasciare in open source, ma non so se o quando), quindi sarà necessario mettere in qualche lavoro per rendere le cose sembrano "abbastanza".

Ho giocato con Winforms su piattaforme non-windows e, purtroppo, non è esattamente "maturo" (in particolare su Mac).Così che cosa si ottiene fuori della scatola può o non può essere sufficiente per le vostre esigenze.

Se si decide un app desktop non è il modo migliore per fornire una soluzione cross-platform, si può sempre prendere il vostro business logic scritto in C# e creare una vera e propria webapp con ASP.NET o andare con Silverlight, tante altre opzioni esistenti con C#.

Altri suggerimenti

Per quanto riguarda la mia esperienza in Flex/AIR/Flash actionscripting va, Adobe AIR sviluppo di un ambiente di codifica e debug del set di strumenti sono di gran lunga inferiori ai Visual Studio e .NET SDK del momento.L'interfaccia utente del set di strumenti sono superiori però.

Ma come hai già un lavoro di codice C# , il porting di codice ActionScript potrebbe richiede una riprogettazione a causa di ActionScript avere un modo diverso di pensare e di programmazione, si utilizzano diversi tipi di dati primitivi, ad esempio, utilizzano solo una Number invece di int float double ecc.e gli strumenti di debug sono tranquilla carente rispetto ai VS IMO.

E ho sentito che Mono GtkSharp è tranquilla una piattaforma decente.

Ma se non ti dispiace la codifica/debug di problemi di strumentazione, quindi l'ARIA è una grande piattaforma.Mi piace come si integra Adobe Flash esperienza di esso, ad es.è possibile avviare un'installazione dell'applicazione AIR tramite il clic di un pulsante in flash movieclip, che tipo di integrazione.

WinForms sono pienamente supportati da Mono, quindi sono cross-platform.

Perché vorresti andare con l'Aria?

Utilizzare GTK#, e si dispone di un cross-platform motore di moduli e si arriva a mantenere il vostro codice C#.

Beh, penso che l'unico modo per per il cross-piattaforma affidabile con C# è Microsoft Silverlight, ma non è davvero WinForms, e basato su browser.Oltre a questo, sì Mono è una possibilità.

Se si desidera utilizzare l' .net Framework, Microsoft Silverlight è un bene (l'unico?) scelta.Il browser fa un buon lavoro come un guscio, ma si potrebbe anche scrivere il proprio guscio di applicazione per esso.Per esempio, Scott Handelman cita il NY Times Reader scritto in Silverlight e hostet di Cacao su un Mac.

Io non credo che ci sia un futuro per WinForms a tutti.Dato che sembra essere stata una soluzione di emergenza anche in MSFT mondo ( molto sottile wrapper per Win32).E praticamente senza cambiamenti sembrano essere state apportate al Sistema.Windows.Forme in entrambi .NET 3.0 e 3.5

</speculation>

Vorrei usare Java o Aria.

Penso che finché è assicurarsi che la logica di business si scrive il codice è multi-piattaforma (es.l'uso di barre rovesciate in percorsi funziona solo su Windows - barre funziona su tutti i sistemi operativi), quindi Mono non dovrebbe avere grandi problemi di esecuzione di un non modificato WinForms programma.Basta assicurarsi che si prova per il glitch grafici.

Ho chiesto a una domanda simile la settimana scorsa.Sto usando Mono lungo, e non hanno avuto problemi durante l'esecuzione delle applicazioni compilare IL correre su SuSE linux (io di solito usi KDE) o windows, tuttavia, io non sono andato fuori e ha un mac di sicurezza la prova.Sarò presto, anche se, probabilmente in un paio di settimane.Ma tutti e di tutto lo sviluppo in Mono è stato molto bravo a creare l'applicazione che verrà eseguito su più piattaforme.

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