.net multipiattaforma?

domenica 16 novembre 2014 - 09.25

alextyx Profilo | Expert

Sto cercando di capire se sogno o son desto. A quanto pare Microsoft ha/avrebbe intenzione di aprirsi allo sviluppo verso sistemi diversi tra cui sicuramente Android e Mac. Da qualche parte si legge anche Linux, ma, forse a causa della genericità del termine (quale delle varie distro?), i vari strumenti di sviluppo tra cui il nuovo Visual Studio 2013 Community (mi pare si chiami così), si fregia della possibilità di lavorare per Mac, per Android, ma non per il pinguino.
E le form che appaiono su windows, apparirebbero uguali anche su altri OS, magari con opportune scelte progettuali?
Cosa ne sapete voi?
E per non sbagliare, buona domenica a tutti! :)

pieroalampi Profilo | Expert

Non vorrei sbagliare ma f# gira gia su linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

alextyx Profilo | Expert

Non so nemmeno cosa sia F#. Mai neppure aperto per sbaglio! ;)
Ma non usa il framework, lui? Perchè la discriminante grossa è quella. Se il framework gira su Linux, dovrebbe girarci per tutti i linguaggi .net, credo.
Ci sarebbe anche Mono, ma è sempre in affanno a rincorrere le uscite dei vari framework. Magari ci saranno, oltre a Mono, altre implementazioni un po' avventurose, ma qui si parla di aprire il codice del framework microsoft e di un suo coinvolgimento diretto.

0v3rCl0ck Profilo | Guru

Ciao, volevo provare ad aggiungere qualche chiarimento (o confusione )....

In sostanza, sono partiti proprio dei nuovi progetti, con la riscrittura da zero di tutto il framework (Core CLR), proprio per essere leggero, modulare e cross-platform.

Ma.... al momento asp.net vnext gira su linux e osx, sfruttando Mono (3.4.1 in su), ma in futuro andrà con i nuovi framework scritti ad-hoc dalla community open-source, esattamente in stile mono, con l'aiuto anche del creatore di mono, diciamo che è diventata una big family. Nel frattempo hanno fatto in modo di fare girare la parte server anche su linux e mac con questo approccio mono, ma sfruttando lo strumento KVM/KRE per la gestione del versioning del framework, perchè sostanzialmente non sarà più necessario installare il framework, ma ogni applicazione (attualmente solo asp.net) potrà decidere che versione di framework utilizzare e specificare che parti importare, e kvm si preoccuperà di scaricare e di lanciare l'applicazione con il framework giusto.

Questi sono i principali punti per il FUTURO:

- .NET Core 5 is open source on GitHub
- Microsoft will support .NET Core 5 on Windows, Linux and Mac.
- Microsoft has contributed .NET Core 5 to the .NET Foundation
- .NET Framework 4.6 reference source now uses the MIT license
- Renewed collaboration with the Mono Project

un po' di link:

http://www.dotnetfoundation.org/aspnet-vnext

http://www.dotnetfoundation.org/netcore5

http://github.com/aspnet/home

http://github.com/aspnet/Home/wiki/version-manager

http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx

http://blogs.msdn.com/b/dotnet/archive/2014/11/12/announcing-net-2015-preview-a-new-era-for-net.aspx

http://graemechristie.github.io/graemechristie/blog/2014/05/26/asp-dot-net-vnext-on-osx-and-linux/



Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

0v3rCl0ck Profilo | Guru

per quanto riguarda WPF questa è la roadmap nuova:

http://blogs.msdn.com/b/dotnet/archive/2014/11/12/the-roadmap-for-wpf.aspx

non credo faranno il porting di wpf su linux/mac, penso che punteranno di più su tecnologie come xamarin, ma mai dire mai, sicuramente quello che è certo è che WPF è vivo e vegeto.


Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

alextyx Profilo | Expert

Ciao overclock e grazie per le notizie :)
Personalmente il mio obiettivo a breve è di veder girare un player per digital signage, che sostanzialmente è un'applicazione desktop in Vb.Net, anche su macchine Linux. Mi ero pure messo a studiare Java, pensando di tradurlo e avevo anche acquistato un libro; 42 euro che avrei risparmiato se Nadella avesse avviato prima la sua rivoluzione ;)
Ora il dubbio è se e tra quanto sarà possibile convertire una desktop application Vb.Net in qualcosa di masticabile, con qualche inevitabile accorgimento progettuale (credo che perlomeno dovrò usare stringhe differenti per i vari percorsi assoluti, a seconda del sistema operativo), anche da un PC con un sistema del pinguino, o in futuro pure Android. Tra l'altro io riferisco il progetto al framework 3.5 (avrei lasciato anche il 2.0, ma uso LINQ....), che mi consente di utilizzare vecchi PC con XP, ancora in uso in alcune postazioni. E quindi è possibile che il tutto mi giri anche con Mono, che però finora non avevo preso in seria considerazione. Tuttavia, se c'è davvero la volontà di Microsoft di andare nella direzione di permettere ad applicazioni come la mia di divenire cross platform, allora potrei intanto mettermi al lavoro con mono (del quale conosco poco più che il nome), sapendo che in futuro, vada come vada, il supporto anche ad eventuali upgrade della mia applicazione (magari potrei smettere di limitarmi al framework 3.5) ci sarà e anche con la collaborazione di Microsoft. Questo mi farebbe stare abbastanza tranquillo. Altrimenti sarei stato obbligato a orientarmi verso Java, che come portabilità la sa lunga! ;)
Comunque almeno ho visto quanto si assomigliano Java e VB.Net. Microsoft ha proprio scopiazzato di brutto! :D
Non ho ancora aperto i link che hai inviato, ma hai qualche notizia sulla tempistica per quanto riguarda il supporto a VB.Net desktop application? Qualche rumour...? ;)

0v3rCl0ck Profilo | Guru

come ti dicevo, per le desktop application non credo faranno un porting trasparente di tecnologie come win forms e wpf, win forms come sai c'è già su mono, ma il più delle volte non è comunque un granche... proprio per questo motivo sono nati progetti come Xamarin, che si prefiggono come obiettivo di creare applicazioni NATIVE, sviluppate con la tecnologia che più ci piace (.net c#/vb.net)

quindi se vuoi fare un applicazione cross-platform, ti consiglio di approcciare a xamarin, dove vedrai che tante cose del tuo vecchio progetto potrai tenerle invariate, classi di calcolo, classi di accesso ai dati, ecc... il tutto sviluppando da visual studio!!

qui trovi un bel progettino cross-platform (iOS, Android, Windows Store, Windows Phone):

http://blog.xamarin.com/share-code-across-ios-android-and-universal-windows-apps-using-shared-projects/

codice completo: https://github.com/nishanil/DietCalculatorUniversal

nell'articolo ci sono i link anche ad altri articoli, come il Porting existing .NET apps to iOS: http://blog.xamarin.com/porting-existing-.net-apps-to-ios/ dove appunto fa vedere il porting di un applicazione silverlight (che quindi potrebbe essere benissimo winforms o wpf)

Xamarin è già utilizzabile!! non è un beta!

Xamarin è stato creato dallo stesso creatore di mono (Miguel de Icaza), che collabora strettamente anche con microsoft.


Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

alextyx Profilo | Expert

Il mio primo target è effettuare un porting su Linux ed eventualmente in un secondo tempo, non escludermi anche Android. Poi vedremo più in là se ci saranno anche altre esigenze, ma come diceva Keynes "nei tempi lunghi siamo tutti morti "
In effetti avevo sentito riecheggiare anche questa possibilità (xamarin), di cui so ancora meno che di Mono (e non è facile).
Proverò a cercare di capire di cosa si tratta.
Ovviamente resta importante poter capire il destino del cross platform in generale e in questo senso l'uscita di Microsoft mi rende abbastanza tranquillo che i vari progetti come Mono o Xamarin, dovrebbero venire facilitati, o eventualmente sostitutiti con qualcosa che ne replichi, forse migliorandole, le caratteristiche. Se non ci fosse stata questa dichiarazione di Microsoft, avrei optato per Java, pur essendo un rischio non pari a zero anche quello, visto che si dice che ancora non si sappia cosa Oracle voglia fare.
Che tu sappia, esiste qualche tutorial o anche un buon vecchio libro, per l'introduzione all'uso di Xamarin?
Intanto per ringraziare la tua disponibilità, accetterò le tue risposte, ma considero questo thread aperto a chiunque voglia e possa portare notizie a proprosito di questa svolta epocale di Microsoft
Mi interessa comunque l'argomento in prospettiva e penso sia di interesse a molti.

Grazie di nuovo per la tua disponibilità

0v3rCl0ck Profilo | Guru

sinceramente per tutto quello che riguarda xamarin trovi buone guide nei link che ti ho già girato, e direttamente dal sito ufficiale: http://developer.xamarin.com/

altra lettura interessante: http://xamarin.com/guide/

per quanto riguarda linux e desktop application, credo l'unica possibilità per ora sia mono e windows forms, quindi sostanzialmente devi cercare di creare l'applicazione con tante librerie in comune, e poi creare applicazioni specifiche per l'ambiente riutilizzando le librerie in comune, quindi inizialmente ci vedo un applicazione winforms che gira anche su mono linux, però scrivendolo con tante librerie portabili, così da poterle poi risfruttare per applicazioni xamarin (ios, win store, win phone e android).

il mio presentimento, che le applicazioni desktop cross-platform arriveranno per ultime, perchè ormai si pensa sempre prima al device, mobile first e cloud first, poi il resto...


Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

alextyx Profilo | Expert

@ Overclock
"...il mio presentimento, che le applicazioni desktop cross-platform arriveranno per ultime..."
Temo anch'io
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5