Mono introduzione Mono Mono un framework per lutilizzo

  • Slides: 24
Download presentation
Mono introduzione

Mono introduzione

Mono • Mono è un framework per l’utilizzo di C# • Attraverso mono si

Mono • Mono è un framework per l’utilizzo di C# • Attraverso mono si possono generare file binari di C# o di altri compilatori compatibili con microsoft, utilizzabili anche sotto linux • Per installare mono sotto raspberry sudo apt-get install mono-complete • I file hanno estensione. cs • Si crea allora un file. cs con il seguente codice: sudo nano hello. cs

Hello. cs using System; public class Hello { static public void Main () {

Hello. cs using System; public class Hello { static public void Main () { Console. Write. Line ("Hello, questo è il mio primo programma"); } }

C# • C# è un linguaggio orientato agli oggetti • Il codice creato si

C# • C# è un linguaggio orientato agli oggetti • Il codice creato si trova in una classe public che contiene la classe main • Per poter scrivere sulla console c’è bisogno di riportare il seguente codice • Consolewriteline(“………”); • Per poter compilare da console: mcs hello. cs • Se tutto è anadato nel verso giusto, viene creato un file eseguibile es. hello. exe • Per eseguire bisogna digitare: file hello. exe • Dal prompt dei comandi, viene scritto che l’eseguibile non è compatibile con i il sistema ma solo dalla console Intel 386 • Noi stiamo usando una versione linux e per giunta su un processore ARM

Ricerca di compatibilità • Il file binario compilato precedentemente era corretto ma poteva girare

Ricerca di compatibilità • Il file binario compilato precedentemente era corretto ma poteva girare solo sotto windows. Bisogna installare la seguente GUI: GTK • sudo apt-get install gtk-sharp 2 • Per avere però un programma che funzioni bene, bisogna scrivere un altro codice:

Nuovo codice using Gtk; using System; class Hello { static void Main() { Application.

Nuovo codice using Gtk; using System; class Hello { static void Main() { Application. Init (); Window window = new Window (“ciao a tutti"); window. Show(); Application. Run (); } }

Risultato finale e IDE • Per compilare il programma: mcs hellogtk. cs -pkg: gtk-sharp-2.

Risultato finale e IDE • Per compilare il programma: mcs hellogtk. cs -pkg: gtk-sharp-2. 0 • Per eseguire il programma: mono nomefile. exe • Comparirà una finestra grafica sul desktop con scritto ciao a tutti • Non è poi così semplice come sembra perché dobbiamo usare le librerie per gestire le GPIO di raspberry. • Mono ha anche una IDE. Per poterla installare: • sudo apt-get install monodevelop

Controllare i pin using Raspberry. IO. General. Purpose; using System. Collections. Generic; using System.

Controllare i pin using Raspberry. IO. General. Purpose; using System. Collections. Generic; using System. Linq; using System. Text; using System. Threading. Tasks; namespace dotnet_raspberrypi_mono { class Program { static void Main(string[] args) { Output. Pin. Configuration pin 12 = Connector. Pin. P 1 Pin 12. Output(); pin 12. Enabled = false; using (Gpio. Connection connection = new Gpio. Connection(pin 12)) { while (!Console. Key. Available) { connection. Toggle(pin 12); Thread. Sleep(250); }}}}}

Windows o raspbian? • I programmi illustrati in precedenza possono essere scritti anche sotto

Windows o raspbian? • I programmi illustrati in precedenza possono essere scritti anche sotto visualstudio dal pc e poi, si passa l’eseguibile a raspberry. L’importante è aver installato le GUI giuste come in precedenza • Ma, con l’IDE installato, si può scrivere un programma illustrato nella slide precedente. • Può essere difficoltoso installare le librerie giuste come Raspberry. IO. General. Purpose;

L’IDE sotto raspbian • Nel progetto bisogna utilizzare anche dei package che si scaricano

L’IDE sotto raspbian • Nel progetto bisogna utilizzare anche dei package che si scaricano dalla repository dopo aver installato correttamente Nuget • Il package è installato anche in windows se si vuole utilizzare visual studio sotto windows • Oppure, è installato anche in monodevelop so in raspberry • In entrambe i casi, le librerie utili sono selezionati dagli strumenti sia di monodevelop che di visualstudio

Nu. Get • • • Nu. Get è uno strumento essenziale per qualsiasi piattaforma

Nu. Get • • • Nu. Get è uno strumento essenziale per qualsiasi piattaforma di sviluppo moderna; attraverso iesso gli sviluppatori possano creare, condividere e utilizzare codice utile. Spesso questo codice viene incluso in "pacchetti" che contengono codice compilato, ad esempio file DLL, insieme ad altri contenuti necessari nei progetti che utilizzano questi pacchetti. Per. NET (incluso. NET Core), il meccanismo supportato da Microsoft per la condivisione del codice è Nu. Get, che definisce in che modo vengono creati, ospitati e utilizzati i pacchetti per. NET e fornisce gli strumenti per ognuno di questi ruoli. In altri termini, un pacchetto Nu. Get è un singolo file ZIP con l'estensione. nupkg che contiene codice compilato (DLL), altri file correlati a tale codice e un manifesto descrittivo che include informazioni come il numero di versione del pacchetto. Gli sviluppatori con codice da condividere creano pacchetti e li pubblicano in un host pubblico o privato. I consumer di pacchetti ottengono tali pacchetti dagli host appropriati, li aggiungono ai loro progetti e quindi chiamano le funzionalità di un pacchetto nel codice dei progetti. Nu. Get gestisce tutti i dettagli intermedi. Dato che Nu. Get supporta gli host privati oltre all'host nuget. org pubblico, è possibile usare i pacchetti Nu. Get per condividere codice esclusivo per un'organizzazione o un gruppo di lavoro. È anche possibile usare i pacchetti Nu. Get come un modo pratico per eseguire il factoring del codice per usarlo esclusivamente nei progetti personali. In breve, un pacchetto Nu. Get è un'unità di codice condivisibile, ma non richiede né implica un modo particolare di condivisione. Da https: //docs. microsoft. com/it-it/nuget/what-is-nuget

Scrivere un programma sotto windows

Scrivere un programma sotto windows

Scegliere il tipo di progetto

Scegliere il tipo di progetto

Template

Template

Da strumenti: nuget

Da strumenti: nuget

Package installati

Package installati

Ricerca di package utili

Ricerca di package utili

Installare nuget

Installare nuget

Installare Raspberry. IO

Installare Raspberry. IO

Scrivere il programma

Scrivere il programma

Eseguibile per raspberry

Eseguibile per raspberry

Eseguibile per raspberry

Eseguibile per raspberry