Stai usando un browser non aggiornato. Potresti non visualizzare correttamente questo o altri siti web. Dovreste aggiornare o usare un browser alternativo.
E' un pò forzata come affermazione secondo me...
Sembra non ci sia scelta che iniziare dal C per imparare, in realtà il linguaggio è solo uno strumento; la parte importante è entrare nella logica, nella giusta mentalità. Poi concordo che passare da C possa portare ad acquisire altre competenze, ma può avvenire anche in un secondo momento.
Che vuol dire la distinzione Web, da quella Server? Front-end e back-end, semmai. Ad ogni modo HTML, JS, CSS per lo sviluppo desktop... meh. PHP forse è ancora una tappa obbligata, almeno conoscerlo un minimo (poi se lo si utilizza poco, meglio).
Non si è espresso benissimo, ma MinGw è il porting di GCC per Windows.
Perchè meh? Scusa, visual studio code è fatto così, discord idem, gitkraken uguale, mongodb compass,postman, ATOM,twitch e così via..
E sono fatti con electronjs + html + css + js
Perche' "Desktop Application" e' una definizione molto vaga, significa una applicazione (standalone) che "gira" su un desktop (al contrario per esempio di una che gira su un server, su un a pagina web, su un cellulare). Ma non tutte le applicazioni desktop per esempio hanno una interfaccia grafica. I linguaggi usati variano quindi molto dal tipo di applicazione. Per esempio, css e html ti servono zero se vuoi scrivere un driver, un servizio, un daemon o una libreria generica.
Perche' "Desktop Application" e' una definizione molto vaga, significa una applicazione (standalone) che "gira" su un desktop (al contrario per esempio di una che gira su un server, su un a pagina web, su un cellulare). Ma non tutte le applicazioni desktop per esempio hanno una interfaccia grafica. I linguaggi usati variano quindi molto dal tipo di applicazione. Per esempio, css e html ti servono zero se vuoi scrivere un driver, un servizio, un daemon o una libreria generica.
Perchè meh? Scusa, visual studio code è fatto così, discord idem, gitkraken uguale, mongodb compass,postman, ATOM,twitch e così via..
E sono fatti con electronjs + html + css + js
A parte VS Code, gli altri girano da schifo. Altissimo consumo di ram, lag e prestazioni non proprio stellari.
Incuriosito, tempo fa, andai a spulciare nel codice di VS Code ( pensando ci fosse qualcosa di C o C++ ). Trovai un barbatrucco che francamente non avrei mai immaginato. VS Code è scritto senza minimamente usare il DOM, ma disegnando direttamente sulla canvas.
Il punto è che così perdi tutto quello che HTML e CSS ti offrono. Se tutti i controlli ( in realtà non proprio tutti, ma comunque tutta la parte dell'editor è disegnata su canvas ) sono immagini su canvas, di fatto devi implementare un'ui toolkit in javascript. Cioè non puoi usare <input>, <label>, <textarea>, <select>, ecc....
Incuriosito, tempo fa, andai a spulciare nel codice di VS Code ( pensando ci fosse qualcosa di C o C++ ). Trovai un barbatrucco che francamente non avrei mai immaginato. VS Code è scritto senza minimamente usare il DOM, ma disegnando direttamente sulla canvas.
Incuriosito, tempo fa, andai a spulciare nel codice di VS Code ( pensando ci fosse qualcosa di C o C++ ). Trovai un barbatrucco che francamente non avrei mai immaginato. VS Code è scritto senza minimamente usare il DOM, ma disegnando direttamente sulla canvas.
VS Code si basa su Electron, lo stesso usato da Atom.
Disegnare direttamente su Canvas e' quasi d'obbligo per una applicazione pensata di potere essere compilata per piattaforme diverse, se scritta bene non diminuisce per nulla le prestazioni, anzi. Guarda quanto una GUI scritta in WPF e' enormemente piu' efficiente che scritta in WinForms, non dovendo usare gli obsoleti componenti standard di Windows.
A parte VS Code, gli altri girano da schifo. Altissimo consumo di ram, lag e prestazioni non proprio stellari.
Incuriosito, tempo fa, andai a spulciare nel codice di VS Code ( pensando ci fosse qualcosa di C o C++ ). Trovai un barbatrucco che francamente non avrei mai immaginato. VS Code è scritto senza minimamente usare il DOM, ma disegnando direttamente sulla canvas.
Il punto è che così perdi tutto quello che HTML e CSS ti offrono. Se tutti i controlli ( in realtà non proprio tutti, ma comunque tutta la parte dell'editor è disegnata su canvas ) sono immagini su canvas, di fatto devi implementare un'ui toolkit in javascript. Cioè non puoi usare <input>, <label>, <textarea>, <select>, ecc....
VS Code si basa su Electron, lo stesso usato da Atom.
Disegnare direttamente su Canvas e' quasi d'obbligo per una applicazione pensata di potere essere compilata per piattaforme diverse, se scritta bene non diminuisce per nulla le prestazioni, anzi. Guarda quanto una GUI scritta in WPF e' enormemente piu' efficiente che scritta in WinForms, non dovendo usare gli obsoleti componenti standard di Windows.
Si ok, ma usando Electron viene naturale usare il DOM. Altrimenti qual è il senso di usare Electron, se non puoi usare HTML e CSS? Cioè voglio dire, HTML ti offre una serie di controlli prefabbricati, col look&feel dell'OS sottostante. CSS ti offre un sistema per gestire la presentazione dei dati e credo non ci sia di meglio in giro. Usando Canvas perdi entrambe le cose. Ritorni a giocare coi pixel.
Invece proprio il DOM è il collo di bottiglia.
Il caso di WPF è molto diverso, perchè WPF è stato pensato per essere efficiente. Già il codice XAML viene compilato in bytecode. Poi tutta la logica dei controlli è scritta in C#.
Non so perchè il DOM sia così inefficiente. O forse è Chromium ad essere inefficiente.
Che poi stona ancora di più, se si pensi a quanto efficiente è invece Sciter, che pure usa HTML, CSS e un linguaggio proprietario derivato da EcmaScript. Tempo fa lessi che non sfrutta una struttura dati simile al DOM per rappresentare i nodi del documento. Evidentemente usa qualcosa di migliore.
... Il caso di WPF è molto diverso, perchè WPF è stato pensato per essere efficiente. Già il codice XAML viene compilato in bytecode. Poi tutta la logica dei controlli è scritta in C#. ...
Communicate asynchronously from a renderer process to the main process.
electronjs.org
Il fatto che non sia nel modo "convenzionale" questo non vuol dire che non puoi accederci...
Mai usato canvas con electronjs, fatto sempre con bootstrap4 o con onsenui o css puro creato da me...
Che poi vscode o altri simili siano studiati così ( senza usare il dom ), questo è un altro fatto ed una loro metodologia...
Ma per creare un gestionale, un software sia semplice che complicato, è ottimo..
Ed il fatto che sempre più progetti sono portati ad usare quel framework ne è la dimostrazione.
Non lo sta andando ad usare alibabà o gigino di castellammaredistabbbbia, lo vanno ad usare Amazon, Mongo, Microsoft, Wordpress, Facebook, ed altri...
Puoi vuoi mettere le seguenti comodità per le aziende:
1. con un solo tipo di sviluppatore copri tutti i sistemi operativi senza dover installare altro ( possiamo stare qui tutto il giorno a dire che java è portable, ma senza jvm, un file jar è un archivio e basta! )
2. con lo stesso codice hai già bello che fatto una web app riducendo i costi di un progetto..
Quindi ripeto, boh... Magari non hai capito bene come funziona e per questo lo stai "marchiando" così male...
In realtà è la dimostrazione che i programmatori non hanno idea di cosa significhi il termine efficienza. I forum di programmazione sono pieni di lamentele sulle scarse prestazioni, lag, ecc... dei programmi che usano Electron.
Purtroppo molti programmatori vengono dal web e non spendono tempo per studiare tecnologie più adeguate al desktop ( non si può certo dire che Electron è alla pari di Qt!! ). Usano quello che già conoscono. Ma cadono nella trappola del carpentiere, ovvero vedere chiodi ovunque e, di conseguenza, usare sempre il martello.
Puoi vuoi mettere le seguenti comodità per le aziende:
1. con un solo tipo di sviluppatore copri tutti i sistemi operativi senza dover installare altro ( possiamo stare qui tutto il giorno a dire che java è portable, ma senza jvm, un file jar è un archivio e basta! )
2. con lo stesso codice hai già bello che fatto una web app riducendo i costi di un progetto..
Quindi ripeto, boh... Magari non hai capito bene come funziona e per questo lo stai "marchiando" così male...
Tutto quello che vuoi. Ma resta il nodo prestazioni. Se ti serve un software prestante, che consumi poca ram, che sia efficiente, che non ciucci batteria ( come fa Slack ), che non perda 20 secondi per fare un search su qualche centinaia di migliaia di righe di codice ( come fa Atom ), allora non puoi usare Electron.
E' questo che sto dicendo.
p.s. Java supporta la compilazione AOT da un paio di release...il problema di portarsi dietro la JVM è fortunatamente risolto...che poi pure le app Electron si portano dietro il loro runtime, consistente in una VM Javascript e un browser completo ( Chromium )[/QUOTE]