Newsgroup: it.lavoro.informatica
Titolo: libro per sviluppare interfacce utente su visual studio

ciao a tutti, mi servirebbe un vostro consiglio: sto scrivendo i miei primi programmini su visual studio in c++, ma mi sto rompendo della console.
ho visto che sul sito microsoft c'è la documentazione e un po' ho capito, conosco anche xml e anche un po' di xsd, ma vorrei un tutorial, non proprio da principianti ma quasi, che mi porti per mano almeno all'inizio, poi penso di riuscire da solo.
grazie a tutti


,
frega niente a nessuno? :-)
o nessuno sviluppa interfacce grafiche? :-)
quelle che un tempo si chiamavano "form", oggi non so

 quelle che un tempo si chiamavano "form", oggi non so
 
investi 15 euro su udemy.
 

 grazie a tutti
 
 
lascia stare le api gui di win32 a meno che non vuoi apprenderle o anche 
le MFC (assolutamente vecchie come progettazione a quanto mi risulta)
 
oggi si usano framework
 
https://terminalroot.com/the-7-best-cpp-frameworks-for-creating-graphical-interfaces/
 
 
Il bello e' che alcuni di questi framework  sono indipendenti dalla 
piattaforma
 
 
-- 
|___|
 

 quelle che un tempo si chiamavano "form", oggi non so
 
Onestamente è una domanda talmente generica che non saprei come rispondere in modo sensato.
 
Io in questo momento sto:
 
- mantenendo un'applicazione destinata a PC windows, sviluppata anni fa, che usa WinForms;
- portando un'applicazione che era in WinForms e userà WPF (*);
- studiando MAUI perché dice di garantire quel cross-platform che consente di minimizzare la codebase specifica per ogni destinazione.
E solo per quel che riguarda Windows. 
 
Poi sto collaborando allo sviluppo di un portale web, per cui utilizziamo Blazor e bisogna inevitabilmente avere una conoscenza almeno discreta di HTML e CSS.
Poi sto mantenendo un'app con destinazione Android che impiega Xamarin.
 
E questo solo lato Windows.
 
Se poi andiamo verso mondo UX, sempre se non si vogliano utilizzare interfacce web (e qui i framework si sprecano, a partire da jQueryUI) si può usare GTK+, e usare ciò che su questo si basa, per sviluppare cose che hanno una discreta possibilità di essere cross platform.
 
E son convinto di aver grattato appena la superficie, e non mi son nemmeno dedicato al mondo Apple, che conosco poco.
 
(*) WPF è necessario perché mi servono componenti che ancora non son stati portati in MAUI.
 
-- 
Ciao!
Luca


Cooomplimeeeentiiiii!!
Scusa ma chisenefotte della tua cronistoria?
La prima frase era già quasi di troppo, potevi fermarti li'.
 


Al link che ti ha scritto enoquick trovi le piu' usate
librerie/framework gratuite e a codice aperto che permettono
lo sviluppo multi piattaforma di interfacce grafiche con C++
usando un qualsiasi ambiente, Visual Studio incluso.
 
Ci sono anche le soluzioni Microsoft. Chiedi di windows form
perchè lo *devi* usare? Allora vai sulla documentazione di quella
tecnologia e studia. Se puoi scegliere approfondisci mooolto
di piu' prima di scegliere, sia le soluzioni Microsoft e
proprietarie in generale e quelle nel mondo libero e open source.
 
E' lunga, ma alla fine, quando sarai in grado di scegliere,
avrai imparato gia' molto.
 

 La prima frase era già quasi di troppo, potevi fermarti li'.
 
Mamma mia, come ti sei svegliato male, questa mattina...
 
-- 
Ciao!
Luca

 piattaforma 
 
volevo rimanere all'interno di microsoft, imparando XAML e la WinUI 3.
non sapevo neanche ci fossero tutti questi framework

 Onestamente è una domanda talmente generica che non saprei come rispondere in modo sensato. 
 
non sapevo fosse generica, non sapevo di tutti questi framework.
complimenti per i tuoi progetti!
io vorrei al momento fare delle interfacce grafiche carine, che so, stavo guardando il sito di banca intesa, una cosa moderna in quello stile, XAML e WinUI 3 che se non ho capito male è cross platform, anche se penso non mi muoverò da windows e android in futuro

 avrai imparato gia' molto.
 
sì ma io non ho capito come devo approfondire :-) 
enoquick mi ha dato un ventaglio enorme di soluzioni che ignoravo, per me non fa differenza perchè non le conosco: dici che le devo guardare tutte e poi scegliere?


E non c'era neppure il solito traffico infernale...
 
 

 enoquick mi ha dato un ventaglio enorme di soluzioni che ignoravo, per me non fa differenza perchè non le conosco: dici che le devo guardare tutte e poi scegliere?
 
Credo che prima ti convenga cercare sui forum,
internazionali magari, domande simili alla tua e imparare prima
a farti una idea di quali sono le caratteristiche tecniche e legali
piu' rilevanti nella scelta di una tecnologia per scrivere interfacce
graFICHE. Passo successivo chiarirti cosa vuoi fare. Chiedi di nuovo
ma questa volta piu' mirato, scegli, inizi a studiare, sviluppi.
 

 io vorrei al momento fare delle interfacce grafiche carine, che so, stavo guardando il sito di banca intesa, una cosa moderna in quello stile, XAML e WinUI 3 che se non ho capito male è cross platform, anche se penso non mi muoverò da windows e android in futuro
 
Se vuoi rimanere in quest'ambito, ti suggerisco MAUI, che nei piano MS integra WinUI e Xamarin.
 
-- 
Ciao!
Luca

 graFICHE
 
Ni. La prima domanda secondo me è: che ci vuoi fare? 
Quei framework grafici (avevo dimenticato Qt, che ho pure impiegato in passato, my bad) sono ottimi per lo sviluppo di applicazioni desktop, servono poco o niente (a meno che non ci siano dei porting interessanti che non conosco) se la destinazione è un'interfaccia web o un'app da far girare su tablet o smartphone.
 
Molti produttori si stanno concentrando su soluzioni che consentano di avere una codebase comune e una minima parte che si occupi dell'UI. Ho citato MAUI, sforzo di Microsoft per integrare Xamarin, Blazor e WPF in un insieme armonico, però non è che l'ultima. Si può usare Flutter, ad esempio, molto interessante e indipendente, si può usare ReactNative.
 
Aggiungo. In rete c'è tale disponibilità di documentazione che una persona non ha che l'imbarazzo della scelta, e il mezzo 'libro' a mio parere ha senso se una persona vuole indirizzi generali, mentre non è più sensato per apprendere le tecnicalità specifiche (*).
 
(*) Passamela, in realtà alcuni libri sono e restano molto interessanti.
 
-- 
Ciao!
Luca


Pure io:
 
https://en.wikipedia.org/wiki/Maui
 
 

On 07/12/2022 15:57, Luca Menegotto wrote:

Scherzi a parte...
 
"Experience streamlined development with zero-time setup,
  using the  technologies you already know and love – Qt, QML, and C++"
 
Tre domande:
 
- Hanno fatto un fork di Qt e con licenza LGPL?
 
- Tutto quello che si puo' fare con QML si puo' fare anche
   con opportune API in C++?
 
- MS di mezzo...dove starà il lock in?
 
 

 
 
Si, concordo.
 
Ci sarebbe da dire che tanti sono mostri diversi in tutti gli aspetti,
da un piccolo toolkit grafico in C al Framework omnicomprensivo scritto
nel linguarggio "SarcazzoSonFacileEfaiPrima". Un bel mal di testa per
chi si avvicina a 'ste cose per la prima volta.
 
 
 
 

 enoquick mi ha dato un ventaglio enorme di soluzioni che ignoravo, per me non fa differenza perchè non le conosco: dici che le devo guardare tutte e poi scegliere?
 
 
ti diro quelle che conosco
QT - orribili come progettazione c++ e lente in esecuzione ma c'e una 
ottima doc e un programmma associato per costruire GUI
Multipiattaforma
 
wxWidgets - progettazione molto vecchia, le scarterei
 
 
 
ultimate++ - non malaccio,esiste persino un ide tipo visual studio con 
integrato un programma di costruzione
Non mi piace molto la progettazione
Multipiattaforma
 
nana - ottima progettazione, unico difetto manca (per ora per quello che 
ne so) un programma per la costruzione gui
multipiattaforma
 
 
 
 
-- 
|___|
 


 
quando parli di interfacce grafiche intendi anche sviluppo web?

 quando parli di interfacce grafiche intendi anche sviluppo web?
 
sì, nella mia ignoranza ("lo avevamo capito!" :-D) pensavo che ne esistesse una completa.
Diciamo che ne vorrei una con un raggio d'azione più ampio possibile, che possa girare sia su windows che android almeno, tutto il resto in più è ottimo.
non ho ancora in mente cosa fare di specifico, per il momento studio e faccio qualche applicazione per mio uso personale, poi si vedrà.
grazie a tutti per i consigli, sto prendendo appunti

 Se vuoi rimanere in quest'ambito, ti suggerisco MAUI, che nei piano MS integra WinUI e Xamarin. 
 
grazie molte per la dritta. 
rimango ancora meravigliato per la quantità interminabile di possibilità.
domanda banale: ma non potevano fare un'unica soluzione e via?
paradossalmente il fatto che esistano molte alternative mi sta incasinando la vita

 domanda banale: ma non potevano fare un'unica soluzione e via?
 
un'unica soluzione per cosa?

 domanda banale: ma non potevano fare un'unica soluzione e via? 
 
E' dove si sta cercando di andare, ma a mio parere non ci si arriverà mai del tutto. Perché? Troppa differenza di forme e di esigenze. Come fai a fare un'interfaccia che sia efficace su uno smartphone e, nel contempo, sia in grado di funzionare correttamente in un browser web (dove ci sono le interfacce responsive, che fatte girare su smartphone sono abbastanza una pena)?
 
-- 
Ciao!
Luca
 


hai risposto perfettamente alla mia domanda. stavo proprio leggendo qualcosa su maui , grazie tante

 esistesse una completa.
 
beh nell'ignoranza ci avevi quasi preso. oggigiorno la grande maggioranza 
delle applicazioni desktop, almeno quelle con l'interfaccia più evoluta, 
hanno un front-end sviluppato con framework e tecniche comuni allo 
sviluppo web.
 
https://www.electronjs.org/apps
 
 
certo non c'incastra nulla il c++ ma detto fra noi se vuoi scrivere una 
applicazione desktop questa è una scelta che comunque va messa in 
discussione. 

Il 08/12/22 06:05, Armando Lario ha scritto:

quando ci sara una gui 2d (se ci sara) nella std lib potrai vedere 
realizzato il tuo sogno
 
-- 
|___|
 


https://www.stroustrup.com/bs_faq.html#gui
 
 


se desideri approfondire lo sviluppo web ti consiglierei angular o react, sono i due framework
di front end che ora vanno per la maggiore. Io conosco un po' solo angular, perché lavoro
al modulo di back end di un applicativo web ma faccio anche qualcosa sul front end, e devo
dire che lo trovo interessante e non eccessivamente difficile.

 di front end che ora vanno per la maggiore.
 
Su Angular, son d'accordo, su React (Native, va detto9 un po' meno. Noi lo abbiamo abbandonato a causa di alcune rigidità con cui non avevamo voglia di avere a che fare.


pensa questa è una discussione che viene dai tempi del conio.h. ricordo 
sia il compilatore borland che microsoft avevano la loro libreria per le 
interfacce testuali, ma solo per dos visto che per unix c'erano le curses.
 
ma se allora la decisione di non standardizzare poteva sembrare strano, 
adesso il motivo è abbastanza evidente. sarebbe stato solo lavoro buttato 
al cesso.

 discussione.
 
vorrei scrivere delle applicazioni di simulazione in multitasking per sistemi/processi concorrenti, e anche con scambio dati in tempo reale con macchine remote, server, pc, e simili. dopo aver finito di studiare il libro di c++, passo ad un libro di multithreading, anzi magari vi chiederò un consiglio anche su questo. il tutto presentato in maniera eye candy perchè mi piacciono anche le cose belle da vedere, e lo stile grafico di windows che va ora mi piace molto devo dire. mi pare di aver capito che il c++ è la migliore soluzione per questo tipo di cose. poi è richiesto da aziende in cui lavorano alcuni miei amici, magari mi passano qualcosa, boh, nella peggiore delle cose passione personale, magari faccio software per il mindstorm

 Se vuoi rimanere in quest'ambito, ti suggerisco MAUI, che nei piano MS integra WinUI e Xamarin. 
 
ah ma maui è solo per c#, non c++. però potrei lanciare i miei applicativi da c# e interfacciarmi con lui, la cosa si complica :-)

 magari faccio software per il mindstorm
 
che il c++ sia la migliore soluzione è molto discutibile, il fatto che 
implementi il multithreading non significa affatto che sia la scelta 
migliore per la programmazione concorrente. linguaggi come scala, erlang, 
occam, lo stesso go, implementano nativamente un modello di programmazione 
concorrente. in c++ esistono certamente delle librerie/api allo scopo ma 
non si può dire che sia il linguaggio più adatto. dovessi farlo io il 
ballottaggio sarebbe fra scala e go.

 ballottaggio sarebbe fra scala e go.
 
io sono tradizionalista :-D
diciamo che con c++ ho un conto in sospeso: per il momento lo imparo, ma tengo cari i tuoi consigli, c'è una diatriba che tu conoscerai sicuramente meglio di me sul fatto che c++ sia sorpassato e chi dice invece no, e che il multithread in c++ è il top. non lo so eh, ho sentito discutere ma erano discussioni di un po' di tempo fa. manco sapevo esistevano i linguaggi che citi :-(


le diatribe lasciano il tempo che trovano, non intendo dire che il c++ sia 
superato (non vedo perché sostenerlo). 
 
multithreading e concurrent programming non sono sinonimi. alcuni spunti:
 
https://en.wikipedia.org/wiki/Actor_model
 
https://en.wikipedia.org/wiki/Communicating_sequential_processes
 
https://en.wikipedia.org/wiki/Futures_and_promises
 

 io sono tradizionalista
 
anche io
e sicuramente anche Ken Thompson il papá di Unix e ... del linguaggio Go
 
Go con la programmazione concorrente é una bomba
 
un ritardato come me ci ha messo pochissimo a scrivere codice funzionante
 
poi ovviamente, lasciamo le diatribe e guerre di religione fuori dal 
thread, anche perché se ti piace il C++ allora a sto punto alle soglie 
del 2023 ti conviene anche guardare Rust (io l'ho fatto e ancora ho le 
vertigini, ma forse perché sono duro di comprendonio io)

 vertigini, ma forse perché sono duro di comprendonio io)
 
concetti come l'ownership sono tosti ma imho se uno ha la mente abbastanza 
vergine li assimila più facilmente. molte difficoltà vengono dal fatto che 
uno ha anni e anni di esperienza in cui questi concetti sono completamente 
alieni.