Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - .NET Core ed Avalonia
Forum - C# / VB.NET - .NET Core ed Avalonia

Avatar
Thejuster (Member)
Guru^2


Messaggi: 1845
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 22:42
Mercoledì, 11/04/2018
Buona sera a tutti.

Per chi da poco è entrato nel mondo .NET o che già conosce il mondo del .NET
Sà anche di questa tecnologia. il .NET Core.

il .NET Core è un implementazione del .net Cross-Plattform.

Direttamente da windows, è possibile compilare tramite powershell un'applicazione creata usando il framework
.net core per Windows,Mac e Linux.

Esatto, si può compilare per qualsiasi sistema operativo direttamente da windows.
Questo grazie alle Shared Api.

Ma voglio parlarvi di questo nuovo sistema di sviluppo che ultimamente sta attirando l'attenzione di molti sviluppatori.
Si tratta di Avalonia.

Avalonia è un molto simile ad un interfaccia WPF.
difatti tramite questo componente in .NET Core è possibile utilizzare le UI scrivendo in XML
ottenendo in fine una applicazione funzionale per ogni sistema operativo completo di GUI.

è un passo importantissimo per il .net
Che spinge il .net sopratutto il C# verso il cross-plattform.

Unica limitazione, è che non esiste ancora un Designer.
Purtroppo và fatto tutto manualmente, va scritto ogni controllo tramite XML.
Ma la gestione e molto simile al WPF.

Vi mostro alcuni test fatti direttamente dal mio computer
completo anche di animazioni come un wpf!

Screen della Progettazione
https://s9.postimg.cc/3x5c3h3of/Cattura.png


Screen di Debug
https://s9.postimg.cc/9lbmufsm7/Cattura.png


PRO
1- Con l'aggiunta di alcuni nuget package, è possibile utilizzare anche il Drawing su pagine
    contenute nell'applicazione.

2 - Abbastanza intuitivo ma un pò legnoso negli eventi.



Contro

1 - Non si ha a disposizione di un Editor visivo, è basato su XML scritto.
     Per realizzare un interfaccia è abbastanza complicato, Bisogna supratutto
     agire bene sui controlli IContainer come Canvas, StackPanel, DockPanel etc.

2 - Non è possibile dare ai controlli posizioni statiche come ad esempio X o Y
     Ma si può dare ad un contenitore posizioni come Left o Top.



Consigli

1 - Bisogna tenere presente il funzionamento delle GTK come ordine e posizioni
     ma scriverlo in XML anziché visivamente.

2 - Alcuni eventi sono nascosti come ad esempio


Codice sorgente - presumibilmente C# / VB.NET

  1. //XML
  2.  
  3.   <Button Content="Testo" Click="Prova" Name="Bt1"></Button>
  4.  
  5.  
  6. //CS
  7.  
  8. public void Prova(object sender, RoutedEvent args)
  9. {
  10.  
  11.    //ToDo
  12.  
  13. }




Ma essendo ancora in sviluppo ed essendo ancora una beta, è già un ottimo lavoro.
Spero che la notizia vi faccia gola.

Video di esempio

Applicazione Realizzata con .NET Core ed Avalonia UI Avviato su Linux

https://www.youtube.com/watch?v=G0iIATBWAkw







PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 449
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 23:39
Mercoledì, 11/04/2018
differenze rispetto al .NET core?


"Io ne ho viste cose che voi umani non potreste immaginarvi...."
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1845
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 0:27
Giovedì, 12/04/2018
è Net Core.

Forse intendevi il .NET standard.


L'unica differenza tra il .net ed il .net Core è che:


.NET  Accesso ai componenti System.Windows, mentre il per il .net core no.

Si può utilizzare tutto il framework .net tranne:

System.Window
System.Drawing

e qualche altra lib che mi sfugge.
potete informarvi sulla rete al riguardo.

Avalonia non è altro che un VSXI ovvero Plug-in per Visual studio
che permette tramite l'XML di poter avere una UI il stile WPF sulle librerie .net Core.



PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 449
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 0:52
Giovedì, 12/04/2018
Avevo capito fosse un qualcosa di parallelo al .net Core.
Al momento però credo che sia un qualcosa adatto a chi già mastica almeno un pochino di XML .. fare tutto senza designer, per chi è all'inizio non è semplice


"Io ne ho viste cose che voi umani non potreste immaginarvi...."
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1845
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:41
Giovedì, 12/04/2018
Si infatti ho trovato un bel po' di difficoltà nell' orientarmi.

Ma credo sia solo questione di abitudine o pratica.

Se ad esempio guardi quel video, l'autore di quel programma ha fatto un ide perfetto.

Quindi si può fare, ma e tutto un concetto completamente diverso a come normalmente siamo abituati a fare.

Invece per applicazioni basato su console, il .net core e una manna dal cielo.

Programmi come fosse semplicemente un programma c# console. Ma con la differenza che e multi piattaforma.

Senza installare nulla.

Per compilare bisogna utilizzare powershell da Windows.

Dopo ad esempio specificando la piattaforma di destinazione nei parametri, compila anche tutte le librerie.

Ad esempio per Linux appariranno file .so e direttamente l'eseguibile.

Quindi il sistema di destinazione non avrà biaogno nel del .net, ne del mono, e niente di niente.


PM Quote