* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Febbraio 08, 2026, 02:44:34 pm

Inserisci il nome utente, la password e la durata della sessione.

172 Visitatori, 0 Utenti

Autore Topic: Web Assembly  (Letto 1214 volte)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1694
  • Karma: +52/-0
  • Prima ascoltare, poi decidere
Web Assembly
« il: Gennaio 20, 2026, 10:16:30 am »
Volevo segnalare un nuovo articolo sul blog.
https://blog.lazaruspascal.it/2026/01/19/free-pascal-e-wasm-a-linea-di-comando/

Fate sapere (soprattutto se ci sono sviste ;D)
Riparto da un nuovo topic per non intasare quello del blog.

Interessante questa soluzione, almeno per adesso a livello di conoscenza e studio.
Però, a livello pratico che benefici porta ? E in termini di sicurezza e di robustezza ? Stabilità e compatibilità ?

Dall'articolo di Michael sembra che di fatto il webassembly sia stato pensato come una sandbox molto chiusa e limitata, ma con una scappatoia ... una specie di "backdoor" che consente di aggirare quanto pensato e di allargare il raggio di azione.

Parlando in termini di WEB, finche si agisce all'interno del DOM (cioè nel contesto del "documento" web) diciamo che tutto è annotato all'interno di un campo sufficientemente sicuro, ma consentendo di uscire da questo perimetro ... che rischi si corre ?
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3048
  • Karma: +21/-4
Re:Web Assembly
« Risposta #1 il: Gennaio 20, 2026, 10:41:23 am »
Quando dici "backdoor" ti riferisci al WebAssembly System Interface che permette di accedere al sistema?

Se ti riferisci a questo, il WASI è disponibile (ed opzionale) nei runtime standalone ma non è supportato né implementato nei browser.

In questo senso, se si usa la VM WASM standalone è una comune VM, con le stesse potenzialità di Java.
I browser non implementano WASI per un motivo di sicurezza.
Imagination is more important than knowledge (A.Einstein)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1694
  • Karma: +52/-0
  • Prima ascoltare, poi decidere
Re:Web Assembly
« Risposta #2 il: Gennaio 20, 2026, 11:04:58 am »
Si, intendevo la WASI.
E se l'interfaccia non è "usabile" (ovviamente) nei browser ... che senso ha usare webassembly con la WASI? Un normalissimo e classico programma sortisce un migliore effetto, prestazionale e eventualmente grafico, oltre di semplicità d'uso e di installazione generalmente. E non dipende da framework esterni come il runtime "WASI".

E se la prestazione magari "si pareggia" con i clicli di esecuzione, rimane comunque un ambiente non nativo e "interpretato".

Comprendo l'estensione WebAssembly per affiancare Java nel web, ma sinceramente non vedo una utilità sul webassembly fuori dal web.
Probabilmente ho una "visione" limitata ...
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3048
  • Karma: +21/-4
Re:Web Assembly
« Risposta #3 il: Gennaio 20, 2026, 12:50:48 pm »
L'unica cosa sicura è che si tratta di una tecnologia nuova ed è ancora poco matura.

Però le VM sono in realtà diffusissime e, guardando un po' in giro, ho visto che anche Apache ha tirato fuori il modulo mod_wasm...
https://wasmlabs.dev/articles/apache-mod-wasm/

Mi domando su in futuro possa rubare spazio alla JVM...
Come disse qualcuno "eppur si muove"!
Imagination is more important than knowledge (A.Einstein)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3349
  • Karma: +12/-0
Re:Web Assembly
« Risposta #4 il: Gennaio 20, 2026, 01:09:43 pm »
Ola,ho letto l'articolo ed è sicuramente interessante. Tu che lo segui di più, quando pensi che sarà maturo per lo sviluppo web?!
Ieri è passato, domani è futuro, oggi è un dono...

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1694
  • Karma: +52/-0
  • Prima ascoltare, poi decidere
Re:Web Assembly
« Risposta #5 il: Gennaio 20, 2026, 01:54:29 pm »
Però le VM sono in realtà diffusissime e, guardando un po' in giro, ho visto che anche Apache ha tirato fuori il modulo mod_wasm...
https://wasmlabs.dev/articles/apache-mod-wasm/

Eccolo qua, il WASI portato sul web ... lato server per ora ...
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1694
  • Karma: +52/-0
  • Prima ascoltare, poi decidere
Re:Web Assembly
« Risposta #6 il: Gennaio 20, 2026, 02:01:36 pm »
Mi domando su in futuro possa rubare spazio alla JVM...

Tutti spergiurano che non ruberà nulla a HTML, CSS, JS, etc ... Però visto che di fatto ha le stesse capacità di una JVM non vedo cosa le impedisca in un futuro (anche prossimo) di sostituirla.

Tutto stà nel validarne la sicurezza e standardizzarne la funzionalità. Per adesso, il mondo web è di fatto java dipendente ... non sò se qualcuno si ricorda di Flash, SilverLight e company ... non vorrei che anche WebAssembly si aggiungesse alla tale lista già nutrita.

Allego un simpatico escursus sul web e sulle tecnologie (direi  ... fantasie ... da come vengono presentate) abbinate  ;D ;D
« Ultima modifica: Gennaio 20, 2026, 02:03:16 pm da DragoRosso »
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3048
  • Karma: +21/-4
Re:Web Assembly
« Risposta #7 il: Gennaio 20, 2026, 03:54:42 pm »
Ola,ho letto l'articolo ed è sicuramente interessante. Tu che lo segui di più, quando pensi che sarà maturo per lo sviluppo web?!

Più che lo seguo lo sto studiando questi giorni...  ;D

Comunque questo è quello che ci ho capito:
  • WASM è nato dalla necessità di avere in JavaScript più veloce, quindi credo che nel Frontend avremo uno strumento in più che si affiancherà semplicemente a HTML, CSS e JavaScript
  • Wasm: sembra pronto per la produzione, la versione 3.0 è stata rilasciata il 27-09-2025 e in questo link https://webassembly.org/news/2025-09-17-wasm-3.0/ potete vedere che i browser che lo supportano... sono praticamente tutti
  • WASI è un po' più indietro, la versione 0.3 è attesa per il prossimo febbraio 2026 https://wasi.dev/roadmap
  • wasmtime sembra essere il runtime più aggiornato e sembra tra i più affidabili e completi, se guardate qua le combinazioni OS/Arch https://github.com/bytecodealliance/wasmtime/releases/tag/v40.0.2 si rimane impressionati

Sembrerebbe quindi che WASM sia pronto per la produzione mentre WASI è un po' più indietro ma già abbastanza affidabile.
Lato FPC è invece tutto nella trunk e finché non rilasciano una fpc stable WASM ready, c'è da andarci con i piedi di piombo. A sensazione però il fatto che fpc compili se stesso in WASM la dice lunga...
Credo che siano ancora pochi i siti web che facciano uso di questa tecnologia per il frontend, mentre per il backend non saprei proprio...

L'unica cosa che mi lascia comunque pensare bene è l'ampia gamma di piattaforme a disposizione.
Il fatto è che forse è ancora un po' presto e bisogna aspettare che il tutto maturi.

Edit:
detto quanto sopra, aggiungo un mio pensiero personale:
Per Lazarus/FPC si apre una possibilità che è quella di poter sviluppare frontend competitivi: immaginare una SPA (Single Page Application) scritta in fpc e compilata per WASM non è una cosa del futuro ma già attuale.
Android sicuramente dispone di un browser WASM ready e quindi, in teoria si può pacchettizzare questa SPA in un APK.
Non so qualse sarà il futuro di WASM ma non è uno scenario da sottovalutare.
« Ultima modifica: Gennaio 20, 2026, 04:04:40 pm da nomorelogic »
Imagination is more important than knowledge (A.Einstein)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1694
  • Karma: +52/-0
  • Prima ascoltare, poi decidere
Re:Web Assembly
« Risposta #8 il: Gennaio 20, 2026, 05:09:14 pm »
Per Lazarus/FPC si apre una possibilità che è quella di poter sviluppare frontend competitivi: immaginare una SPA (Single Page Application) scritta in fpc e compilata per WASM non è una cosa del futuro ma già attuale.
Android sicuramente dispone di un browser WASM ready e quindi, in teoria si può pacchettizzare questa SPA in un APK.
Non so qualse sarà il futuro di WASM ma non è uno scenario da sottovalutare.
Scusa, ma una SPA si può già fare ora con JS di fatto (e con FPC -> Pas2JS). WASM è una nuova JS, ripensata per essere più prestante ma di fatto rimane una applicazione interpretata che funziona SOLO ED ESCLUSIVAMENTE grazie ad un framework runtime distinto per piattaforma. Che poi i browser integrino direttamente la VM (o sandbox) x WASM è il meccanismo identico a JS.

Certo, il WASM è stato esteso con un set importante di istruzioni integrate ad esempio come le SIMD o la rispettiva versione più generalizzata ove l'hardware pensato in uso non sia così prestante.

Poi se pensiamo alle estensioni WASI allora non c'entra più il web ed entriamo nell'ottica delle applicazioni, un nuovo framework oltre agli altri ...ennemila presenti, tutti che promettono faville e poi si incartano (già il fatto che propongano istruzioni SIMD o più generali a seconda dell'hardware la dice lunga).

Non lo sò, più vado a fondo e più non ci capisco niente. Lo standard c'è (e siamo alla versione 3 ... mica alla alpha), gli utilizzatori ci sono (browser) ... cosa manca ? Gli strumenti per produrre (compilatori, linguaggi) ci sono ... perchè non è decollato questo standard ?
Cosa c'è che non convince ? Eppure sembrerebbe la manna dal cielo ....

Ho fatto uno scan sul mio PC e di applicazioni WASM neanche l'ombra. Ci sono una marea di directory (maledetto Edge e il suo chrome based) WASM (anche con FireFox) ma con contenuti solo file indici vuoti, probabilmente legati alla predisposizione della VM x webassembly.

Ho debuggato (con FireFox) una consistente platea di siti web che visito e di wasm niente.

Bhò, non sò a cosa pensare ...
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3048
  • Karma: +21/-4
Re:Web Assembly
« Risposta #9 il: Gennaio 20, 2026, 06:04:04 pm »
beh... dire che WASM è un settore di nicchia che non è ampiamente usato... ti ricordo che sei su un forum di programmatori pascal....  ;D ;D ;D

Detto questo, il perché altri non lo usino (o lo usino poco) onestamente può dipendere da molte cose (non ultimo che i programmatori web non abbiano la nostra stessa skill).  :)

Ti posso dire perché lo trovo interessante io (rispetto all'uso di JS per una SPA):
  • formato binario più compatto (e già compilato prima del deploy)
  • parsing più veloce (solo parsing, è già compilato)
  • prestazioni (molto) più elevate
  • il JS ha dato vita, come giustamente dici tu, a 1000 framework spesso non compatibili con loro stessi neanche dopo il cambio di versione
  • il framework non mi serve, o meglio me lo faccio da solo, in fpc
  • ho qualche trilione di linee di codice fpc da sfruttare
  • personalmente vedo WASM come una soluzione megliore rispetto a JS (nonostante JS non potrà mancare anche quando si usa WASM)

ci sono poi gli svantaggi ovviamente, alcuni che ho in mente sono:
  • allo stato attuale, per interagire col DOM, bisogna passare per JS
  • ho qualche dubbio (in realtà non mi è proprio chiaro) su come fare il debug
  • il fatto che si deve usare anche JS, vuol dire che un progetto sarà costituito da 2 linguaggi

Poi non ci sono solo le SPA.
Lo vedo versatile, esattamente come lo è fpc.
Imagination is more important than knowledge (A.Einstein)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3349
  • Karma: +12/-0
Re:Web Assembly
« Risposta #10 il: Gennaio 22, 2026, 01:37:45 pm »
Vero quello che dici nomorelogic, ma di fatto sappiamo bene tutti che un linguaggio web sarà sfruttato tanto quanto sono utili i widget con cui inetarisci. Se mi tirano fuori uno strumento che crea webapp rad lo capisco (e avrà un successo enorme), diversamente ho paura che rimarrà parecchio di nicchia.
Ieri è passato, domani è futuro, oggi è un dono...

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3048
  • Karma: +21/-4
Re:Web Assembly
« Risposta #11 il: Gennaio 22, 2026, 04:12:48 pm »
Non è che sto scommettendo su questo standard, ci mancherebbe.
Anche perché non è affatto semplice da usare e concordo che, per essere adottato su larga scala, uno strumento (tipo RAD) che aiuti serve sicuramente.

Però i frontend sono solo un campo di applicazione di questa VM, non sono l'unico campo.

Quello che mi ha colpito è l'estrema espansione che questa tecnologia ha avuto in un paio di anni.
Espansione del progetto intendo, non di utilizzo sul campo come giustamente DragoRosso fa notare.

Cmq io penso che approfondirò ancora, se WASM vedrà giorni migliori, avremo qualche articolo per iniziare a fare delle prove :)
Imagination is more important than knowledge (A.Einstein)

 

Recenti

How To

Utenti
Stats
  • Post in totale: 20140
  • Topic in totale: 2427
  • Online Today: 196
  • Online Ever: 1080
  • (Novembre 10, 2025, 06:15:39 am)
Utenti Online
Users: 0
Guests: 172
Total: 172

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.