Ho usato Spring Boot nell'ultimo anno e mezzo e, nonostante non sia ne' un
amante dei framework ne' un amante di Spring, non mi sono trovato troppo
male.  Avere finalmente abbandonato l'application server e' un enorme passo
avanti.

Concordo con Uberto che Spring (boot o non boot) incoraggia la
programmazione procedurale, DB-centrica, con domain objects anemici.  I
tempi di startup sono un problema; 6-10 secondi non sembrano tanti, ma ti
rallentano enormemente il ciclo edit-compile-run.  Anche gli unit test dei
controller e dei repository sono rallentati di 3-5 secondi dai tempi di
caricamento del contesto di Spring, e questo rende lento e faticoso il TDD.

A proposito di "divento uno sviluppatore spring boot" io non me ne
preoccuperei; alla fine sta anche a te decidere quanto delegare a Spring e
quanto tenere in mano tua.  Per esempio, non devi per forza usare JPA, puoi
usare un altro meccanismo di persistenza.  Puoi crearti degli application
service che si possono testare senza fare partire il contesto di Spring;
cioe' sono si' dei Service di Spring, ma li puoi istanziare nel test
passando le dipendenze esplicitamente nel costruttore, e questo ti permette
di avere unit test che partono istantaneamente.  Stesso discorso per values
e entities: anche se le entity sono oggetti di JPA, puoi istanziarli nei
test senza fare intervenire Spring.

La mia domanda per Federico e': al posto di Spring Boot, che cosa
useresti?  Qual e' la tua alternativa?  Stessa domanda per Uberto :)

PS Per confronto, un Jetty embedded istanziato senza Spring parte in 0.4
secondi...


Il giorno lun 5 nov 2018 alle ore 20:50 Uberto Barbini [email protected]
[it-torino-java-jug] <[email protected]> ha scritto:

>
>
> Ciao Federico,
>
> partendo dalla tua ultima domanda: conoscere bene Spring Boot (non solo
> cercare soluzioni su SO) e' sicuramente una cosa positiva per la tua
> carriera, e dal codice di Spring Boot c'e' sicuramente da imparare per
> tutti, per cui non mi preoccuperei di quello.
>
> Detto questo io preferisco framework meno invasivi perche' trovo che
> incoraggia pratiche da procedural programming, che poi diventa spaghetti
> velocemente.
> L'autowiring e il controller MVC sono particolarmente pericolosi. :)
> Certo puoi fare cose molto pulite con spring boot rinunciando alle
> magie.... ma se sei capace di fare questo probabilmente fai prima a fare
> cose pulite senza usare spring boot del tutto.
>
> Uberto
>
>
> On Mon, 5 Nov 2018 at 16:30, Federico Fissore [email protected]
> [it-torino-java-jug] <[email protected]> wrote:
>
>>
>>
>> Ciao a tutti
>>
>> di recente in azienda c'è stato un meeting di dev in cui si è deciso di
>> dare preferenza a spring boot per tutti i nuovi servizi che faremo.
>>
>> Fra le motivazioni il fatto che spring è bellissimo, e che con una
>> dipendenza ti porti dietro tutto quello che ti serve o ti servirà.
>>
>> Io ho espresso i miei dubbi, citando il fatto che spring fa un sacco di
>> cose magiche e che per questo o sei un mago o fai copia incolla.
>> Mi hanno letteralmente riso in faccia. Non è stato piacevole.
>>
>> Bile a parte, probabilmente mi dovrò arrendere e trasformarmi da uno
>> sviluppatore java a uno sviluppatore spring boot.
>>
>> Ho il timore che con spring boot stia succedendo al mondo java quello
>> che è successo con ruby on rails: oggi non ti serve conoscere ruby per
>> programmare con ruby on rails (vero), domani non ti servirà conoscere
>> java per programmare con spring boot. Cosa ne pensate, sto esagerando?
>>
>> Voi usate spring boot in produzione? Come vi trovate?
>>
>> federico
>>
> 
>

Reply via email to