* * * *

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.
Gennaio 17, 2026, 11:29:24 pm

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

103 Visitatori, 0 Utenti

Autore Topic: Brook framework  (Letto 9140 volte)

lucabertoncini

  • Newbie
  • *
  • Post: 9
  • Karma: +0/-0
Re:Brook framework
« Risposta #15 il: Ottobre 24, 2025, 11:24:28 am »
Ciao DragoRosso,
i Raspberry PI li ho proposti in contesti di controllo non critici, ad esempio per la creazione di dashboard o soluzioni edge-IoT, dove non era richiesta una certificazione formale. In questi casi, la versatilità e la semplicità di intervento in caso di problemi (soprattutto la facilità di sostituzione) si sono rivelate armi vincenti.
In particolare, li ho spesso impiegati come gateway intelligenti, capaci di trasformare protocolli industriali come OPC-UA, Modbus o Siemens in formati più facilmente gestibili via web, ad esempio tramite WebSocket.
Ho avuto problemi iniziali con le microSD, ma da quando uso quelle industriali, le criticità si sono praticamente azzerate.

Detto questo, non li ho mai impiegati in soluzioni mission-critical, per le quali concordo pienamente: servono dispositivi progettati e certificati per quegli scenari.

Lorenzo

  • Newbie
  • *
  • Post: 15
  • Karma: +0/-0
Re:Brook framework
« Risposta #16 il: Ottobre 24, 2025, 03:44:12 pm »
Ciao Luca

io Windows ce l'ho installato solo per Delphi.
Anche io da anni sono passato a Linux,anche perchè con tutto l'ambiente grafico e tutti i moderni servizi,occupa 1/3 delle risorse che occuperebbe Windows.
Poi Windows pare diventi un mattone anche con gli aggiornamenti.

E poi nelle applicazioni lato server,le REST Api sembrano più prestanti.

Ormai per il web anche io userei il FreePascal per  il backe end e er il frontend Vue JS.

Riguardo l'automazione,so che Lazarus mette a disposizioni componenti per la realizzazione di applicazioni per sistemi SCADA.
Per quanta riguarda quello hai scritto sullo sviluppo embedded,mi convinco che Lazarus si concentri più nello sviluppo di software industriale.

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3041
  • Karma: +21/-4
Re:Brook framework
« Risposta #17 il: Ottobre 24, 2025, 06:08:54 pm »
anche noi in azienda già usiamo lazarus/fpc per i backed per le web application

facciamo anche servizi su cloud ed anche integrazioni industriali
devo dire che è come avere un coltellino svizzero :)

Imagination is more important than knowledge (A.Einstein)

Lorenzo

  • Newbie
  • *
  • Post: 15
  • Karma: +0/-0
Re:Brook framework
« Risposta #18 il: Ottobre 25, 2025, 05:48:01 pm »
Che framework usate per le REST Api in Free Pascal?

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3041
  • Karma: +21/-4
Re:Brook framework
« Risposta #19 il: Ottobre 26, 2025, 12:43:38 pm »
nel mio caso principalmente 2

il primo che ho usato è wchttpserver, interamente scritto in fpc e supporta anche https
è nato come server web ma poi, con poche modifiche fatte dall'autore, è ore anche un REST server
https://forum.lazarus.freepascal.org/index.php/topic,53475.0.html
https://github.com/iLya2IK/wchttpserver

poi ho voluto sperimentare l'uso di Apache con CGI scritti in FPC, più precisamente con InstantFpc
è un tipo di uso molto particolare e sicuramente è necessario poter configurare l'host
capisco che sentir dire CGI possa far storcere il naso ma posso assicurare che il risultato è potentissimo: si può usare qualsiasi libreria di FPC!
questo è un articolo che ho scritto sul blog per lasciare traccia di come si può fare
https://blog.lazaruspascal.it/2023/11/10/sviluppare-cgi-su-apache2-con-instantfpc/

Edit:
ce l'ho in uso da un cliente è un servizio in funzione da un paio d'anni H24 7/7, 365 giorni all'anno
« Ultima modifica: Ottobre 26, 2025, 12:46:23 pm da nomorelogic »
Imagination is more important than knowledge (A.Einstein)

lucabertoncini

  • Newbie
  • *
  • Post: 9
  • Karma: +0/-0
Re:Brook framework
« Risposta #20 il: Ottobre 27, 2025, 08:39:42 am »
Ciao Lorenzo,
io utilizzo il web-server di cui ti avevo accennato in precedenza.
Diversi anni fa iniziai anch’io con Apache, scrivendo moduli CGI in FreePascal. Dovevo gestire un sistema distribuito in cui diversi software, allora installati su macchine fisiche diverse, acquisivano dati da inviare a un server centrale per la normalizzazione e l’inserimento nel database. Sul server primario avevo realizzato una soluzione con Apache che permetteva di visualizzare via web lo stato del sistema di acquisizione, mentre i software periferici inviavano i dati tramite POST HTTP.
Mi mancava però la possibilità di accedere via web anche ai servizi di acquisizione, per monitorarne meglio lo stato. Una soluzione poteva essere trasformarli in moduli Apache, ma questo avrebbe richiesto l’installazione di Apache su ogni macchina, complicando la manutenzione. Una delle forze dei software Delphi/Pascal, secondo me, è proprio la semplicità di distribuzione: una cartella con l’eseguibile e le librerie, e sei operativo. Cambi server? Basta copiare la cartella.
Da qui l’idea: scrivere un componente che potesse rendere ogni mio software un web-server all’occorrenza, senza installazioni esterne. È nato così LBmicroWebServer e la classe LBApplicationBootstrap, che contiene il codice del web-server e lo attiva in base al file di configurazione. Tutti i miei applicativi successivi, siano essi servizi o di tipo desktop, derivano da questa classe base, e all’occorrenza posso sviluppare delle API REST per interrogarli, senza dover modificare l’architettura o installare componenti esterni.

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3041
  • Karma: +21/-4
Re:Brook framework
« Risposta #21 il: Ottobre 27, 2025, 09:10:55 am »
infatti il vantaggio enorme di avere un web server scritto in fpc è quello che lo puoi installare praticamente ovunque, basta che fpc compili per quella piattaforma

è per questo che al tempo usai wchttpserver

Imagination is more important than knowledge (A.Einstein)

Lorenzo

  • Newbie
  • *
  • Post: 15
  • Karma: +0/-0
Re:Brook framework
« Risposta #22 il: Ottobre 30, 2025, 08:59:31 pm »
nel mio caso principalmente 2

il primo che ho usato è wchttpserver, interamente scritto in fpc e supporta anche https
è nato come server web ma poi, con poche modifiche fatte dall'autore, è ore anche un REST server
https://forum.lazarus.freepascal.org/index.php/topic,53475.0.html
https://github.com/iLya2IK/wchttpserver

poi ho voluto sperimentare l'uso di Apache con CGI scritti in FPC, più precisamente con InstantFpc
è un tipo di uso molto particolare e sicuramente è necessario poter configurare l'host
capisco che sentir dire CGI possa far storcere il naso ma posso assicurare che il risultato è potentissimo: si può usare qualsiasi libreria di FPC!
questo è un articolo che ho scritto sul blog per lasciare traccia di come si può fare
https://blog.lazaruspascal.it/2023/11/10/sviluppare-cgi-su-apache2-con-instantfpc/

Edit:
ce l'ho in uso da un cliente è un servizio in funzione da un paio d'anni H24 7/7, 365 giorni all'anno
Ciao @Nomorelogic
Se non sbaglio,più che un framework sembra una libreria che permette di sviluppare un server quasi da 0?
« Ultima modifica: Ottobre 30, 2025, 09:01:53 pm da Lorenzo »

Lorenzo

  • Newbie
  • *
  • Post: 15
  • Karma: +0/-0
Re:Brook framework
« Risposta #23 il: Ottobre 30, 2025, 09:01:21 pm »
Ciao Lorenzo,
io utilizzo il web-server di cui ti avevo accennato in precedenza.
Diversi anni fa iniziai anch’io con Apache, scrivendo moduli CGI in FreePascal. Dovevo gestire un sistema distribuito in cui diversi software, allora installati su macchine fisiche diverse, acquisivano dati da inviare a un server centrale per la normalizzazione e l’inserimento nel database. Sul server primario avevo realizzato una soluzione con Apache che permetteva di visualizzare via web lo stato del sistema di acquisizione, mentre i software periferici inviavano i dati tramite POST HTTP.
Mi mancava però la possibilità di accedere via web anche ai servizi di acquisizione, per monitorarne meglio lo stato. Una soluzione poteva essere trasformarli in moduli Apache, ma questo avrebbe richiesto l’installazione di Apache su ogni macchina, complicando la manutenzione. Una delle forze dei software Delphi/Pascal, secondo me, è proprio la semplicità di distribuzione: una cartella con l’eseguibile e le librerie, e sei operativo. Cambi server? Basta copiare la cartella.
Da qui l’idea: scrivere un componente che potesse rendere ogni mio software un web-server all’occorrenza, senza installazioni esterne. È nato così LBmicroWebServer e la classe LBApplicationBootstrap, che contiene il codice del web-server e lo attiva in base al file di configurazione. Tutti i miei applicativi successivi, siano essi servizi o di tipo desktop, derivano da questa classe base, e all’occorrenza posso sviluppare delle API REST per interrogarli, senza dover modificare l’architettura o installare componenti esterni.

Ciao Luca,
lo sto studiando.
Al momento voglio terminare il progetto con Brook.
Però è molto interessante,soprattutto l'impostazione di LBToolkit sembra essere prettamente professionale.
L'ho già scaricato da git.
« Ultima modifica: Ottobre 30, 2025, 09:05:22 pm da Lorenzo »

lucabertoncini

  • Newbie
  • *
  • Post: 9
  • Karma: +0/-0
Re:Brook framework
« Risposta #24 il: Ottobre 31, 2025, 07:49:28 am »
Ciao Lorenzo,
mi fa piacere sapere che hai scaricato il progetto. Quando lo analizzerai spero ti possa essere utile e servire per qualche spunto.
Ho sempre cercato di organizzare i componenti di LBToolkit in modo che fossero facilmente riutilizzabili, seguendo un’impostazione che nel tempo mi ha dato molta soddisfazione, sia in termini di manutenzione che di evoluzione dei progetti.

Se ti servirà un confronto o vorrai approfondire qualche parte, sono a disposizione!

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 3041
  • Karma: +21/-4
Re:Brook framework
« Risposta #25 il: Ottobre 31, 2025, 09:15:17 am »
nel mio caso principalmente 2

il primo che ho usato è wchttpserver, interamente scritto in fpc e supporta anche https
è nato come server web ma poi, con poche modifiche fatte dall'autore, è ore anche un REST server
https://forum.lazarus.freepascal.org/index.php/topic,53475.0.html
https://github.com/iLya2IK/wchttpserver

poi ho voluto sperimentare l'uso di Apache con CGI scritti in FPC, più precisamente con InstantFpc
è un tipo di uso molto particolare e sicuramente è necessario poter configurare l'host
capisco che sentir dire CGI possa far storcere il naso ma posso assicurare che il risultato è potentissimo: si può usare qualsiasi libreria di FPC!
questo è un articolo che ho scritto sul blog per lasciare traccia di come si può fare
https://blog.lazaruspascal.it/2023/11/10/sviluppare-cgi-su-apache2-con-instantfpc/

Edit:
ce l'ho in uso da un cliente è un servizio in funzione da un paio d'anni H24 7/7, 365 giorni all'anno
Ciao @Nomorelogic
Se non sbaglio,più che un framework sembra una libreria che permette di sviluppare un server quasi da 0?


se ti riferisci a wchttpserver, si tratta di un server web perfettamente funzionante e pronto all'uso
bisogna estenderne le funzionalità definendo gli endpoint e creando i rispettivi response
per creare un tuo response, dovrai ereditare da un oggetto del framework ed il tutto  sarà compilato nel binario finale

Edit:
posso solo dire che il codice è chiaro e compatto
nei casi in cui apache è troppo la vedo come l'opzione migliore


Edit2:
mi è anche capitato di usare Apache con InstantFpc per lo sviluppo delle classi per poi usarle con wchttpserver
è un approccio molto veloce per sviluppare un prototipo di applicazione
« Ultima modifica: Ottobre 31, 2025, 09:19:16 am da nomorelogic »
Imagination is more important than knowledge (A.Einstein)

 

Recenti

How To

Utenti
Stats
  • Post in totale: 20104
  • Topic in totale: 2422
  • Online Today: 117
  • Online Ever: 1080
  • (Novembre 10, 2025, 06:15:39 am)
Utenti Online
Users: 0
Guests: 103
Total: 103

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.