Newsgroup: it.comp.lang.delphi
Titolo: Pareri su programmazione web

Salve, ho sempre programmato con Delphi ma sto cercando di convertire ma sto cercando di convertire i miei programmi windows in webapp in modo da poter sbarcare su tutti i tipi di device. Sto utilizzando unigui ed il risultato è fantastico tuttavia da sempre ho un dubbio se volessi abbandonare delphi e passare a php come faccio a creare un interfaccia utente così complessa che tool uso? In delphi sono abituato che in 5 minuti piazzo bottoni eventi pannelli caselle a discesa, in altri linguaggi come si fa anzi la domanda è come fanno? Scusate la mia ignoranza ma ho sempre usato delphi ed ho sempre pensato di smettere ma non ci sono mai riuscito.

 ho sempre pensato di smettere ma non ci sono mai riuscito. 
 
Cosa vuol dire "non ci sono mai riuscito"?
 
 
 
A.
 

Sicuro? Esempio rubrica, in delphi metto un griglia una tabella ed un dbnavigator adoconnection, datasource F9 e la mia rubrica è pronta per essere utilizzata e distribuita. Con Unigui idem anche responsive se voglio ma stessi 5 minuti. Abbellisco l'interfaccia uso i layout cambio i temi sempre in 5 min una web app funzionante. Costi 2000 euro annui più 600 euro di vps.
Se lo voglio fare con php? Costo 0 ma quante righe devo digitare ma il problema mio più grande è che quei pulsanti e quella griglia come li creo a mano in html e css non ho mai capito come creare le interfacce. Mi piace tanto il php ma si possono creare gestionali interi complessi.
In delphi + unigui hai tutto in un tool ma non mi piace il modo in cui dovrei distribuire vps windows con dll e apache.
Con php invece devo uploadare solo la mia app su qualsiasi spazio hosting. C'era un tool embarcadero radphp che mi sembrava eccezionale ma hanno abbandonato. 
Embarcadero non capisce che il futuro non gira sotto windows?

 Sicuro? 
 
..di cosa? Non ho capito...
 
A.

 
 
Se usi delphi ti suggerisco di dare un'occhiata alla suite della TMS 
chiamata WEB CORE.
In estrema sintesi ti permette di sviluppare web app in delphi.
Dato che non conosco il mondo web, non so dirti se potrebbe risolvere i 
tuoi problemi.
 
Ciao
Daniele

> In estrema sintesi ti permette di sviluppare web app in delphi.
 
Sembra la solita storia del "...abbiamo sempre fatto così...
 
Delphi non nasce per sviluppo Web frontend..al limite backend.
Io continuo a non comprendere questa ostinazione a fare i salti mortali pur di non cambiare:
 
„Se il solo strumento che possedete è un martello, vedrete in ogni problema un chiodo.“
 
A.

Si ho visto tms web core e come output da html e javascript ed inoltre puoi anche risparmiare sulla licenza delphi dal nome che gira su lazarus.
Con unigui ho provato a convertire il gestionale desktop che ho ed i risultati li vedo eccezionali. 
Quindi unigui, tms, elevate web, sencha architect fanno in modo che la programmazione web e desktop vanno a braccetto. 
 
La mia domanda era come mai non esiste un ide come delphi in altri linguaggi? O esiste ed io non lo conosco? Se devi creare una form di submit come la crei con blocco note? O trascini i controlli e questo che non capisco. 
Premetto che ho utilizzato webbuilder per fare questo ma volevo un parere. 
Usi il blocco note? 

 La mia domanda era come mai non esiste un ide come delphi in altri linguaggi?
 
Se stiamo parlando di GUI desktop, ci sono, ma sono spesso disaccoppiate dal
linguaggio, sia per essere più agnostiche possibili, sia per permettere
un'evoluzione indipendente del toolkit rispetto al linguaggio. Un esempio di
questo è Qt, dove con il GUI Builder crei l'interfaccia e poi tramite il
linguaggio di programmazione da te scelto (C++, Python, Rust, Go, altri)
implementi la logica. Se stiamo parlando di web, ci sono stati, ma l'evoluzione
di questo mondo li ha fatti morire presto. Ad oggi, quello che più si avvicina
ad un approccio a la Delphi in ambito web è Vue.js con il plugin vuetify per il
frontend, ed un linguaggio di programmazione qualsiasi per il backend (io
personalmente preferisco o Java o Python, ma sto approcciando il backend
anche con Go)
 
Enrico



 Salve, ho sempre programmato con Delphi ma sto cercando di convertire ma sto cercando di convertire i miei programmi windows in webapp in modo da poter sbarcare su tutti i tipi di device. Sto utilizzando unigui ed il risultato è fantastico tuttavia da sempre ho un dubbio se volessi abbandonare delphi e passare a php come faccio a creare un interfaccia utente così complessa che tool uso? In delphi sono abituato che in 5 minuti piazzo bottoni eventi pannelli caselle a discesa, in altri linguaggi come si fa anzi la domanda è come fanno? Scusate la mia ignoranza ma ho sempre usato delphi ed ho sempre pensato di smettere ma non ci sono mai riuscito.
 
Ciao, da anni ho abbandonato Delphi 5 e 7 convertendo in web app i vecchi gestionali che avevo scritto con questi due IDE. Come gli altri ti posso consigliare di cercare altrove. Delphi non è stato pensato per scrivere applicazioni web, e soprattutto non è uno standard. Utilizzando i tools che tu hai citato, nel momento in cui troverai un problema o dovrai fare qualcosa di particolare non troverai documentazione su internet perchè non c'è una comunità di utilizzatori alle spalle.
Ti posso suggerire di partire dal protocollo http (qui trovi un'ottima guida 
https://www.amazon.it/HTTP-Definitive-Guide-David-Gourley/dp/1565925092/ref=sr_1_1?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=http&qid=1593427423&s=books&sr=1-1
) e poi proseguire studiando html5, css e javascript e poi un linguaggio per il web (php, ruby, java e i suoi dialetti, ecc); ne trovi una marea e se volessi analizzarli tutti probabilmente il tempo necessario a decidere sarebbe maggiore del tempo che ti serve per scrivere l'applicazione.
In ogni caso abbandona Delphi e soprattutto la logia di piazzare controlli su una form; nel web non funziona così.
A presto
 
 
Alex Pileci

Il punto è un altro il futuro ha spazio per i programmi desktop? Io credo di no. E quindi embarcadero scomparirà? Io credo di no. 
 
 
Faccio premessa che vendo un software gestionale per una determinata categoria e che per renderlo multipiattaforma e multidevice ho utilizzato unigui il risultato e stato buono. 

 Faccio premessa che vendo un software gestionale per una determinata categoria e che per renderlo multipiattaforma e multidevice ho utilizzato unigui il risultato e stato buono.
 
Personalmente concepisco i software desktop solo quando si devono interfacciare con un device particolare come webcam, microfono o lettore di smart card. Se parliamo di una business application (gestionale) ormai credo che questo tipo di applicazioni abbia senso solo sul web; ormai siamo sempre connessi anche contemporaneamente con dispositivi che utilizzano reti diverse (esempio pc con connessione fissa e tablet o smartphone con connessione mobile) e questo ti mette al riparo da eventuali disconnessioni.
Non ho idea del futuro di Embarcadero, ma questo credo sia OT.
Saluti.

I lettori di smartcard posso essere usati anche da browser.
 
Io uso la CRS per accedere ai servizi della Regione Lombardia via browser, anche se con alcune limitazioni.
Firefox il lettore non lo vede; Chrome si, ma occorre chiudere tutti i browser, inserire la CRS nel lettore e dopo lanciare Chrome...
 
Riguardo le applicazioni in generale, dovremmo seriamente riflettere su quanto la tendenza al web based sia un "...così fan tutti.." e quanto sia una scelta CONSAPEVOLE E MOTIVATA a fronte di valutazioni oggettive...
 
 
Quanti sono consapevoli della LATENZA introdotta da quanto si basa su HTTP/HTTPs?
 
 
Quanti sono consapevoli della BANDA DI RETE necessaria per far passare pacchetti json (o peggio, XML...) rispetto ai protocolli nativi dei database relazionali più diffusi?
 
Siamo VERAMENTE certi che avere il grosso del lavoro server-side sia una buona idea a prescindere?
 
Quanti sono consapevoli che poi, lato server, occorre un hardware adeguato?
 
En passant, anche per il cloud...tutti a spingerlo.
Certo, ha tutta una serie di vantaggi.
Ma CHI PARLA DEGLI SVANTAGGI? 
 
 
Integrare un software desktop con qualcosa di mobile, ok.
Ma questa cosa non equivale ad avere tutto web based...
 
 
A.

 ho utilizzato unigui il risultato e stato buono.
Non è in discussione il risultato quanto il *mezzo"....
 
A.

Nella programmazione web perchè php è più adatto di Delphi + unigui? 
In php ho creato una semplice web app di calcolo calorie ai pasti una specie di diario alimentare ma se avessi voluto creare un gestionale completo stavo ancora a piazzare i controlli. 
Per me quello è la differenza che mi tiene ancorato a delphi creare la interfaccia utente. Oddio anche il debug in compilazione oddio anche il case sensitive ecc.. 

> Nella programmazione web perchè php è più adatto di Delphi + unigui? 
 
Perchè PHP, Python, Java + Spring MVC, Asp.Net MVC etc nascono per lo sviluppo Web.
Delphi, No: lo sviluppo Web in delphi si base sempre su ACCROCCHI.
 
Ma se sta bene a te..
 
A.


Ciao è vero che puoi utilizzare la smart card da browser (per autenticarsi è comodissimo) ma se devi rinnovare i certificati devi utilizzare un'app desktop (almeno io ho sempre fatto così).
Sono d'accordo con te che ci sono degli svantaggi (come in ogni alternativa) ma credo che i vantaggi siano molto superiori. Nella mia esperienza i vantaggi che ho visto sono:
- una sola installazione su application server, quindi quando hai completato quella tutti gli utenti utilizzano l'applicazione aggiornata
- multipiattaforma senza dover ritoccare il codice
- nessuna installazione sul pc, quindi puoi sempre cambiare dispositivo e lavori immediatamente
 
Quanto agli svantaggi il primo che mi viene in mente è lo step iniziale di avere a che fare con un application server in remoto e un'applicazione che non avvii facendo semplicemente doppio clic su un'icona. Quindi se qualcosa non funziona devi iniziare a sbattere la testa sui file di log che a volte non ti dicono tutto quello che ti serve.
 
Sono curioso di sapere se altri in questo ng hanno trovato altri vantaggi/svantaggi.
Saluti.
 
 
 
Alex


Ciao, nella programmazione lato web non ci sono componenti da piazzare su una form. Semplicemente ci sono dei file html (o dei file di altro tipo che vengono processati dal server che poi produce delle pagine html da restituire al browser).
Ti posso dire la mia esperienza (positiva) sui punti che hai citato:
- interfaccia utente: uso dei file di testo da cui il server genera le pagine html. essendo dei file di testo in chiaro, ho degli scritp che producono questi file partendo dai domain dell'applicazione. Quindi in pochi secondi mi ritrovo con le form (chiamiamole così) con tutti i componenti (per dirla così) al loro posto e poche personalizzazioni da fare. Quando anche devo personalizzare le form, non ho dei tools appositi come delphi quindi potrei anche fare tutto con un editor di testo come vi e non togliere le mani dalla tastiera; in definitiva sono molto più produttivo.
- debug: nelle applicazioni lato web non debuggi il codice come delphi perchè l'applicazione è in esecuzione su un altro computer. Semplicemente mentre scrivo il codice scrivo ed eseguo anche i test per capire subito se funziona tutto o meno. Se i test falliscono allora debuggo facendo scrivere da qualche parte i valori che mi interessano. In ogni caso faccio scrivere sui file di log sul server per poter sempre ricostruire cosa succede quando l'applicazione è in esecuzione sul server.
- case sensitive: credo che questo sia un discorso di codice pulito (nomi cammellati o underscore a seconda dei gusti).
Buona serata
 
 
Alex

 log che a volte non ti dicono tutto quello che ti serve.
 
Questa è una delle cose più brutte, secondo me.
Ovviamente (ma non per tutti)  i server devono essere ben dimensionati, altrimenti, avendo tutto lato server salvo la parte javascript, buonanotte.
 
Non citi il problema della latenza.
Una applicazione c/s, accede al db DIRETTAMENTE, tramite il client del db di turno e senza layer intermedi. Risultato: performance al top.
Per contro, da un browser, fai click per vedere dei dati, e parte una prima richiesta che alla fine deve diventare HTTP (e tra il dire i fareci sono strati...). Poi, quando il server ti manda indietro i dati, diventano json/xml, poi passano su HTTP: sicuramente tempi più lunghi rispetto all'accesso diretto al db e maggior impiego di banda.
Magari sono io a essere "dinosaurico", per carità, ma se siamo in 500 sulla stessa LAN, e su quella LAN viaggia già un sacco di traffico, arrivo io che chiedo una lista di 500 fatture...sai che pacchetto json viene fuori...
 
 
A.


Ciao,
per i 500 utenti collegati normalmente su un server si installa memcached che funziona da bilanciatore. Dietro il bilanciatore ci sono n server con n repliche della stessa applicazione. Le richieste dei browsers arrivano al bilanciatore che decide a quale nodo girare la richiesta di modo tale che il carico sulle macchine sia più o meno sempre lo stesso. Quando devi aggiornare l'applicazione stacchi dal bilanciatore il primo nodo, lo aggiorni e poi lo riporti su; poi replichi lo stesso procedimento per tutti gli altri nodi. Tieni conto che al momento non ho queste esigenze ma questa è la procedura che mi è stata delineata dal sistemista che la utilizza quindi te la posso dare per reale.
Per multipiattaforma intendo questo: lato server installi l'application server su windows o linux, la tua applicazione sarà poi eseguita dall'application server. Lato client i tuoi utenti utilizzano l'applicazione tramite browser quindi da windows, linux, ios o android.
Quanto alla latenza nelle app web, quest'ultima accede al db direttamente senza layer intermedi, dopo aver estratto i dati prepara una pagina html che viene restituita al client. Se configuri correttamente l'orm per accedere ai dati collegati quando necessario i tempi di risposta sono buoni. Tieni anche conto che normalmente davanti all'application server viene messo un server http come nginx e non vedi rallentamenti nell'uso dell'applicazione. Certamente  se devi muovere un sacco di dati tramite json i tempi si possono allungare perchè i dati devono arrivare al client e poi il browser tramite javascript li deve elaborare per costruire la pagina. In questo caso come sviluppatore decidi di spostare parte dell'elaborazione lato client (nei framework come angular questa è la norma). Personalmente non amo molto questa logica per due motivoi: preferisco l'elaborazione lato server dove il codice eseguito è compilato (quindi con le performance migliori) ed è un codice che ho potuto testare in modo estensivo. Il codice lato client invece si basa su javascript (che personalmente non amo) e dove i tempi per i test si allungano. Personalmente ricorro a javascript quando non ne posso fare a meno, quindi devo modificare la pagina (es. per aggiungere nuove righe alla fattura o alla registrazione contabile). Per tutto il resto, codice lato server soprattutto per validare i dati.
That's my two cents.
 
 
Alex

 Faccio premessa che vendo un software gestionale per una determinata categoria e che per renderlo multipiattaforma e multidevice ho utilizzato unigui il risultato e stato buono.
 
Ciao, posso chiedere come hai fatto il deploy dell'applicazione delphi? Su quale server e sistema operativo?
 
 
 
Alex

Windows Server 2012 dovrei utilizzare una vps ma dal momento che devo soltanto convertire per i clienti assodati posso utilizzare anche un I5 a 4 GB in ufficio. 

 Windows Server 2012 dovrei utilizzare una vps ma dal momento che devo soltanto convertire per i clienti assodati posso utilizzare anche un I5 a 4 GB in ufficio.
 
Come server http cosa hai utilizzato (apachem, nginx)? Se non puoi dirlo per ragioni di sicurezza dont' worry :)
 
 
Alex

Lanci l'app.exe in standalone e poi ascolta su porta 8077 che posso aprire e distribuire app. Non ho ancora configurato ssl. 
Posso utilizzare apache se distribuisco app isapi.dll 
Però ha anche un hyperserver che bilancia scala e fa un sacco di altre cose.
 
Scusa per la mia ignoranza ma vedo le cose fatte bene mi dicono che hanno un limite di 500/ 1000 connessioni dovuto alla gestione a 32 bit della memoria da parte di delphi e del limite di 1 Gb e dicono che se delphi si decide ad andare a 64 bit allora le connessioni possono anche triplicare.
Sul loro forum trovi di tutto.
Il mio problema è che tra licenza delphi e unigui e vps e dominio e ssl mi costa 2000 euro l'anno. 
Dimenticavo ma non c'è un gruppo facebook per programmatori delphi? Devo aprire un altro topic?

 Il mio problema è che tra licenza delphi e unigui e vps e dominio e ssl mi costa 2000 euro l'anno. 
Onestamente mi sembra una cifra importante. Io non spendo quella cifra ogni anno per la mia infrastruttura con tre macchine cloud. I tools per lo sviluppo sono open source (jdk, groovy, grails, hibernate, ecc). Gli application server e il database sono free e open source.
Mi chiedevo invece cosa serve RAD Server di Embarcadero per le app web. Anche lì ho visto che i costi non sono niente mail. Qualcuno qui ha notizie?


La porta la decidi tu posso utilizzare qualsiasi porta se metto ssl per comodità utilizzerò 443. Quindi 
https://miodominio.com
 Non c'è bisogno di Embarcadero Rad Server. 
 
Il server è il tuoapp.exe avviato ascolta sulla porta che vuoi. 
 
Solo licenza delphi sui 1500 unigui sui 500 anche di più e poi Vps dai 200 ai 400 annui 100 certificato ssl e poi dominio 50 euro. Però della licenza delphi non posso farne a meno anche se faccio tutto con php.


L'app.exe può essere avviata solo su win o anche su linux? ti chiedo questo perchè avere un server windows vuol dire portarsi duetro anche la gui immagino, cosa che in linux puoi anche togliere e fare tutto da riga di comando.
Fossi in te mi guarderei un po' in giro; non solo php ma anche ruby o python oppure i diversi dialetti di java. Con l'occasione impari qualcosa di nuovo e non ti leghi mani e piedi a delphi.
Ciao
 
 
Alex

 funziona da bilanciatore.
 
Aspetta, memcached non fa da bilanciatore, ma da caching in memory (da qui il
nome). Un bilanciatore è apache2, nginx o haproxy. Per capirci, in memcached
salvi eventuali JSESSIONID, non decidi su quale server far atterrare la
connessione del client
 
Enrico

 Enrico
 
Chiedo scusa, avevo capito così quando mi era stato spiegato. In effetti avevo iniziato a leggere la documentazione di memcached e come integrarlo nella mia applicazione ma poi non mi è servito.
Saluti.
 
 
 
Alex


Con Unigui solo Windows il server unigui restituisce codice extjs che sarà eseguito in qualsiasi browser.
Con tms web core invece ottini javascript puro e html e lavora sotto lazarus Quindi il tutto costerebbe 400 annui.
Però non so se è potente come unigui e quanto codice dovrai scrivere.
Esempio immagina una webapp piccola che deve  visualizzare 4 griglie e due grafici interrogando un database e facendo sei query diverse e renderle visibili in responsive sai quanto impiego per farlo da zero? 10 min. Prodotto finito senza errori fa tutto delphi. Griglie interattive ecc... sommate miriade di controlli e settaggi scrivi pochissimo codice. Fallo in php html e css. 
Chi ha programmato in delphi lo sa che i miei 10 minuti non sono un'esagerazione.

Il mio domandone è: perché tecnicamente è meglio python java php che delphi + unigui, vorrei un vostro parere tecnico. 
Cioè perché un programmatore delphi dovrebbe lasciare delphi e convertirsi a nuovi linguaggi. A parte i costi vorrei capire la trappola tecnica. 


Ciao, in grails (ma credo lo stesso possa dirsi di ruby on rails) in 10 minuti puoi tirare su una web app dove hai un collegamento con un database tramite orm (grails utilizza hibernate mentre ruby utilizza active record ma su questo sono meno sicuro). Utilizzando lo scaffold tu definisci i domain (che equivalgono alle tabelle del db) settando le proprietà (che corrispondono alle colonne delle tabelle) e poi fai partire l'app (o ne fai il deploy) e ti trovi le pagine web per il CRUD dei tuoi record. Il tutto a costo zero. 
Certamente quello non basta per essere un progetto serio, ma poi puoi aggiungere temi html css e js e sul web ne trovi a pacchi con anche grafici (li ho utilizzati nella mia app). Certo delphi fa tutto per te, ma in caso di problemi siccome delphi ha fatto tutto per te, come farai per risolvere visto che non hai messo mano al codice html, css e js?
Saluti.
 
 
 
Alex

 Cioè perché un programmatore delphi dovrebbe lasciare delphi e convertirsi a nuovi linguaggi. A parte i costi vorrei capire la trappola tecnica.
 
Ciao, ti posso riportare la mia esperienza e i vantaggi che ho utilizzando groovy/grails.
 
Esperienza: smettendo di utilizzare delphi ho smesso di pensare che la programmazione sia avere una form, piazzare dei componenti su di essa, scrivere del codice nella form e poi premere F9 per vedere se tutto funziona.
Il framework che utilizzo si basa tutto su model-view-controller. Quindi definisci i tuoi model (cioè le classi che saranno mappate sul db), poi hai i controller che prendono le richieste http arrivate dai browser e restituiscono le view cioè le pagine html per i browser. Questo ti fa subito capire come tenere sempre distinte le cose. Per fare meglio poi inserisci la logica dell'applicazione nei service che sono delle api che eseguono le operazioni. Tra l'altro queste api sono iniettate nell'applicazione da spring quindi non ti devi preoccupare di creare/distruggere questi oggetti. Inoltre sono transazionali quindi ogni scrittura nel db è inserita in una transazione, quindi se qualcosa va storto nell'aggiornamento del db viene fatto il rollback.
Seguendo questa strada ti ritrovi le view (le tue form) libere da logica dell'applicazione, che invece si trova nei service; i controller gestiscono il traffico di richieste e risposte. Nei domain trovi i campi del db e le regole di validazione.
 
Vantaggi: posso lavorare da qualunque pc perchè lo stack che utilizzo (jdk, netbeans, powershell) può essere replicato su linux (jdk, netbeans e bash). Potrei anche evitare netbeans (che per certi versi è un mostrone) e utilizzare vi che è molto più leggero.
Nel framework che uso ho già la dependency injection da spring e l'orm di hibernate, quindi transazioni e aggiornamento del db ad ogni deploy. Ho la possibilità di testare le api con unit test e integration test. Utilizzando phantom.js ho anche gli end-to-end test senza dover acquistare librerie di terze parti.
Infine grails e hibernate ti permettono di fare ricerche nel database in maniera veloce. Ti faccio due esempi: 
- se devo cercare nella tabella persona tutti i record con nome uguale a alessandro scrivo Persona.findByNome('alessandro')
- se devo cercare nella tabella persona tutti i record che hanno nella tabella detail mails il campo indirizzo che contiene gmail scrivo
def query = Persona.createQuery()
query.list {
  mails {
    eq('indirizzo', '%gmail%')
  }
}
 
e ottengo una lista con i record che mi servono. Il tutto senza diventare matto con la sintassi sql.
Per ultimo puoi trovare diversi libri per documentarti e risorse sul web.
Se poi consideri che tutto questo è free e open source, faccio fatica a trovare degli svantaggi rispetto a delphi.
Ciao.
 
 
 
Alex

 Delphi, No: lo sviluppo Web in delphi si base sempre su ACCROCCHI.
 
Perché, come si è visto, prima Borland, poi Embarcadero, hanno preferito
puntare tutto su quel desktop che piano piano stanno abbandonando tutti.
E la comunità ha preferito rivolgersi ad altro. Insomma, è una questione
politica, come sempre
 
Enrico

No ripeto la domanda mi sono espresso male fin dal primo momento, dico cosa rende migliore un app scritta con grails o ruby rispetto ad un App scritta con Delphi più Unigui?
Vorrei un vostro dettaglio tecnico esempio max connessioni simultane con php 10.000 con unigui max 1000. 
Non parlo di come realizzare un app ma parlo del prodotto finito cosa mi perdo?
Mi rendo conto che per rispondermi dovreste almeno consultare il sito di unigui.

 andare a 64 bit allora le connessioni possono anche triplicare.
 
In questi casi conviene valutare pesantemente vari fattori:
 
 - Puoi scalare? Ovvero, puoi installare la tua webapp su più server, mettere
   davanti un load balancer e poi gestire così le connessioni?
 - Puoi ricompilare? Ovvero, puoi portare la tua webapp su di un altro
   compilatore, ad esempio Lazarus, che non ha limiti architetturali?
 - Puoi migrare? Ovvero, puoi riscrivere la tua webapp in un altro linguaggio
   meno limitante?
 
Personalmente ragionerei su questi tre punti, tenendo conto di quale mi sia
più conveniente e tenendo conto dei pro e dei contro (e.g. se valuti
l'approccio della migrazione, e scegli ad esempio Go, è vero che  puoi
compilare su più piattaforme e su più architetture, ma di contro hai un
linguaggio e una base di librerie più giovane rispetto a quelle che hai con
Delphi)
 
Enrico

 oppure i diversi dialetti di java.
 
Java non ha dialetti, è uno solo. Quello che si differenzia è che sulla JVM
puoi far girare diversi linguaggi di programmazione (Scala, Groovy e Kotlin
sono quelli più conosciuti) oltre a quello "nativo" (Java, appunto). Per il
resto, sono totalmente d'accordo con te, e aggiungerei ai linguaggi citati
Go (
https://golang.org
), che si è dimostrato parecchio versatile, in quanto
puoi usarlo dall'embedded alla programmazione desktop,  nonché ottimo per
la programmazione web
 
Enrico


Ciao ho definito groovy un dialetto di java perchè non è java ma "vive" nell'ecosistema java. Difatti puoi compilare il codice groovy ed eseguirlo nella jvm e puoi utilizzare librerie java nel tuo progetto groovy. La cosa bella di questo "dialetto" java è che non è prolisso come java quindi devi scrivere meno righe e capisci cosa fa il codice senza perderti in troppo orpelli.
 
 
Alex

Bello Grails che dire mi piace mi consigli di investirci tempo per il futuro? Come dovrei procedere per capire al meglio questo linguaggio? Anche se per me Delphi più Unigui resta la prima scelta so bene che prima o poi un salto lo devo fare.

 Bello Grails che dire mi piace mi consigli di investirci tempo per il futuro? Come dovrei procedere per capire al meglio questo linguaggio? Anche se per me Delphi più Unigui resta la prima scelta so bene che prima o poi un salto lo devo fare.
 
Ciao personalmente ti consiglio (visto che hai già un'app funzionante) di investire del tempo per capire il protocollo http, html, css, javascript e groovy/grails
Ti consiglio la versione 2 che supporta jdk 7 e negli ultimi rilasci anche jdk 8. Su grails 3 posso dirti poco; l'ho provato e l'ho trovato peggiore della versione 2 (più complicato e macchinoso) E' stata rilasciata anche la versione 4 (chiamate anche micronaut). Grails 2 rende comunque piacevole sviluppare per il web.
Buona giornata.
 
 
 
Alex

 con Delphi più Unigui?
 
Il problema è che per questa domanda non basta solo vedere la documentazione
di Unigui, ma anche provarlo. Sul lato tecnico, posso già dirti che una webapp
scritta in Java o Python ha una portabilità molto più ampia rispetto ad una
webapp scritta in Delphi (uno su tutti, la JVM la ho anche su Linux a 64 bit),
e non hai vincoli particolari di licenza. A questo, se ci aggiungi che la
comunità Delphi è morente, allora hai un quadro più ampio. Personalmente,
l'unico motivo per cui rimarrei su Delphi, è la conoscenza del linguaggio, ma
non ne vale la pena. Con Python ad esempio ho una produttività ottima ed una
comunità crescente e solida, che mi permette di mantenere l'investimento sul
linguaggio per molto più tempo
 
Enrico

 in troppo orpelli.
 
Lo conosco, ma sono un tradizionalista e trovo più comprensibile il buon
vecchio Java (che ultimamente s'è snellito un po') ;)
 
Enrico


Grazie della precisazione ;) Posso chiederti per quali progetti usi java? Quali framework usi?
Buona serata.

 Quali framework usi?
 
Non uso framework, parto da uno scheletro di progetto mio che implementa JAX-RS
ed embedda Jetty, e da lì tramite la specifica detta prima scrivo l'API
 
Enrico