sroebuck/ScalaWebFrameworkReview.md

Prezentare generală

în general, aceste cadre oferă funcționalități care acoperă una sau mai multe dintre următoarele:

  • rutare: un mecanism pentru preluarea cererilor HTTP și direcționarea acestora către un cod care le gestionează și returnează un răspuns.

  • Templating: una sau mai multe sintaxe pentru templating pagini web, astfel încât conținutul static și dinamic poate fi descris într-un mod rezonabil de simplu și Codul poate fi încorporat sau într-un felasociate cu șablonul pentru a completa spațiile libere.

  • persistență: un mecanism pentru stocarea unui obiect de recuperare dintr-un magazin.

cu toate acestea, unii merg mult dincolo de lipirea componentelor web împreună și oferă cadre caregenerează propriul HTML, JavaScript etc. pe partea din față și încercați să ascundeți separarea dintrecodul lateral al clientului și Codul lateral al serverului. Din motive de concizie, mă voi referi la acestea ca aplicații RichInternet (RIA), deoarece GWT și Vaadin se referă la ele însele ca atare și se încadrează cu siguranță în această categorie.

o referință majoră a diferitelor cadre de aplicații web (fără nicio referire la Scala!) poate fi găsit pe Wikipedia aici: cadre de aplicații Web

Cadru De redare

  • scris în Java cu suport specific Scala.
  • accentul pe simplitate.
  • instrument de linie de comandă care generează automat un șablon de pornire.
  • compilează conținut din mers fără a fi nevoie de un instrument suplimentar de construire.
  • utilizează JPA și Hibernate ca cadru de persistență de bază.

Pro

  1. rapid pentru a începe.

contra

  1. compilare automată pe zbor înseamnă că ai pierdut o parte din controlul folosind instrumentul build ownstandard.
  2. se simte inconfortabil concentrat pe caracteristici care fac pentru demo-uri frumos!
  3. construit în compilare, de asemenea, face unele generarea automată de cod cu fasole Java, ceea ce înseamnă că thatcode ar putea rula, dar nu compila cu un compilator normal.

GWT (Google Web Toolkit)

  • scris în Java cu nici un sprijin specific Scala.
  • cele mai multe comentarii despre sunt la fel de aplicabile GWT pe care se bazează.

Vaadin

codul Vaadin arată cam ca codul Swing. Sunteți scris în mod eficient o Javaapplication interactiv, care este apoi rulat ca o aplicație JavaScript într-un client web. De la o functionalperspective, acest lucru se simte ca a lua o lume stil tradițional declarativ de HTML și CSS șitransformându-l într-un stil foarte imperativ. Pe scurt, se simte ca o abordare înapoi la rezolvareproblema interfațării programării front-end și back-end.

  • scris în Java cu nici un suport specific Scala.
  • o aplicație Internet bogat (RIA).
  • bazat pe GWT (Google Web Toolkit).
  • toate de codificare se face partea de server, Vaadin face toate lucrările de generare HTML, JavaScript, etc.
  • comparația lui Vaadin cu alte ‘cadre Ria concurente’.Inclusiv Flex, GWT, Fețe de gheață, JQuery și Wicket.
  • este utilizat în prezent DE:
    • TNT
    • Devox
    • Logica

Pro

  1. potrivit pentru programatori Java care nu doresc să te pui cu HTML și JavaScript.
  2. îndepărtează responsabilitatea pentru predarea diferențelor dintre clienții web.

contra

  1. ia controlul asupra reglaj fin front-end HTML și CSS.
  2. poate părea foarte necunoscut pentru cineva care nu este familiarizat cu dezvoltarea de aplicații Java gui.
  3. susceptibile de a produce aplicatii web cu grele front-end JavaScript.

Scalatra

Scalatra pare a fi practic o formă de cadru motor cerere de rutare. Acesta oferă o simpleway de prelucrare a cererilor primite și rutare-le la codul care face răspunsul. Orice altefuncționalitatea poate fi scrisă sau adăugată ca un plugin opțional.

  • scris în Scala.
  • inspirat de Sinatra.
  • construiește cu sbt.
  • rulează pe debarcader.
  • are un suport de testare încorporat.
  • are suport opțional pentru:
    • Scalate templating engine.
    • Commons FileUpload fișier de încărcare de sprijin.
  • este utilizat în prezent de:
    • LinkedIn Signal backend.

Pro

  1. se pare a fi foarte clar ce face acest lucru și cum.
  2. se pare că se potrivește bine oricărui proiect Scala combinat fără exces de DSL sau implicits.

contra

  1. dacă doriți un instrument cuprinzător, acesta nu este unul.

Scalate

Scala motor templating.

  • scris în Scala.
  • pare să construiască cu Maven sau sbt.
  • sprijinirea șabloane în mustață, Scaml (Scala Markup Language) șisp (Scala Server Pages).

Lift

cadru Web.

  • scris în Scala.
  • construit cu sbt (anterior cu Maven).
  • care prezintă multe dintre caracteristicile aplicațiilor Internet bogate în timp ce oferă în continuare acces la manipularea directă a HTML, JavaScript etc. Această libertate oferă un anumit grad de neclaritate și tensiune în înțelegerea a ceea ce încearcă să facă și a modului în care o faceți.
  • oferă templating, rutare, securitate, cadru persistența, într-adevăr totul!

Pro

  1. poate face practic tot ce ai nevoie.
  2. are o mulțime de caracteristici de securitate puternice încorporate în mod implicit.
  3. se concentrează în special pe netezirea codării codului AJAX și Comet.

contra

  1. întotdeauna pare a fi adăugarea de noi caracteristici, dar rareori aruncă cele vechi departe.
  2. documentația este fragmentată și nu este aliniată cu actualizările.
  3. există o mulțime de moduri de a face același lucru, așa că este greu să folosești codul altor persoane ca referință pentru a verifica dacă faci ceea ce trebuie.

Melon

Lasă un răspuns

Adresa ta de email nu va fi publicată.