Newsgroup: it.comp.lang.delphi
Titolo: Delphi MVC Framework

Sono al solito bivio ..... sviluppare una parte Web, ma con cosa ?
conosco C++ ma non troppo C#.
 
- Leggo che Delphi MVC Framework protrebbe farlo , ma non ho trovato 
esempi concreti, eccetto qalche app console
 
oppure andare direttamente su Asp.Net con C# o VB.Net, in questi casi la 
documentazione non manca.
 
Asp.Net, va be' e' anche di moda.... ma potrebbe creare applicazioni 
Desktop veloci come le Win32/64 native di Delphi ?
 
.Net crea sempre un IL che poi sara' gestito dal Framework, in fase di 
esecuzione, e alcuni sostengono che tra C# e Vb.Net a livello IL ci 
siano minime diffenze.
 
Ho fatto delle piccole prove, giusto per cercare di capire, con Visual 
Studio 2017 community.
 
- IDE decisamente piu' lento di Delphi Berlin e precedenti
- Linguaggio C#, faccio fatica a capire dove dichiare classi etc., mi 
sembra tutto un calderone, rispetto a Delphi dove le regole sono certe.
 
Parto sempre dalle abitudini radicate con Delphi per cui Classi, 
istanze, procedure, function etc.
 
Secondo MS MVC non sostituisce WindowsForm, ma allo stesso tempo 
applicano concetti diversi.
 
Avete mai fatto/visto prove reali di applicazioni Web con Delphi + MVC 
Framework, parole tante (a partire da D.Teti), fatti pochi (ad ora non 
ho trovato un esempio web funzionante).
 
Trovandovi a creare una nuova applicazione Win32 + Web lo fareste con 
Delphi (parte desktop) e con Asp.Net (parte web application), o tutto 
con Asp.Net (trovando modo di riutilizzare il codice tra un progetto
Desktop classico Windows e Web.
 
Delphi MVC mi attira solo per la compatibilita', ma allo stesso tempo ho 
la paura di trovarmi in un vicolo cieco (perdere tempo nello studio di 
qualcosa non proprio adatto per il web).
 
Ultimo dubbio su .Net funziona su Hosting Windows, quindi un ipotetico 
applicativo non funzionerebbe su Hosting Linux (manca 
ASP.NET
) ed il 
cliente potrebbe dire "c...i tuoi, non e' un mio problema, ho un sito 
WordPress su Linux che funziona, perche' dovrei cambiare ?", certo 
potrebbe aggiungere al dominio l'Hosting Widows, ma farglielo capire.
 
Immagino ci sarete passati prima di me che esperienze/scelte avete fatto 
in questo senso ?

 Ultimo dubbio su .Net funziona su Hosting Windows
 
https://en.wikipedia.org/wiki/Mono_%28software%29
 

>
Aruba non lo fa
https://hosting.aruba.it/hosting/linux-windows.aspx
 
 

 Aruba non lo fa
 
Quindi?

>
si torna al punto che Asp.Net richiede hosting windows

 
https://en.wikipedia.org/wiki/Mono_%28software%29
 
 
Oltre a Mono, segnalo 
https://www.microsoft.com/net/core
 
Inoltre, visto che in teoria sono "dell'altra sponda", ricordo che Java e
Python sono realtà decisamente più consolidate di .Net per lo sviluppo di
applicazioni web (ok, lo è anche PHP, ma per esperienza personale e per
motivazioni tecniche non lo consiglierei nemmeno al mio peggior nemico)
 
Enrico

 Aruba non lo fa
 
Aruba è Merda™. Tanta, ma tanta Merda™. L'unico lato "positivo" è che costa
poco
 
Enrico

 si torna al punto che Asp.Net richiede hosting windows
 
No, si torna al punto che Aruba non lo supporta.
 
"Aruba non supporta 
ASP.NET
" e "
ASP.NET
 non e` supportato su Linux" sono due concetti diversi.

 applicazioni web 
 
Concordo!

>
lo sapevo, ma giusta la tua precisazione.
 

 Una web app e' troppo legata alla velocita' Adsl.
 
Non hai capito: la web app - oltre ad essere usata dagli utenti esterni - puo` sostituire del tutto l'app desktop, lavorando all'interno di una intranet. 

>
a questo proprio non ci avevo pensato.
 

 applicazioni web 
 
Non avendo competenze web, mi vien da chiederti pro/contro tra java  (magari con springmvc...) rispetto a 
asp.net
 mvc in base alla tua esperienza e alle tue competenze.
 
A.
 
 
 
A.

 e alle tue competenze.
 
Sinceramente? Non lo so :)
La mia esperienza riguardo lo sviluppo web è relativa ad un paio di webapp che
espongono API REST. Da questo punto di vista, lato Java, ho usato solo JSF,
quindi nessun framework in particolare. Lato Python invece, il discorso è
abbastanza simile, ovvero ho usato Bottle, un microframework, e nulla più. In
tutti e due i casi posso dire che lo sviluppo è stato semplice e poco
impegnativo, quindi non so dirti quanto possa essere differente rispetto allo
sviluppare in 
ASP.NET
 
 
Enrico
P.S. Una cosa posso dirla: ho sviluippato anche una piccola parte di un'API
REST in PHP, ed ora posso affermare con cognizione di causa che questo
linguaggio è un cesso ;)


Ciao a tutti. Volevo aggiungere il mio contributo alla discussione su Delphi e webapp; personalmente ho lavorato con Delphi 5 e Delphi 7 dal 2002 su gestionali client/server che uso nel mio lavoro. Ultimamente sto procedendo a convertite i programmi object pascal in web applications. La mia scelta (e che consiglio) è stata grails. E' un framework basato sul linguaggio groovy (un dialetto di java che viene eseguito nella jvm e che permette di richiamare codice java - esempio una libreria come javamail o iText - dal codice groovy). Alla base del framework grails ci sono spring e hibernate come sono ormai degli standard. Nella logica del frameword i creatori hanno preso molta ispirazione da ruby on rails (infatti viene anche chiamato groovy on rails) per la convention-over-configuration. Hai un'ottima logica model-view-controller che ti porta a separare la logica dell'applicazione (che risiede nei service) dal model (che sono i domains) dalle views che sono delle pagine html cone degli speciali tags; inoltre una cosa molto utile è il fatto che gli artefatti (controller, domain, views) risiedono in cartelle separate di modo tale che le classi non si mescolino tra di loro al crescere della complessità dell'applicazione.
Tutti gli artefatti che crei durante lo sviluppo sono già direttamente testabili senza doverti creare delle classi apposite (il test di ogni artifatto ti viene caldamente consigliato per via della natura dinamica del linguaggio groovy). Puoi creare unit test, integration test e con il plugin geb i test funzionali (personalmente non conosco bene quest'ultimo perchè uso selenium-ide e firefox).
Infine, nota economica, il linguaggio groovy (ora nella famiglia apache), il framework grails (e anche gradle per le build automatiche) sono free e open source.
Spero di esserti stato utile.
Buona notte a tutti.
 
 
Alex Pileci