2010-03-19 11 views
12

Molto spesso mi imbatto in questa domanda sul perché abbiamo molti framework Web che affrontano gli stessi o simili inconvenienti.Servlet vs quadri MVC

Quando guardo profondamente, ho anche riflettuto sul motivo per cui JSP/Servlet non viene utilizzato dopo che gli altri framework Web (come Struts, Spring MVC, ecc.) Hanno mostrato la loro esistenza?

Forse perché, l'ultima web framework

  1. fa la maggior parte delle cose da solo?
  2. fornisce funzionalità estese che non sono disponibili con Servlet/JSP?
  3. o Servlet/JSP è impotente per fornire ciò che fa il framework più recente?

Qualsiasi aiuto sotto forma di risposte o risorse è molto apprezzato.

risposta

7

Condividerò alcuni dei miei pensieri su questo.

  1. Come detto sopra questi framework sono sviluppati su Servlet/JSP.
  2. Sono pensati per evitare la duplicazione del codice (DRY).
  3. Framework sono basati su Modelli di progettazione - soluzione generale riutilizzabile per problemi comuni.
  4. Aiutano a comunicare facilmente le cose attraverso il team e renderle produttive e focalizzate sul problema a livello aziendale che stanno cercando di risolvere rispetto a queste attività comuni.
  5. Aiutano a ad accelerare lo sviluppo fornendo la soluzione generale a problemi comunemente noti. (es. convalida del modulo, REST, test, iniezione dipendenza ecc.)

Quando si sviluppa un'applicazione aziendale su larga scala e si lavorano su più sviluppatori, è necessario uniformità all'interno del progetto/codice/struttura ogni sviluppatore Sta scrivendo. Le forze forzate esternamente non sono affidabili, ma quando sono in costruzione aiuta a rendere il progetto facile da mantenere, scalare e facile per le nuove persone essere produttivo con esso in breve tempo.

Credo che questa regola si applichi non solo per servlet-jsp ma anche per JavaScript. Solo JavaScript nativo o API/librerie JavaScript di basso livello non sono sufficienti quando si costruisce un'interfaccia utente su scala aziendale. Adottare il Best Available Framework o astrarre la natura comune e renderla un framework (non una libreria).

2

Spring MVC funziona ancora con JSP e nel suo nucleo non fornisce nient'altro che un semplice servlet di dispatcher che utilizza i meccanismi forniti dal framework Spring MVC (in cui si registrano i controller in ecc.). Direi che riguarda la praticità e rendere le cose molto più semplici da scrivere e mantenere. Inoltre, è possibile reagire più facilmente agli sviluppi attuali (ad es. Servizi RESTful ... dovresti codificarli tutti a mano in un servlet). Alla fine, questo è ciò che i framework servono.