domenica, novembre 4

Sviluppare in modo nativo e in C# su Linux

Una delle cose più interesanti/affascinanti del framework .Net è ciò che Microsoft cerca in ogni modo (e accuratamente) di nascondere: il framework .Net è un framework open source.

Ciò posto è possibile usare un linguaggio .Net per sviluppare in sistemi operativi diversi di quelli che ci fornisce mamma MS? La risposta è "ovviamente si".

A me piace C# (lo adoro in realtà) e per VB è pure possibile ma non allo stesso livello.

Ma come si fa a sviluppare software per Linux usando un linguaggio di programmazione Microsoft senza usare emulatori?
Ecco una delle cose che mi è sembrata complicata (oggi) è avere un "ambiente" dove provare. Fino a qualche anno fa, fino a quando esisteva Novell che sponsorizzava il progetto Mono, era facile trovare una virtual machine già pronta. Oggi non c'è.

Allora si segue il giro "standard":andare sul sito di monodevelop, nella pagina download (http://monodevelop.com/Download), scoprire che ci sono delle versioni installabili su determinati sistemi operativi e fare tutto quanto viene indicato... Per verificare infine che non funziona: si installa MonoDevelop e poi premendo sulla finestrella per editare il sorgente, l'ambiente si pianta e si chiude. Miseramente.
Molto Bello.

Io che però non mi arrendo facilmente ho provato di tutto, da aggiornamenti di apt, a speciali configurazioni di yum, a versioni specifiche di linux, quasi sempre senza successo... Fino a quando ieri ci sono riuscito :).
Ecco di seguito i passi che io ho seguito:

1) Ho scaricato VmWare player dal sito:qui

2) Ho scaricato Ubuntu 12.04, virtual machine per VmWare, versione con ambiente grafico e vmware tools già installati:qui

3) Ho dovuto attivare l'utente ROOT per Ubuntu che purtroppo è disabilitato. Perchè ho dovuto farlo? Alcune operazioni di compilazione e debug vanno in eccezione "denied error" e dato che comunque uso un sistema operativo temporaneo e virtuale e mi posso preoccupare poco della sicurezza. (Leggere qui)

4) Ho fatto l'update on line di Ubuntu (463 download! wow, altro che Windows!), usando l'utility standard di sistema.

5) Ho usato uno script che ha scaricato e compilato monodevelop ultima versione sulla macchina virtuale (... Che spettacolo poterlo fare!) trovato su Blog di John Ruiz, vedi quiGRAZIE JOHN!

6) Ho scoperto che qualcosa è imperfetto per XSP e per lo sviluppo web allora ho fatto a mano:
    a) apt-get install mono-xsp
    b) ho usato l'utility di sistema per installare software per scaricare XSP4.

Non riesco a sviluppare in web/XSP4 ma XSP2 mi basta e avanza visto che posso arrivare al .net v3.5

Buon divertimento!

5 commenti:

  1. Bellissimo! Perche' Microsoft nasconde queste informazioni?

    RispondiElimina
    Risposte
    1. Bella domanda. Io una volta sono riuscito a salire sul palco di un WPC in Italia e dirlo. Da allora non mi hanno più chiamato.
      Io credo che questa informazione non potrebbe che giovare a Microsoft. Ma non sono io che faccio la loro strategia marketing ;)
      Una volta in sella c'era Bill Gates, lui lo avrebbe detto, ma Steve Ballmer ha idee diverse.
      Divertiti :)

      Elimina
    2. Davvero? Quando, che non ti ho mai visto?

      Elimina
    3. Ahahah, solo "esattamente" cinque anni fa, alla conferenza WPC 2007: ero riuscito ad ottenere la sala con due monitor, su uno sviluppavamo in Visual Studio su Microsoft (tra l'altro in VB.Net), sull'altro mostravamo il programma fatto in Windows girare "nativamente" in Linux e accedere al Sql-Server che stava su Windows.
      Fecimo anche un discreto successo e, sempre secondo me, con lo sviluppo di APP oggi questa cosa tornerebbe molto utile e interessante.
      Però -ovviamente- il marketing di mamma MS tira altrove.
      Sono scelte ;)

      Elimina

I commenti sono liberi, ho scelto di moderarli per evitare quelli inutili, la pubblictà lo spam e quelli scurrili.