No.990
no mai fatto, solo per test
cose tipo react flutter le hai considerate?
dipende molto cosa devi fare
No.991
>>990>cose tipo react flutter le hai considerate?A che pro? È roba destinata al front end di siti web, quindi riguarda la ui di un sito…
A me serve fare un'app desktop che non giri su chroomium
come fa electron consumando un triliardo di risorse hw
No.992
>>991magari cerca su google prima di parlare?
usa qt direi
No.993
>>992serve la licenza per distribuire con pagamento il sw…
No.994
Wails.
https://wails.io/In pratica è electron, ma con due differenze fondamentali:
- il back-end non è NodeJS (quindi javascript) ma Go, che oltre a essere molto meglio in generale compila nativo quindi niente runtime da includere
- il front-end è web ma al contrario di electron non ha bisogno di includere un browser al suo interno perché usa la webview preinstallata sul sistema
Questo lo rende molto più leggero.
Inoltre scrivi codice una volta sola e lo compili per win, mac e linux (supporta pure gli installer di windows) e dal momento che back-end e front-end sono separati se un giorno decidi di hostarlo sul web il 90% del lavoro è già fatto.
No.995
electron sta alla merda come
https://nwjs.io/ alla cioccolata.
No.996
java e' per quelli dell' itis, i veri uomini usano ImGUI
No.997
>>994sembra buono
Sul sito dice che js lancia codice go e la webview su win è comunque chromium
Tranquillo adesso arriva op a scaricarci merda sopra
No.998
>>989Dipende dove vuoi farla funzionare: Windows? Linux? entrambi? Mac? crossaplattaforma?
E quanto prevedi ci sarà di businesslogic rispetto all'interfaccia utente? 90%? 10%? 3%?
L'industrystandard per il desktop è il Qt, tutte le altre versioni (Fluxbox, ecc.) sono pallide imitazioni.
Qt si presta bene quando l'interfaccia occupa il 90% del programma.
Usi QtCreator per disegnare l'interfaccia (main window, dialoghi) e associarvi dei signal/slot (signal: "quando viene premuto questo, esegui questo"; slot: "quando arriva 'sto signale, accettalo qua").
L'architettura signal/slot è una cagata pazzesca ma visto che da Qt1.0 è sempre stato tutto in C++, era una soluzione funzionante che hanno fatto durare fino a oggi.
Usare una merdata "web", come i vari React, ecc., ti fa consumare un botto di risorse in più, e inutilmente.
No.999
>>998React flutter sono anche nativi
Ciao
No.1000
Innanzitutto, grazie a tutti per le reply , sono rimasto piacevolmente sorpreso di vedere anon che ne sanno a riguardo.
>>994Allora, m'ero ritrovato na cosa simile, se non erro si chiama Tauri che è l'ennesimo electron ma come wails usa la webview dell'os, anzichè Go usa Rust. Al massimo li valuto in base alle performance, da quel poco che ho visto di tauri usa 1/3 di quello che usa electron. Poi mi restra da capire quale è il più semplice da apprendere tra ruggine e Vai (vengo da c++, java, c#, python)
>>996>java e' per quelli dell' itisLMAO ma è proprio vero!
>i veri uomini usano ImGUIMi informai tempo fa, ma da quel che ho capito è più utile fare dei tool-in-window, poi capirei meglio con degli esempi
>>997>Tranquillo adesso arriva op a scaricarci merda sopraSe non è scandaloso come electron che per una finestra vuota ti occuma 500MB, non c'è bisogno di lanciare merda. Per quel che mi riguarda bisogna dare a cesare quel che è di cesare
non significa un cazzo>>998Crossplatform sarebbe quasi un must per me, pela la logica di business idealmente dovresi stare su un buon 25% stimato, sperando che la situazione non si evolva più del dovuto.
Come avevo già detto in precedenti post, Qt sarebbe una valida opzione (pure per quello che ho potuto provare in python), il problema è che per c++ è difficile creare un'ambiente di lavoro, specialmente in windows, oltretutto il prodotto "finale" non è commercializzabile se non pagando le licenze.
>Usare una merdata "web", come i vari React, ecc., ti fa consumare un botto di risorse in più, e inutilmente.Vero, ma è un ottimo tradeoff se la cosa viene gestita bene e decentemente. Il paragone lo faccio con una finsetra vuota Win32 e vedo quando consuma e quali risorse usa…
No.1002
>>1000E' il 2024 e ormai non esiste quasi nessun computer che faccia fatica a far girare una app electron, figuriamoci wails o tauri.
Quello della memoria utilizzata è un non-problema in un mondo in cui la RAM sui PC è sempre di più (e rimane quasi tutta inutilizzata per il 90% del tempo).
Concezioni che appartengono al passato, come la stupidaggine del "java è lento".
Poi se non ti piace programmare con tecnologie web allora è un'altra storia.
In ogni caso, mi sembra che negli ultimi anni ci sia stato un incremento nell'utilizzo di interfacce fatte in Qt come per esempio gli emulatori (duckstation, pcsx2, rpcs3 ecc.).
No.1003
>>1002Per quel che mi riguarda, nel 2024 il tuo discorso è sacrosanto: le macchine si fanno sempre più capienti e più veloci e performanti. Avere 32GB di RAM per molti gaymer è diventato uno standard a momenti e sti stronzi sono una parte di quello che è il mercato in se. Ci sono poi aziende che per risparmiare sui costi di corrente e di attrezzatura prendono in considerazione i classici pc da ufficio abbastanza efficienti, vedi gli optiplex che bene o male nel corso delle mie esperienze ho trovato anche in alcune aziende (non del settore informatico). Alla fine la maggior parte di questi pc da ufficio hanno solo il necessario per il pacchetto office. Per cose più importanti ho visto CEOs che usano l'ultimo modello di macbook per le email e per i porno (sappiate che è una realtà). Nella scorsa azienda dove ho fatto "tirocinio" ho visto sto figlio di puttana, che entrava in azienda per aggiornare il suo gestionale.
Parlandogli ho scoperto che tale gestionale è scritto, TUTT'OGGI, in
COBOL!
Motivo principale che mi è stato detto da sto tipo, è che molti imprenditori risparmiano spesso e volentieri sulle macchine (e vedendo i pc aziendali ha proprio ragione, il max di ram che ho visto era di 6GB con un merdosissimo intel del 2016 e con memorie di massa che non superavano i 250GB di storage, ma rimaniamo comunque che sono macchine per il sopracitato pacchetto office).
Secondo me sto tipo ha ragione per metà, dato che continuano a segarsi con COBOL per un problema di costi per rimodernare il sw con liguaggi moderni (stesso motivo del perchè molte banche non passano da COBOL ad altro)…
Ma comunque dal mio punto di vista, scrivere programmi per sistemi legacy ti porta anche a quella piccola e minuscola fetta di mercato che schifo non fa se ti paga.
>inb4 branch per macchine 32bit lmaooPersonalmente, non per progettini da mettere nel portfolio, non per farmi bellino, ma ho come obiettivo di completare al 100% un progetto, che può essere a pagamento o meno ma deve garantire:
-crossplatform
-zero licenze per la distribuzione
-compatibilità per sistemi legacy
No.1004
>>1003Ti prego rifai il gesionale e truffali chiedendo decine di migliaia di euro
No.1005
>>1000Apprezzo molto Rust, anzi, ne sono entusiasta, anzi, è il mio idolo.
Però le interfacce grafiche sono una merda secca.
Quello che tu veramente vuoi è:
- disegnare l'interfaccia dinamicamente (come fa QtCreator senza dover conteggiare i pixels e aggiustare continuamente i font)
- associare agli eventi una chiamata di funzione ("tasto Settings premuto: chiama puzzone() ")
- poter abilitare/disabilitare/riconfigurare qualcosa anche dall'interno degli eventi ("dropdown aperto, dunque disabilitare menu Configura")
- avere un main che suona così:
inizializza_malloppo();
loop {
if nessun_evento() {
pausa_di_cortesia();
}
if miafunzione_ha_flaggato_quit() {
break; }
}
No.1006
>>1003"Azienda"? Solo le banche usano il Cobol.
Per due motivi:
1) sono piuttosto allergici a riscrivere qualcosa che è collaudato da interi decenni di utilizzo
2) il Cobol non è astruso come i vari C++ Go Python Rust VisualBasic eccetera; se un programmatore Cobol fa una porcata, la porcata risulta visibile anche a un programmatore che non conosce il Cobol
E comunque se usano il Cobol è perché come user interface si accontentano di una schermata text-only, come negli anni '80 e primissimi anni '90.
Praticamente qualsiasi gestionale può essere riscritto senza usare le interfacce grafiche e il mouse.
E per le funzioni intermedie si possono usare i vari F3-F12, presenti ormai su tutte le tastiere, avendo cura di usare F1 per un help contestuale e F2 per salvare le modifiche.
E infatti fino a fine anni '90 così si faceva, perché le boomer degli uffici avevano imparato a memoria "pigia F2 per salvare".
Poi purtroppo tutti i PC sono usciti equipaggiati con Windows e quindi a poco a poco i gestionali si sono tutti convertiti a inutili interfacce grafiche. Ed è ricominciato il boomerismo del "non so come cazzo si salva la configurazione" "devi andare nel menu dei settaggi poi cliccare sul tasto configurazioni e quindi aprire il menu a tendina…"
No.1007
Comunque per Rust ci sono vari siti web riassuntivi dei pacchetti disponibili.
GUI:
https://areweguiyet.comgaming:
https://arewegameyet.rsweb:
https://www.arewewebyet.orgmachine learning:
https://www.arewelearningyet.com No.1008
>>1004Era tra le mie idee dato che la logica manageriale l'ho assimilata al 100%. Il problema è come riproporre la formula senza dover presentare una UI banalmente più intuitiva, quindi venendo in contro alle sopracitate macchine semi obsolete
comunque dato che è un sw che faceva DDT ci sarebbe da valutare un'aspetto legale e non saprei come cavarmela:/ >>1005Rust l'ho cominciato oggi stesso. Adoro che possa essere fortemente tipizzato e mi sembra di aver controllo di ogni cosa
sebbene il tutto sia quasi ad alto livelloIn ogni caso SI! Quello che hai elencato è ciò che mi serve e paradossalmente è un sistema che ho usato con android studio + java
mi scocciava imparare kotlin e son andato di java che già conoscevoSe ho conferma che con Qt posso vendere liberamente il sw e se trovo un modo decente per crearmi l'ambiente di lavoro su winzozz tra librerie, linker e senza dover necessariamente usare visual studio (quello con l'icona viola), allora giuro che rispolvero il manualone di C/C++ e mi ci metto sotto, ma per il momento preferisco cimentarmi con Rust e Tauri
>>1006>"Azienda"? Si e non solo una! Una fabbrica
di cui non dico nemmeno di che si occupa perchè ce ne son poche di sto tipo e vorrei evitare di essere spottato e un B&B con cui ho lavorato usavano gestionali totalmente scritti in COBOL. Uno testuale, l'altro con una UI uscita da win95 (e spoiler girava alla grande su windows 10 e 4GB di ram, credo sia stata sviluppata apposta per quell'HW dato che non occupava mai più di 2GB di ram). Comunque si, descrivi la verità per quel che ne so io
>>1007Ti abbraccerei, domani mattina mi spulcio meglio tutto
In conclusione? Non so quanti IP diversi ci sono in questo filo, ma sappiate che vi ringrazio tutti!
No.1012
Allora, ho spulciato un pelino i link ma ho preferito prima apprendere un pochino le basi del linguaggio attraverso l'esercizio in pic relata.
Ho avuto un po' di rogne con la gestione dell'input:
-il fatto che l'input deve essere necessariamente trattato come stringa mi ha colto leggermente di sorpresa, abiutato a robe del tipo:
int a = 0;
std::cin>>a;
cout<<a<<endl;
Ma a quanto pare rust tratta l'input come uno stream testuale che poi dopo deve essere convertito secondo le esigenze. Tutto questo per sicurezza a quanto pare…
-il fatto che la variabile input deve essere "resettata", perchè a quanto pare quando do il primo numero, input = "5\n" ad esempio e poi effettua il casting. Se dopo uso input per mettergli un valore "nuovo" avrò una roba del tipo input = "5\n6\n" e giustamente dopo mi da l'errore di casting. Anche questo se ho capito bene è per la sicurezza…
Non so se ha senso abituarsi a questo genere di approccio, anche perchè attualmente mi sa di robe per ritardati…
>inb4 Rust è pensato per essere sicuri su tutto
Eh lo capisco, spesso e volentieri in C e C++ mi capita di scrivere codice unsafe, ma in fase di debug/testing i nodi vengono al pettine in un modo o nell'altro
No.1014
>>1013Questo è lo stesso programma ma scritto in C++
Di sicuro è meno sicuro perchè non ci sono controlli sullo user input, cosa che su rust sei obbligato a fare…
È però innegabile che il linguaggio più scorrevole e comprensibile da leggere è quello scritto in C++
No.1015
Bisogna dire che ormai con gli ultimi LLM il codice java/python/js generato e' abbastanza utilizzabile. Immagino che rust lo parlino peggio.. ed invece far girare codice C scritto da un LLM sarebbe da folli. Questo per dire che scrivere gestionali in rust mi sembra poco competitivo, ti ritrovi a competere con gente che si fa scrivere il codice da macchine sicuramente piu' veloci di te. Fossero driver pure pure.. gestionali no. Per ricollegarsi all' eterna disputa open vs closed source (che non c'entra un cazzo pero' sto aspettando che cuociano gli spaghi): gli LLM non potranno che favorire le API piu' documentate ed i codici piu' accessibili, quindi direi che favorira' di piu' l' open source.
No.1016
>>1015Si finisce col tirare sempre in mezze l'IA T.T
non bastava il filo
>>954 No.1017
>>1012cin e cout sono lammerda™ perché furono progettate da uno che non capiva niente di Unix e con la ridicola pastrocchiata degli overload, di "endl", ecc.
Il C++ è stato buono solo per realizzare librerie grafiche come Qt, e poco altro. In ambiente di lavoro lo si usa praticamente come un'estensione del C che consente di inizializzare e distruggere delle struct senza dover fare una caciara di allocazioni ogni volta che vai istanziando qualcosa o chiudendo un blocco.
L'I/O in Rust pure ha le sue bizzarrie e idiosincrasie.
Se proprio devi lavorare coi files ti conviene comicamente Ruby.
``` a = gets.to_i
a.times do
puts "cagotto!"
end
```
No.1018
>>1016Arrenditi, le IA hanno già preso il tuo posto, e un domani sarà tutto inutile tra rust c++ e così via
Arrenditi
No.1021
>>1015>>1018Si però che palle ste reply, ma posso ritrovarmi sempre su delle cazzo di montagne russe dove il mio umore giornaliero è dettato dalla paura delle IA? Cioè porca puttana, uno scoraggiamento e una demoralizzazione continua ed ho anche esaurito le fonti di conforto su quewst'argomento (prima /g/ di rete4, poi plebbit) e mi sento anche di merda a bumpare questo filo.
Nella vita che cazzo mi resta più?
No.1029 RABBIA!
>>1021Puoi sempre ammazzarti come il fallito che sei
No.1030
>>1029È istigazione al suicidio ciaooo
No.1035
Comunque in questi giorni, IA o meno, ho messo le mani su Tauri, e lo amo alla follia.
Innanzitutto, già il fatto che mi consente di non usare framework del cazzo e della merda come react, angular e altre cose da zoomer handicappate, per è un più anche perchè amo fare il tutto da zero con HTML/CSS/JS puro, e sotto certi aspetti il tutto è più leggero (con le dovute attenzioni e ottimizzazioni).
C'è comunque un 'ma' dovuto al mio autismo credo, cioè che non è un app "compilata" bensì una maledetta webview. Certo, sempre meglio di un sito web col backend scritto in php con le limitazioni del browser classico, ma per app di medie/piccole dimensioni non ne vale molto la pena a mio dire, tanto vale mettere su un web server locale con tomcat (pure a livelli di gestionale)…
A tal proposito ripropongo la stessa storiella che ho postato in
>>1003 nel discord ufficiale di Tauri dove bene ho male ho detto "si sarebbe figo considerare il supporto per sistemi legacy" messo un po il mezzo la mia indole di voler far soldi e arriva il co founder dell'associazione che mette in mezzo il comunismo e poi per qualche strano motivo mi linka cose a caso (pic relate)
No.1038
>>1035>mi consente di non usare framework del cazzo e della merda come react, angular e altre cose da zoomer handicappate, per è un più anche perchè amo fare il tutto da zero con HTML/CSS/JS puro, e sotto certi aspetti il tutto è più leggero (con le dovute attenzioni e ottimizzazioni).guarda che esistono framework/librerie minimali e leggere.
Vedi preact per esempio.
No.1039
>>1038>guarda che esistono framework/librerie minimali e leggere.>Vedi preact per esempio.Guardato, ma comunque immaginavo ne esistessero di tutti i tipi ed esigenze. Ammatto che il "negro" qui sono io per due motivi:
1-Mi piace avere il controllo totale su quello che voglio realizzare, da quel poco che ne so, molti framework tendono a ipersemplificare il tutto, paradossalmente complicandolo e qui posso menzionarti la mia esperienza con Nuxt.js dove tra layout, nuxt pages e altri cazzi non ci capivo una mazza nemmeno coi tutorial
2-Se non sono framework lineari e intuitivi, non mi va di impararli
No.1040
>>1039Noto solo ora che nel campo nome ho mimmo… Non name faggo da parecchio
sono Mona e il tizio sopra
>>1038 pure si chiama in quel modo
No.1044
>>1041Alla fine mi so messo con wxWidgets. Vedo il grado di personalizzazione per paparlo come definitivo, nel mentre devo dire che è stato iper semplice da settare l'ambiente di lavoro e che il tutto è comprensibile pure da un 15enne
No.1045
>>1040lol che bello vedere che tutti i vecchiofroci (me incluso) che avevano giurato di andarsene per sempre in realtà sono ancora qui
No.1046
>>1045>vedere che tutti i vecchiofroci (me incluso) che avevano giurato di andarsene per sempre in realtà sono ancora quiMa quando cazzo mai ho detto che me ne sarei andato da VC? Al massimo me ne so andato via dalla fogna
No.1054
Il meme delle gui multipiattaforma è morto da tempo perché de facto le single page web application + backend hanno conquistato quella posizione, altrimenti si va di nativo mantenendo tre versioni dello stesso applicazione (WPF, Cocoa e Qt).
Flutter Desktop è valido ma è ancora acerbo.
Hai ragione su Electron che è merda ma preoccuparsi delle prestazioni per un gestionale è un po' "cringe", passami il termine, non è che stai scrivendo un driver o un pezzo dell'OS.
Io andrei di Go + react/angular (oppure svelte/preact per hipsteria), tanto i browser consumano RAM a prescindere e l'utente finale preferisce vedere una bella UI con animazioni al minimalismo
No.1055
>>1054Finalmente una reply seria, la attendevo da parecchio in questo filo! Quindi un grande grazie e un abbraccio!
In ogni caso, smanettando con wxWidgets mi sto rendendo conto che scrivere ad un livello più "raw", concedetemi il termine, è tutt'altra storia rispetto alla scrittura di webapp desktop e fai conto che sto usando wxWidgets, altrimenti mi sarei trovato incastrato a scrivere codice con le WIN32 API che a quanto pare sono difficili da apprendere quanto le api vulkan (so che son due cose diverse, ma è per farvi capire il paragone)…
In ogni caso, è un'enorme soddisfazione vedere un programma scritto nativo occupare in termini di risorse 0% di CPU e 2.0MB di RAM, al contrario di tauri che di base a finestra vuota ne occupa dai 50 ai 180MB
inb4 in
>>1041 un app scritta nativa occupava più di tauri!
Si ma li ho usato quella gran merda di GTK4(relm4)+rust, che ho scoperto non essere proprio il massimo.
Con wxWidgets posso anche scrivere app per sistemi con architetture a 32bit e si, con un po di fatica son riuscito a portare una semplice app su winxp con gli stessi consumi di risorse.
Quindi mi ritrovo sempre in stallo, perchè con wxWidgets, non c'è bisogno di dirlo, la customizzazione della finestra è pittosto limitata (specialmente se si considera di cross portare su altre piattaforme) ma in termini di performance ehi, fa paura! Per quanto riguarda le soluzioni web è il totale opposto…
Morale della favola? Bisogna scegliere l'approccio in base alle necessità, ma è un pelino una cazzata perchè nel mondo di oggi, chi cazzo vuoi che abbia macchine effettivamente datate? Forse avrebbe senso su sistemi embedded anche se li si parla di architetture arm il più delle volte e li non credo ci siano api mainstream per lo sviluppo di GUI
No.1056
Gentile promemoria che l' unico framework per GUI che dovrebbe esistere é ncurses e le interfacce utente touch o con mouse sono roba da invertiti californiani
No.1063
>>1056Se così fosse i CALCOLATORI non avrebbero mai scalato il mercato, non avrebbero mai ricevuto triliardi di finanziamenti probabilmente saremmo ancora a potenze di calcolo di un pentium
No.1064
>>1056ncurses lo usai anni fa con python, giusto per giocare con quel tipo di estetica li
>>1063Oddio, le necessità di calcolo son più importanti di una GUI, non credo che lo sviluppo di processori sempre più potenti sia dovuto solo alle GUI. Certo un interfaccia grafica è uno strumento potentissimo che di sicuro ha fatto interfacciare il pubblico più mainstream dell'epoca ai calcolatori e avrà attirato investitori, ma esigenze di calcolo a scopo bellico/mercato/sviluppo tecnologico e di semplice concorrenza erano e sono inevitabili. Concludo dicendo che alla fine l'avvento delle GUI sarebbe stato inevitabile come l'evoluzione del genere umano
No.1065
>>1064Non puoi produrre in scala senza mercato consumer
No.1066
>>1065Logico. C'è un motivo se oggi la maggior parte dei gestionali e non, non usano una CLI. Ha di sicuro un suo fascino e un suo caso d'uso ma le GUI vincono a mani basse
No.1067
>>1054Per scrivere desktop app Flutter sembra molto promettente; l'ho appena installato, ma, forse per i 4gb di ram del mio pc, è lentissimo: 4min per compilare uno stuipido programma ciao mondo (copiato paro paro dal tutorial) che alla fine non mi ha nemmeno stampato la famosa scritta in output…
Se devo avere 8gb di ram come suggeriscono, il range di dispositivi in cui possano girare le app prodotte con Flutter si restringe.
Morale: mi piace ma sono un po' deluso
No.1069
>>1067Spiegatemi la Licenza BSD modificata/Nuova licenza BSD (3 clausole)
Se posso vendere senza dover dare nulla a jewgoogle la provo
No.1070
>>1069Ho letto il testo riportato su wikipedia, ma comunque non ci ho capito una mazza…
Le mie domando son queste:
1-posso vendere un'app scritta in flutter?
2-devo mettere roba dicopyright legata a google?
3-devo pagare qualcuno per distribuire il sw?
4-devo necessariamente rendere pubblici i sorgenti?
No.1071
>>1070Incredibile come ogni volta in questo thread dimostri sempre di più di voler fare 500 passi senza farne nemmeno uno… L'hai fatta l'app? Non credo, quindi nel mentre falla, e se è ragionevole farlo ti informi sulla licenza
No.1072
Ma è una presa per il culo? Sta finestra di merda occupa più di Tauri? Per il momento solo wxWidgets non occupa un cazzo di nulla, provo a smanettare un pochino co sto flutter, poi si vede
>>1071Si, hai ragione, ma che ci posso fare?
No.1073
>>1070La licenza GPLv2 consente di incorporare in un prodotto commerciale a condizione che rilasci i sorgenti della parte che era GPLv2.
Ma tanto se durante l'esecuzione non escono scritte "FLUTTER" da nessuna parte, nessuno ti cagherà.
No.1075
>>1072Compila per release invece di debug e dovrebbe migliorare come prestazioni.
Non è minimale, overhead ne ha, oltre al suo runtime ha anche il proprio engine di rendering.
Io ci ho lavorato per app furbofonino dove è più maturo, la performance non è quella nativa ma il framework è semplice e immediato.
Hai considerato che il 90% o più della tua utenza potrebbe avere Windows e basterebbe un'applicazione scritta con WPF e per gli altri Wine?
No.1076
>>1075Sapessi come proverei anche a vedere la build di release, ma comunque non credo cambi molto. Da quel che ho capito comunque usa un'engine separato per la ui, e l'esperienza fatta in queste settimane mi dice che non è un'ottimo modo per risparmiare risorse…
Tirando le somme…
>Tauri: >>>>webview + rust ~150MB di ram e 1%CPU in idle
>Flutter: >>>>engine custom + dart ~100MB di ram e 0.2%CPU in idle
>GTK4: >>>>C++ ~100MB di ram e 0%CPU in idle
>wxWidget:>>>>C++ ~2MB di ram e 0%CPU in idleA questo punto, se conoscete altri framework/librerie ditemeli pure che li provo, anche se eviterei quelli con il doppio engine dato che oramai sappiamo che consumano troppo per il minimo sforzo
No.1077
>>1076>>1075>Compila per release invece di debug e dovrebbe migliorare come prestazioni.Rettifica:
Ho compilato in release ed un significativo miglioramento, c'è e si nota, siamo sui 30MB circa, che però, per una finestra """semplice""" è un pelino troppo… Credo che questo sia dovuto alle animazioni e alla questione tema tipica dei dispositivi mobili con material design… Se trovo un modo per ralizare dei controlli raw ripeterò il test
No.1078
>>1075>WPF>WPF fa parte di .NET>.NET Framework è l'ambiente di esecuzione runtime della piattaforma tecnologica .NET in cui vengono gestite le applicazioni destinate allo stessoSe non erro, ricordo che il mio professore di Sistemi Operativi all'uni, mi disse che l'ambiente .NET fu la risposta di microsoft sia a java|Oracle (come competitor) sia al problema di passare dai 32 ai 64 bit. A detta sua, fu un bagno di sangue per microsoft realizzare un vero sistema operativo capace di girare su architetture a 64 bit, e menzionò win vista che sappiamo fu un fallimento. Nel mentre gli sviluppatori sw avevano come unica spiaggia Java, e in risposta proposero .NET. Allo sviluppatore doveva interessare solo creare l'app, senza preoccuparsi del numero dei bit del calcolatore, dato che a quello c'avrebbe pensato direttamente .NET…
Ora onestamente, se devo avere a che fare con un clone di Java, quale C#
su cui ci ho buttato i peggio anni in unity3D all'epoca, preferisco rimanere con wxWidgets che usa C++ e non viene eseguito in una "VM
"
>inb4 se vi condivido uno spezzone in C++ della mia app attuale, molto probabilmente vi mettereste le mani nei capelliQuesto perchè SICURAMENTE avrò qualche leak di memoria da qualche parte
sebbene l'app rimanga sempre fissa a 2MB, ma che ci vuoi fare, C++ non è sicuro quanto C, pure se sai dove mettere le manine…
In ogni caso, ho provato ad installare ImGui ed è stato un mezzo disastro causa wiki non molto chiara… Credo passerò la giornata a vedere qualche altra libreria che potrebbe fare al caso mio
>ma come, wxWidget sembra perfetto da come ne parliSi è vero, ma più passa il tempo, più mi sembra di scrivere codice come un ritardato e la gestione degli eventi si complica ad ogni nuova aggiunta e con tutti i commenti che metto, non riesco a tenere traccia di cosa faccio e come. Non so se questo è dovuto alla libreria in se o alle mie scarse capacità d'organizzazione di un progetto in C++
No.1081
>>1078Io ho nominato WPF perché è lo "standard" per applicazioni Windows (anche WinForms, livello più basso ma comunque gira sopra .NET).
Non possono essere tutti scemi quelli che hanno scritto applicazioni "professionali" su Windows, non credi?
Capisco perfettamente ciò che intendi, per carità, ma al di fuori dell'open source e degli utenti programmatori il minimalismo ormai non ha molto senso di esistere. Magari fai l'applicazione che consuma pochissima RAM e ottimizzata ma se all'utente sembrerà un'applicazione "da 2009" gliene frega poco.
Comunque se ritieni che wxWidgets ti fornisca tutto quello di cui hai bisogno continua con quello.
>leakValgrind
>organizzare progetto GUIPattern MVC
No.1082
>>1081Chiedo venia per la rabbia ma non ho voglia
citazione necessaria di cancellare e riscrivere
No.1083
>>1076Ma pensa te che l'azienda per cui lavoravo doveva creare un'apps per l'autista del bus e installarono una Debian che lanciava Chrome(Chromium) browser su una directory con l'apps fatta in modalità web.
Mi chiesero il parere perché si resero conto che Chromium era un po' troppo pesantuccio come caricamento e la sua modalità kiosk a volte lasciava intravedere per un attimo un menu cliccabile.
Dissi loro che invece era una soluzione elegante che facilitava l'upgrade dell'app.
Non capirono il sarcasmo e andarono avanti (e non mi coinvolsero perché non ero webdeveloper), e al momento del rinnovo del contratto chiesi più soldi e… ottenni solo promesse, e li mandai a cagare.
Successivamente sviluppai un'app simile. Aveva bisogno di pochissime maschere e pochi tasti di input, praticamente la business logic la faceva da padrona.
Non installai neppure le librerie grafiche: andai a scrivere direttamente sulla RAM video e a leggere /dev/event per le ditate sul touchscreen e ciaone.
Caricamento superturbovelocissimo, attack surface ultraridottissima.
No.1084
>>1081>Non possono essere tutti scemi quelli che hanno scritto applicazioni "professionali" su Windows, non credi?Per carità, quando avevo 12 anni cazzeggiavo anche io con visual basic
da autodidatta che se non erro dovrebbe comunque sfruttare .NET…
Il problema sorge con la questione delle licenze di distribuzione, che da quel che ricordo si pagano sotto winzozz…
>il minimalismo ormai non ha molto senso di esistereSi e no, io personalmente ne faccio una questione di principio. Se devo scrivere un'app che:
>apre un file -> prende degli input-> li elabora -> scrive i risultati su fileVoglio che le risorse vengano allocate ad un buon 80/90% alla logica di business (la parte contol di mvc per capirci) e il restante alla parte UI (view) a prescindere delle dimensioni dell'applicativo, anche perchè se non fosse così sarebbe totalmente controproducente (vedi i programmi della suite adobe come girano di merda). A questo punto, preferirei soluzioni in grado di allocare la logica di business alla CPU/RAM/DISCHI e la logica di presentazione alla GPU/RAM… Se non erro imgui dovrebbe funzionare proprio così, ma usare opengl/vulkan/dx9 per una semplice app gui mi sa di contraddizione con ciò che ho detto prima sulle risorse…
>Comunque se ritieni che wxWidgets ti fornisca tutto quello di cui hai bisogno continua con quello. Buona parte di ciò che mi interessa c'è, salvo qualche parte di customizzazione, ma reputo sia un'ottimo tradeoff, ciò che mi da rogne è il fatto che non ritengo di essere in grado di scrivere codice sicuro in C++
>ValgrindCerco di trovare qualche tutorial a riguardo
>Pattern MVCLMAO, lo usai per i progetti di TSW e Ingegneria del SW. Li intuitivamente lo applicai al progetto, le servlet in control, i beans e le classi che inviavano le query al db in model e le jsp+html in view… Qui non saprei proprio come strutturarlo con i file .hpp e .cpp
>>1082Rabbia? Tanto che non se li merita sto filo questo tipo di bump?
>>1083Mamma mia che incubo
No.1089
>>1084>Il problema sorge con la questione delle licenze di distribuzione, che da quel che ricordo si pagano sotto winzozz…Ma anon, non ci sono licenze per la distribuzione di app scritte in .net
No.1090
>>1089Accipicchia, hai ragione…
Ma mi rode il culo sviluppare in visual basic e C#
>inb4 hai scritto codice in java per l'uniUmmmm
No.1091
>>989>preoccuparsi di licenze e vendita per il tuo primo programma con interfaccia graficaOP, non farti troppe seghe mentali e prova un pò di cose varie.
Prova le librerie di GUI ufficiali di un linguaggio che usi già, prova le librerie di un gioco che ti piace, prova le librerie che trovi su una guida online…
La cosa importante è provare provare e provare, nessuno nasce imparato e nella programmazione è importantissimo prendere la mano.
Quando avrai esperienza avrà senso pensare a ridistribuire o persino vendere i tuoi programmi, una cosa alla volta.
No.1095
>>1084Avevo già la rabbia nel campo email e non l'ho pulito prima di postare.
Comunque MVC è un po' diverso su servizi web, avevo trovato questo esempio per wx ma è davvero troppo semplice e banale
https://github.com/zoddDev/wx-mvcL'idea di base è che una view (frame nell'esempio) abbia una classe associata con i metodini che si occupano solo di UI (showLoading, resetFields, hideSalcazzo, etc), poi c'è il controller, il cui scopo è creare la view (nota come la view venga allocata e distrutta nel costruttore e distruttore del controller) e inizializzare gli handler degli eventi (bind tra eventi e i metodi del controller, che a loro volta richiameranno i metodi della view).
Nel caso di recupero dati (chiamata http o lettura da db) ti fai altri classi che poi passi al controller nel costruttore
Con una classe base per i controller e qualche metodo astratto puoi definire dei metodi che ti eseguiranno codice post allocazione o pre deallocazione della view
L'esempio su GitHub è veramente triviale, come esercizio potresti scrivere qualche controller per qualche tipo di componente che usi spesso (una lista, una tabella etc) oppure per qualche componente di layout (cioè un gruppo di view) e puoi inventarti qualcosa che ti coordini il tutto.
MVC era più o meno lo standard ma ti porta ad avere controller abbastanza complicati, MVP migliora un po' se hai voglia di approfondire