Italian community of Lazarus and Free Pascal

Programmazione => Lazarus e il web => Topic aperto da: nomorelogic - Settembre 27, 2021, 12:44:34 pm

Titolo: Lazarus ed il web
Inserito da: nomorelogic - Settembre 27, 2021, 12:44:34 pm
vi invito a leggere questa risposta sulla mailing list di lazarus
in particolare l'ultima frase scritta da Michael Van Canneyt

https://lists.lazarus-ide.org/pipermail/lazarus/2021-September/239224.html (https://lists.lazarus-ide.org/pipermail/lazarus/2021-September/239224.html)

sembra che pas2js sia stabile e che entro un anno potrebbe arrivare la possibilità di usare Lazarus per web application lato client...

Queste sono belle notizie.
Speriam bene
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Settembre 27, 2021, 03:40:56 pm
Interessante.

Una specie di "Intraweb" per Lazarus (lasciando perdere le finezze tecniche). Sarebbe un altro tassello al completamento di Lazarus, anche se come da post passati ritengo che forse il pascal non è propriamente adatto al "web" come interfaccia grafica.
I browser con le loro decennali esperienze non hanno ancora trovato un "modus" stabile e ancora ci sono enormi discrepanze ed incompatibilità tra gli standard e le applicazioni "de facto". Tanto è vero che quasi tutte le soluzioni sono compatibili con "questo" browser ma non con "quello" ......

Certo, chi ci lavorerà avrà lavoro assicurato se piazza delle belle soluzioni: ogni anno sicuramente dovranno eesere aggiornate le applicazioni per il supporto a nuovi browser o per l'aggiornamento dei vecchi ....

In ogni caso rimane una fatto importante che è l'avanzamento tecnologico di Lazarus.

P.S.
Meditate su questo: se fosse così facile e "produttivo" fare applicazioni web, perchè non c'è una app sui telefonini che giri sotto browser ? E su Linux ? ....
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Settembre 27, 2021, 05:40:43 pm
conosco un tizio che sviluppa usando quasar framework
https://quasar.dev/introduction-to-quasar

in effetti le applicazioni quasar sembra che girino dentro un browser embedded
il problema secondo me è che le app nei browser guadagnano in termini di configurazione dei client (nel senso che non c'è da configurare nulla, basta un browser) ma perdono in quanto soffrono appunto dei limiti del browser nel quali girano (mi riferisco ad isolamento dalla macchina client, stateless, nessun db locale serio, ec....)

fatto sta che oramai la strada (almeno per questa era informatica) sembra segnata e "bisogna" sviluppare così...
però io ho visto molte ere informatiche... magari torna il client/server sotto nuove spoglie
(ed avverrà appena saranno tutti sul cloud  ;D)
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Settembre 27, 2021, 06:51:10 pm
fatto sta che oramai la strada (almeno per questa era informatica) sembra segnata e "bisogna" sviluppare così...

Bhè diciamo che è la moda del momento, comunque abbastanza limitata come diffusione. In realtà i "maggiori" sw di gestione non si basano su browser web. E in campo industriale non viene usata tecnologia basata su browser web, proprio per ciò che hai accennato tu e sulla difficoltà di mantenere compatibilità permanenti anche una decina di anni o più. 

Qualche anno fà (.... diversi anni fà ....) sviluppai diversi progetti (anche per enti pubblici) basati su browser web, ma dopo pochi anni la limitazione tecnologica e la difficoltà di mantenere la compatibilità con i vari browser (ogni amministrazione impone il proprio) mi portò a (ri)commutare tutti i progetti in C/S.

Tra l'altro a quell'epoca sfruttai i server per installare un unico programma Client, richiamandolo come collegamento da tutte le altre postazioni di lavoro .... quindi 15 postazioni (ad esempio) con solo due eseguibili uno client e l'altro server entrambi installati in un server.....

Ciao
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Settembre 27, 2021, 08:00:59 pm
Tra l'altro a quell'epoca sfruttai i server per installare un unico programma Client, richiamandolo come collegamento da tutte le altre postazioni di lavoro .... quindi 15 postazioni (ad esempio) con solo due eseguibili uno client e l'altro server entrambi installati in un server.....

anche noi facevamo così e quelle ns installazioni che oggi continuano a girare funzionano ancora così
hanno sempre funzionato da XP a Win10
Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Settembre 27, 2021, 10:04:16 pm
Di per se una buona notizia. Speriamo non arrivi troppo tardi.
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Settembre 28, 2021, 08:54:36 am
in realtà già ci sono dei widget per realizzare client-in-browser con lazarus
quelli più avanzati sono commerciali
https://wiki.lazarus.freepascal.org/pas2js_widgetsets (https://wiki.lazarus.freepascal.org/pas2js_widgetsets)

sto parlando di TMS, probabilmente li avete già sentiti nominare

e poi ci sono questi
https://github.com/pascaldragon/Pas2JS_Widget (https://github.com/pascaldragon/Pas2JS_Widget)
l'ultimo commit sembra di 5 mesi fa e stanno nel repo di pascaldragon (se non lo conoscete vi dico che il nick non è affatto una esagerazione...)

non so se sarebbe da fare più una colletta per acquistare quelli TMS o dare una mano a pascaldragon :D


Edit:
il manuale dei widget TMS
http://www.tmssoftware.biz/Download/Manuals/TMSWEBCoreDevGuide.pdf (http://www.tmssoftware.biz/Download/Manuals/TMSWEBCoreDevGuide.pdf)
e non ditemi che non vi fa venire voglia :D :D

Edit 2:
demo
https://www.tmssoftware.com/site/tmswebcoredemos.asp (https://www.tmssoftware.com/site/tmswebcoredemos.asp)
(cmq... il loro sito è fatto con asp  :o)
Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Settembre 28, 2021, 10:25:19 pm
Nomore, grazie delle segnalazioni.
Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Settembre 29, 2021, 12:48:26 pm
Nomore, tu sei riuscito ad installare i componenti di PascalDragon?
Perchè io non riesco a compilare il pas2js_rtl.lpk. Mi dice che non trova l'eseguibile "pas2js.exe".
Mi trovo su windows. Tu hai una guida step by step da seguire?
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Settembre 29, 2021, 03:53:58 pm
ancora non ho provato ma ho intenzione di provare
solo ho bisogno di tempo...
Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Settembre 29, 2021, 08:49:00 pm
Allora se ci riesci, spigalo anche a noi  :)
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Settembre 30, 2021, 08:59:07 am
ok

intanto ho trovato questo fork, c'è qualcuno che sta provando a sistemare un bug
https://github.com/seryal/Pas2JS_Widget (https://github.com/seryal/Pas2JS_Widget)

inoltre ha preparato anche una cartella in più col progetto demo
che si può vedere su questo link
http://syware.ru/ (http://syware.ru/)
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Settembre 30, 2021, 10:50:25 am
Stò eseguendo anche io l'installazione di pas2js.

Intanto i riferimenti alle due pagine guida:
 https://wiki.freepascal.org/pas2js (https://wiki.freepascal.org/pas2js)
https://wiki.freepascal.org/lazarus_pas2js_integration (https://wiki.freepascal.org/lazarus_pas2js_integration)

1) Installare il pacchetto pas2jsDesign da Lazarus (è già presente nell'ellenco dei pacchetti locali, non è presente online).

2) Una volta installato e riavviato Lazarus, se andiamo nelle opzioni troviamo anche Pas2JS.

3) Qui modifichiamo le due path necessarie (compilatore e webserverdemo) come da immagine allegata (ovviamente ognuno avrà installato Lazarus in un certo posto ... quindi modifichi di conseguenza i dati ovviamente).

4) Ora si possono produrre due nuovi progetti (WebBrowser Application, Node.js Application).

Per ora stop. Più tardi continuo.

Ciao

Aggiornamento: ci vogliono più passaggi ed il compilatore pas2js deve essere portato alla versione 2, tutti i widgets richiedono la versione 2 del compilatore. La versione fonrita di default con Lazarus 2.012 e fpc 3.2.0 è la 1.xxx
Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Ottobre 05, 2021, 12:29:35 pm
Qualcuno ha provato qualcosa?
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Ottobre 05, 2021, 05:23:45 pm
Io ancora no, mi sono impiantato con la versione 2 del compilatore e non sono andato oltre. Vedo in queste sere di concludere.

Ciao
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Ottobre 06, 2021, 12:43:55 am
ho provato anche io l'installazione sotto Win ma ho un problema in fase di compilazione
non trova pas2js.exe

domani provo a risolvere e se riesco installo anche us linux
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Ottobre 06, 2021, 03:25:26 pm
wow


c'è voluto  un po' per far funzionare il tutto ma ne vale la pena....

La demo del fork (https://github.com/seryal/Pas2JS_Widget) per farla funzionare ho dovuto cancellare il combobox e la listbox. Non chiedetemi perché ma non trovava la proprietà Strings...
Tolti questi 2 widget la demo funziona come quella live che ho linkato qualche msg fa.

Ho poi fatto un progetto alla cieca: (1) aggiunti label, edit e button (2) aggiunto il codice
Codice: [Seleziona]
procedure TWForm1.WButton1Click(Sender: TObject);
begin
  ShowMessage(WEdit1.Text);
end;
e il risultato è quello in allegato!

Prossimo step installo su linux, un po' di pazienza..
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Ottobre 06, 2021, 09:11:43 pm
Stò eseguendo anche io l'installazione di pas2js.

Intanto i riferimenti alle due pagine guida:
 https://wiki.freepascal.org/pas2js (https://wiki.freepascal.org/pas2js)
https://wiki.freepascal.org/lazarus_pas2js_integration (https://wiki.freepascal.org/lazarus_pas2js_integration)

1) Installare il pacchetto pas2jsDesign da Lazarus (è già presente nell'ellenco dei pacchetti locali, non è presente online).

2) Una volta installato e riavviato Lazarus, se andiamo nelle opzioni troviamo anche Pas2JS.

3) Qui modifichiamo le due path necessarie (compilatore e webserverdemo) come da immagine allegata (ovviamente ognuno avrà installato Lazarus in un certo posto ... quindi modifichi di conseguenza i dati ovviamente).

4) Ora si possono produrre due nuovi progetti (WebBrowser Application, Node.js Application).

Per ora stop. Più tardi continuo.

Ciao

Aggiornamento: ci vogliono più passaggi ed il compilatore pas2js deve essere portato alla versione 2, tutti i widgets richiedono la versione 2 del compilatore. La versione fonrita di default con Lazarus 2.012 e fpc 3.2.0 è la 1.xxx

Continuazione:

VERSIONE LAZARUS 2.3.0 FPC 3.3.1

Dobbiamo ora caricare il pacchetto pas2js_rtl.

Questo pacchetto si trova all'interno dello zip (va scompattato):

ftp://ftpmaster.freepascal.org/fpc/contrib/pas2js/2.0.6/pas2js-windows-2.0.6.zip

Aprite Lazarus e caricate il pacchetto  "pas2js-windows-2.0.6\packages\rtl\pas2js_rtl.lpk"

!!! ATTENZIONE, CARICATELO E BASTA. UNA VOLTA CARICATO QUESTO VERRA' CARICATO AD OGNI RIAVVIO DI LAZARUS !!!!

Scaricate ora uno dei PAS2JS_WIDGET, tanto sono tutti dei fork da un non meglio precisato progetto originale.

Io ho usato https://github.com/seryal/Pas2JS_Widget (indicato da @nomorelogic in un precedente POST)

Aprite il pacchetto "Pas2JS_Widget-master\design\package\wcldsgn.lpk".

Compilatelo ed installatelo.

Dopo aver riavviato Lazarus ultimo passaggio:

Aprite il pacchetto "Pas2JS_Widget-master\widgets\wcl.lpk"

!!! ATTENZIONE, CARICATELO E BASTA. UNA VOLTA CARICATO QUESTO VERRA' CARICATO AD OGNI RIAVVIO DI LAZARUS !!!!

FINITO.

Ora siete abili a costruire applicazioni WEB.

Per verificare, aprite il progetto demo

"Pas2JS_Widget-master\demo\demo.lpi"

Fate una build e lanciate da Explorer il file Index.html presente nalla cartella.

ATTENZIONE: il demo anche in questa versione, come in quella di @nomorelogic, non supporta la proprità Strings della combobox e della listbox (entrambi i componenti vanno cancellati per poter effettuare la build).

Come nota finale comunque non siamo ancora pronti, se vedete con un browser FireFox molti componenti non vengono aggiornati correttamente (a me le checkbox e i radiobutton ad esempio). Per "cliccarli" occorre puntare il mouse a meta circa della corrispettiva label.

Però diciamo che è un buon passo in avanti.

Ciao a tutti
Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Ottobre 09, 2021, 10:41:36 am
Ciao, volendo provare la tua guida mi imbatto in un primo piccolo problema. Dove trovo il compilatore pas2js versione 2?
Titolo: Re:Lazarus ed il web
Inserito da: nomorelogic - Ottobre 09, 2021, 11:48:20 am
lo trovi qua
ftp://ftpmaster.freepascal.org/fpc/contrib/pas2js/ (http://ftp://ftpmaster.freepascal.org/fpc/contrib/pas2js/)

link estratto da questa pagina
https://wiki.freepascal.org/pas2js (https://wiki.freepascal.org/pas2js)
Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Ottobre 09, 2021, 02:38:31 pm
Che è il link indicato da DragoRosso, però a me continua a dirmi

Panic: errore interno: impossibile trovare l'eseguibile "pas2js.exe"
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Ottobre 09, 2021, 03:35:33 pm
Che è il link indicato da DragoRosso, però a me continua a dirmi

Panic: errore interno: impossibile trovare l'eseguibile "pas2js.exe"

Perchè stai cercando di compilare i pacchetti pas2js_rtl.lpk o wcl.lpk.
Devi solo caricarli, non devi ne compilarli ne "buildarli".

Solo il wcldsgn.lpk deve essere compilato ed installato.

Titolo: Re:Lazarus ed il web
Inserito da: xinyiman - Ottobre 10, 2021, 11:13:12 am
Perfetto, sono riuscito a compilare. Per l'esempio, solo a me sembra che gli splitter non funzionano bene? Quando rilascio il mouse il controllo non perde il focus. Confermate?
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Ottobre 10, 2021, 12:22:27 pm
Sai che gli splitter non li avevo neanche provati ....

Avevano attirato la mia attenzione i checkbox e i radiobutton ....

Comunque confermo che gli splitter una volta "agganciati" non perdono più il focus.

Ciao
Titolo: Re:Lazarus ed il web
Inserito da: DragoRosso - Ottobre 11, 2021, 11:44:44 am
Aggiornamento:

ho messo in linea su un sito web commerciale il demo e funziona esattamente come "lanciato" da PC locale, compresi tutti i suoi bug ovviamente.

Ho provato a cercare in rete in maniera non esaustiva eventuali progetti Widgets correlati ma mi pare siano più o meno tutti uguali. Occorrerà uno sforzo per lo sviluppo abbastanza importante per arrivare ad un prodotto fruibile.

Ho dato una occhiata veloce invece al Pas2JS fornito da FreePascal ed effettivamente di materiale c'è ne a bizzeffe, dagli stili con CSS agli eventi all'accesso ai database, etc .....

E' un altro mondo, direi abbastanza diverso da ciò che normalmente "noi" facciamo e di cui ci occupiamo, tenendo conto che Lazarus è uno strumento RAD e come tale la maggior parte degli sviluppatori lo usa.

Inoltre una delle problematiche principali, a cui una applicazione web sicuramente deve sottostare è l'aspetto grafico. E con gli strumenti attuali di Lazarus questo aspetto è abbastanza ostico da affrontare per adesso.

Stò parlando ovviamente in generale, perchè ritengo che chi già ci lavora da parecchio tempo abbia comunque affrontato il problema e superato a suo modo.

Il mondo della programmazione è molto in fermento su alcuni argomenti, in particolare sugli sviluppi di strumenti "CODE FREE" ossia di strumenti che consentano di sviluppare applicazioni senza scrivere neanche una linea di codice.

Tali strumenti incominciano già essere presenti sul mercato, per adesso legati ad applicazioni ad altissimo valore aggiunto (nel senso che bisogna aggiungere parecchi EURO per ottenerli  ;D  :o :P ).

Pensate ad una applicazione che consenta di acquisire info da una qualsiasi fonte, trasformare queste info e riproporle senza una riga di codice: questo di qualunque info si tratti e qulunque sia il risultato da riproporre.

Se ci pensate è quello che generalmente le nostre applicazioni fanno, eccetto il fatto che normalmente noi aggiungiamo tonnellate di codice (e per adesso fortuna nostra che è così  ;D ). Quanto durerà ?

Se cercate "strumenti ETL" potete farvi una idea di cosa stò parlando.

Sono andato un pò OT, chiedo venia ...

Ciao, ciao