Microsoft: Xamarin è gratuito per utenti Visual Studio e sarà open source

Microsoft: Xamarin è gratuito per utenti Visual Studio e sarà open source

Microsoft conferma in occasione della Build conference 2016 la decisione di rendere open source Xamarin, annunciata, contestualmente, la possibilità offerta agli utenti Visual Studio di utilizzarlo senza costi aggiuntivi

di pubblicata il , alle 19:25 nel canale Sistemi Operativi
WindowsMicrosoft
 
36 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
wingman8704 Aprile 2016, 07:26 #21
Originariamente inviato da: fano
Il problema dell'installazione troppo grossa è noto anche a Microsoft infatti la prossima versione (che non ho capito perché si chiama "15" invece di VS2016) avrà un installer diverso e più "modulare".

Riguardo Java sei sicuro che non avevi la spunta su C++ for mobile che, per qualche strana ragione, vuole portarsi dietro l'Android SDK che appunto dipende da Java?

Sono abbastanza sicuro perché non era l'installazione principale ma solo quella del language pack e forse non bisognava scegliere nulla. In generale faccio attenzione a scegliere solo il minimo indispensabile, quindi credo di non sbagliarmi
fano04 Aprile 2016, 09:41 #22
Originariamente inviato da: LMCH
Appunto, perchè non usare Qt ?


Perché con C# compili una volta sola e funziona PER SEMPRE? E non fino a che gli sviluppatori di Qt non decidono tra una minor release e l'altra di sp*ttanare completamente le API?
Perché l'XAML (e il designer) della Microsoft sono superiori di almeno un fattore 100 a QML?
Perché l'interfaccia utente è davvero nativa (ogni classe C# che ha a che fare con la grafica non è altro che una P/Invoke alla classe nativa) e non "simulata" come fa Qt?
Perché scrivere codice in C# senza doversi preoccupare di core a causa di puntatori, memory leak ed altre menate è molto meglio che scrivere codice in C++?
Unrealizer04 Aprile 2016, 11:08 #23
Originariamente inviato da: fano
Ma queste "Windows Forms" funzionano anche su Linux? Io credevo che Mono avesse lasciato il supporto a metà... comunque avrebbero l'aspetto di Windows che su Linux sarebbe un pugno in un occhio (nel senso che sarebbe troppo bello rispetto al resto della GUI :Prrr.
A parte gli scherzi io vorrei ciò che Java prometteva 10 anni fa (15?) stesso codice, ma GUI con aspetto "nativo" su Windows, Linux (nelle sue differenti ed incompatibili incarnazioni Gnome e KDE) e Mac OSX... è quello che per il mondo mobile promette oggi Xamarin spero sia portato anche nel mondo desktop.
UWP potrebbe anche essere una possibilità anche se continuo a vederle non come applicazioni desktop ma come mobili "forzate" un po' sul desktop, ma questo è forse un mio limite...


Si, il supporto a WinForms 1.1 e 2.0 è completo, e di default ha il tema di Win32 classico (simile a XP con Luna disattivato)

Quello che vorresti tu è qualcosa di simile a Xamarin.Forms, il problema è che ogni piattaforma ha i suoi paradigmi per la UI, quindi a meno di programmi molto semplici avrai sempre qualcosa che stona

UWP resterà una prerogativa di Windows secondo me... Comunque anche io all'inizio avevo la stessa impressione (magari perché le app di 8 erano ancora molto immature?), però mi sono accorto che uso sempre più UWP durante il giorno (Edge, Groove, Outlook, Messaggi/Skype e spesso preferisco le versioni UWP di Office rispetto alle versioni desktop)

Originariamente inviato da: wingman87
L'altro giorno ho installato la community edition di VS perché volevo scrivere qualche programmino in C++. Nella configurazione dell'installazione ho selezionato solo C++ (alcune spunte non si poteva toglierle). Risultato: 10GB di installazione.
Poi quando ho avviato VS ho notato che c'era qualcosa che non andava... era in italiano! Allora ho scaricato il language pack e quando ho lanciato l'installazione mi ha detto che avrebbe anche installato Java SE 7
Ma cosa c'entra java? Allora ho disinstallato tutto il carrozzone, non aveva proprio alcun senso.
Tra l'altro ci ho messo un sacco a disinstallare tutto perché tra i programmi installati aveva aggiunto una ventina di voci tra runtime libraries, mssql e dipendenze varie...


Come ha già detto fano il problema della dimensione è qualcosa che stanno già affrontando con la prossima versione di VS (è già disponibile la prima preview, sia con l'installer tradizionale che con il nuovo)

Per Java: sicuramente è perché avevi selezionato (o dimenticato di deselezionare?) qualche componente per lo sviluppo su Android

Originariamente inviato da: fano
Il problema dell'installazione troppo grossa è noto anche a Microsoft infatti la prossima versione (che non ho capito perché si chiama "15" invece di VS2016) avrà un installer diverso e più "modulare".

Riguardo Java sei sicuro che non avevi la spunta su C++ for mobile che, per qualche strana ragione, vuole portarsi dietro l'Android SDK che appunto dipende da Java?


15 è il numero di versione (come VS 2015 è la v14), mentre "l'anno" è il nome commerciale

a me sembra strano che non abbiano deciso di saltare la v15, dato che avevano saltato la v13 proprio per evitare che la gente lo confondesse con il 2013 (che è v12)

Originariamente inviato da: LMCH
Appunto, perchè non usare Qt ?


Nel campo mobile c'è un motivo che da solo basta: non sono UI native
Nel caso stessi facendo un'app LOB o per cui non mi importa avere una UI adatta alla piattaforma, farei comunque prima con Xamarin.Forms
fano04 Aprile 2016, 13:15 #24
Originariamente inviato da: Unrealizer
Si, il supporto a WinForms 1.1 e 2.0 è completo, e di default ha il tema di Win32 classico (simile a XP con Luna disattivato)

Quello che vorresti tu è qualcosa di simile a Xamarin.Forms, il problema è che ogni piattaforma ha i suoi paradigmi per la UI, quindi a meno di programmi molto semplici avrai sempre qualcosa che stona


Forse per i telefoni ha più senso dove solitamente la pagina / form è una o al massimo 2?
Non è ben capito sul sito quando parlano di supporto a Windows se intendono la versione "mobile" quindi UWP che - comunque - su Windows 8 e 10 desktop dovrebbe funzionare con anche i "magici" adattamenti di "Continuity".

Originariamente inviato da: Unrealizer
UWP resterà una prerogativa di Windows secondo me... Comunque anche io all'inizio avevo la stessa impressione (magari perché le app di 8 erano ancora molto immature?), però mi sono accorto che uso sempre più UWP durante il giorno (Edge, Groove, Outlook, Messaggi/Skype e spesso preferisco le versioni UWP di Office rispetto alle versioni desktop)


Sì sulla prima versione di Windows 8 davano proprio fastidio: venivano a tutto schermo, non avevano la barra tipica di un'applicazione (niente 'X' per chiuderla) insomma rompevano le palle! Poi con 8.1 le hanno rese già meno invadenti e con 10 probabilmente il cerchio si è chiuso...
Poi io sono un'utente un po' "atipico" il mio cellulare è ancora un glorioso Nokia 3310 quindi l'unica App per me è Snake! Skype non l'ho installato nemmeno sul PC se no rischio che il mio capo mi scriva cose di lavoro

Prima o poi mi dovrò far coraggio e cambiarlo, ma ho un problema funziona ancora per forza Nokia è fallita: l'ho lanciato contro un muro una volta (perché si era permesso dopo 5 giorni di avere la batteria scarica), l'ho rimontato e continua a funzionare

Originariamente inviato da: Unrealizer
15 è il numero di versione (come VS 2015 è la v14), mentre "l'anno" è il nome commerciale

a me sembra strano che non abbiano deciso di saltare la v15, dato che avevano saltato la v13 proprio per evitare che la gente lo confondesse con il 2013 (che è v12)


Forse "VS15" è solo il nome della beta poi lo chiameranno "Visual Studio 2016" creerebbe troppa confusione altrimenti... a quel punto tanto vale fare come Java e ricominciare la numerazione!

Originariamente inviato da: Unrealizer
Nel campo mobile c'è un motivo che da solo basta: non sono UI native
Nel caso stessi facendo un'app LOB o per cui non mi importa avere una UI adatta alla piattaforma, farei comunque prima con Xamarin.Forms


Infatti questo oltre al fatto di avere un vero IDE per scrivere il codice (Visual Studio), C#/XAML al posto dell'instabile C++/Qt (instabile non solo perché va in core, ma anche l'API è instabile) sembra essere un ulteriore vantaggio di Xamarin: la GUI è nativa e non "emulata" in qualche modo!
Unrealizer04 Aprile 2016, 15:42 #25
Originariamente inviato da: fano
Forse per i telefoni ha più senso dove solitamente la pagina / form è una o al massimo 2?
Non è ben capito sul sito quando parlano di supporto a Windows se intendono la versione "mobile" quindi UWP che - comunque - su Windows 8 e 10 desktop dovrebbe funzionare con anche i "magici" adattamenti di "Continuity".


dipende dalle app, quella su cui sto lavorando per ora ha una ventina di pagine diverse

se parli di Forms, intendono sia Windows Phone 8.0 (su Silverlight) sia UWP (quindi desktop, mobile, xbox e hololens)

Sì sulla prima versione di Windows 8 davano proprio fastidio: venivano a tutto schermo, non avevano la barra tipica di un'applicazione (niente 'X' per chiuderla) insomma rompevano le palle! Poi con 8.1 le hanno rese già meno invadenti e con 10 probabilmente il cerchio si è chiuso...
Poi io sono un'utente un po' "atipico" il mio cellulare è ancora un glorioso Nokia 3310 quindi l'unica App per me è Snake! Skype non l'ho installato nemmeno sul PC se no rischio che il mio capo mi scriva cose di lavoro

Prima o poi mi dovrò far coraggio e cambiarlo, ma ho un problema funziona ancora per forza Nokia è fallita: l'ho lanciato contro un muro una volta (perché si era permesso dopo 5 giorni di avere la batteria scarica), l'ho rimontato e continua a funzionare


beh, stamattina in aeroporto il mio 1520 è scivolato dalla tasca mentre correvo(ultima chiamata per il mio volo, il gate era dall'altra parte del piano) e ha fatto 2-3 metri strisciando sul pavimento dal lato del display, nemmeno un graffio

Forse "VS15" è solo il nome della beta poi lo chiameranno "Visual Studio 2016" creerebbe troppa confusione altrimenti... a quel punto tanto vale fare come Java e ricominciare la numerazione!


la versione è v15, ma visto che non si sa ancora se uscirà nel 2016, 2017 o anche 2018 lo indicano con il numero di versione oppure con un generico "vNext"

Infatti questo oltre al fatto di avere un vero IDE per scrivere il codice (Visual Studio), C#/XAML al posto dell'instabile C++/Qt (instabile non solo perché va in core, ma anche l'API è instabile) sembra essere un ulteriore vantaggio di Xamarin: la GUI è nativa e non "emulata" in qualche modo!


In più, c'è anche un altro vantaggio: la licenza di Xamarin ora è NETTAMENTE più conveniente di quella di Qt
fano04 Aprile 2016, 17:16 #26
Mmh quindi Qt non è gratuito per uso commerciale? Ops
the_best_hacker04 Aprile 2016, 17:36 #27
No, bisogna acquistare la licenza.
Con la versione open source, a quanto ho capito, non si possono creare dei pacchetti d'installazione contenenti tutte le librerie ma queste devono essere fornite insieme all'eseguibile dell'applicazione.
Almeno a livello desktop (ambito linux) significa che devi fornire all'utente uno zippone contenete l'applicazione è tutte le librerie di supporto di Qt e sarà poi compito dell'utente andare ad installare (oppure crei uno script ad hoc con tutte le path, cosa che su Windows ad esempio non so se è fattibile).

Poi in ogni caso le Qt pur basandosi sul c++, che in teoria dovrebbe fornire performance molto buone, alla fin dei conti risulta molto poco performante. Questo almeno se paragonato ai vari strumenti messi a disposizione del sistema per il quella sviluppi.
Ad esempio se fai un'applicazione per Mac OS con xcode e swift2 avrai un'ottimizzazione molto superiore rispetto a quella che avresti con le qt. Poi non parliamo neanche delle differenze per quanto riguarda i vari componenti grafici della ui, quelli proprio non si intonano per niente.

Stesso discorso penso sia su Windows con la suite VS e c#.


Ora però io stesso mi pongo un dilemma esistenziale. Al giorno d'oggi per un ragazzo che sta iniziando a studiare come programmare le prime app sul mondo mobile (nel caso mio Android) avrebbe più senso intraprendere la strada "nativa" e quindi studiare bene java (nel mio caso parto da una conoscenza discreta di c++) oppure puntare su questa piattaforma xamarin e quindi studiarsi per bene c#?

Voi cosa fareste?
Unrealizer04 Aprile 2016, 18:06 #28
Originariamente inviato da: the_best_hacker
No, bisogna acquistare la licenza.
Con la versione open source, a quanto ho capito, non si possono creare dei pacchetti d'installazione contenenti tutte le librerie ma queste devono essere fornite insieme all'eseguibile dell'applicazione.
Almeno a livello desktop (ambito linux) significa che devi fornire all'utente uno zippone contenete l'applicazione è tutte le librerie di supporto di Qt e sarà poi compito dell'utente andare ad installare (oppure crei uno script ad hoc con tutte le path, cosa che su Windows ad esempio non so se è fattibile).

Poi in ogni caso le Qt pur basandosi sul c++, che in teoria dovrebbe fornire performance molto buone, alla fin dei conti risulta molto poco performante. Questo almeno se paragonato ai vari strumenti messi a disposizione del sistema per il quella sviluppi.
Ad esempio se fai un'applicazione per Mac OS con xcode e swift2 avrai un'ottimizzazione molto superiore rispetto a quella che avresti con le qt. Poi non parliamo neanche delle differenze per quanto riguarda i vari componenti grafici della ui, quelli proprio non si intonano per niente.

Stesso discorso penso sia su Windows con la suite VS e c#.


Ora però io stesso mi pongo un dilemma esistenziale. Al giorno d'oggi per un ragazzo che sta iniziando a studiare come programmare le prime app sul mondo mobile (nel caso mio Android) avrebbe più senso intraprendere la strada "nativa" e quindi studiare bene java (nel mio caso parto da una conoscenza discreta di c++) oppure puntare su questa piattaforma xamarin e quindi studiarsi per bene c#?

Voi cosa fareste?


Per le performance di Qt non saprei dirti, l'unico programma Qt 5 che uso spesso è Telegram Desktop, che è dannatamente veloce

Anche in ufficio mi capita di usare un PC (i5-6600U + 16 GB di ram + SSD) con Arch e KDE Plasma, anch'esso basato su Qt 5 ed è abbastanza reattivo

Comunque, per come la vedo io Xamarin al momento è una scelta migliore: con Java ti bloccheresti solo su Android o al massimo iOS con RoboVM (che è comunque proprietà di MS, Xamarin l'aveva comprato qualche mese fa), mentre con C# puoi scrivere codice cross-platform

c'è comunque da considerare che, a meno che non usi Xamarin.Forms (scelta IMHO limitante) devi comunque conoscere i vari framework nativi: su iOS userai comunque Autolayout, UIKit e compagnia bella, come su Android userai comunque AXML e le normali API di Android, solo che li usi da C# invece che da Objective-C/Swift/Java (e nel caso di Android gireresti su Mono invece che su Dalvik/ART)

comunque negli ultimi mesi la richiesta di Xamarin è aumentata: solo da ottobre a oggi ho avuto 4 proposte di lavoro per Xamarin, e questo nonostante la licenza costasse 999$ per sviluppatore e per piattaforma (quindi un team da 2 sviluppatori che lavora ad un'app su iOS e Android poteva costare 4000$ in licenze), figuriamoci ora
wingman8704 Aprile 2016, 21:44 #29
Originariamente inviato da: Unrealizer
Come ha già detto fano il problema della dimensione è qualcosa che stanno già affrontando con la prossima versione di VS (è già disponibile la prima preview, sia con l'installer tradizionale che con il nuovo)

Per Java: sicuramente è perché avevi selezionato (o dimenticato di deselezionare?) qualche componente per lo sviluppo su Android

Il fatto che stiano già lavorando per ridurre la dimensione è una buona notizia. Sulla questione Java, quello che dite tu e fano ha sicuramente senso ma me lo sarei aspettato al momento dell'installazione principale, non di un language pack... Insomma mi ha deluso e penso che aspetterò la prossima versione prima di riprovarci.
LMCH05 Aprile 2016, 00:27 #30
Originariamente inviato da: the_best_hacker
No, bisogna acquistare la licenza.
Con la versione open source, a quanto ho capito, non si possono creare dei pacchetti d'installazione contenenti tutte le librerie ma queste devono essere fornite insieme all'eseguibile dell'applicazione.
Almeno a livello desktop (ambito linux) significa che devi fornire all'utente uno zippone contenete l'applicazione è tutte le librerie di supporto di Qt e sarà poi compito dell'utente andare ad installare (oppure crei uno script ad hoc con tutte le path, cosa che su Windows ad esempio non so se è fattibile).


Certo che per uno che come nickname ha "the_besk_hacker" ...

Sia con Windows, Linux ed Android si possono rilasciare applicazioni commerciali
usando la versione open source di Qt (licenza LGPL)
ed esiste pure un generatore di installer dedicato per Qt che permette di evitare di ricorrere agli "zipponi".

Anche con Android non è quel problema che sembra visto che gli .apk sono essenzialmente dei file .zip con dentro le librerie.

Gli unici veri problemi li si ha con iOS (bisogna usare xcode su Mac OS/X per il sideload) e con la vendita di app a pagamento su APp Store Google Play (per quelle finanziate con l'advertising non ci sono problemi) perchè bisognerebbe rendere disponibile su un sito il package di installazione senza firma "per chi vuole fare da se".

In quei casi, se si decide di rilasciare software a pagamento conviene procurarsi la licenza commerciale di Qt, meno problemi e maggiori funzionalità disponibili in anticipo rispetto alla versione open source.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^