sroebuck / ScalaWebFrameworkReview. MD

Overview

yleisesti nämä puitteet tarjoavat toiminnallisuuden, joka kattaa yhden tai useamman seuraavista:

  • reititys: mekanismi HTTP-pyyntöjen ottamiseksi ja niiden reitittämiseksi johonkin koodiin, joka käsittelee niitä ja palauttaa vastauksen.

  • Templating: yksi tai useampia syntakseja verkkosivujen templointiin siten, että staattinen ja dynamic content voidaan kuvata kohtuullisen yksinkertaisella tavalla ja koodi voidaan upottaa tai jollakin tavalla liittää malliin tyhjien täyttämiseksi.

  • pysyvyys: mekanismi, jolla säilytetään varastosta noudettavia esineitä.

jotkut menevät kuitenkin paljon pidemmälle kuin web-komponenttien liimaamiseen yhteen ja tarjoavat kehyksiä, jotka luovat oman HTML -, JavaScript-jne. etupäässä ja yrittää piilottaa erottaminen välillälient puolella koodi ja palvelimen puolella koodi. Lyhyyden vuoksi viittaan näihin RichInternet-sovelluksiin (RIA), sillä GWT ja Vaadin viittaavat molemmat itseensä sellaisinaan ja ne kuuluvat varmastikin tähän kategoriaan.

merkittävä viittaus erilaisiin web-sovelluskehyksiin (ilman viittausta Scalaan lainkaan!) voi lukea Wikipediasta täältä: Web Application Framework

Play Framework

  • kirjoitettu Javalla Scala-erityistuella.
  • painotetaan yksinkertaisuutta.
  • komentorivityökalu, joka luo automaattisesti käynnistysmallin.
  • koostaa sisältöä lennossa ilman lisärakennustyökalua.
  • käyttää JPA: ta ja Hibernatea taustalla pysyvyyskehyksenä.

plussat

  1. nopeasti alkuun.

Cons

  1. Automaattinen koostaminen lennossa tarkoittaa sitä, että menetät osan Oman standardimuokkaustyökalusi käytöstä.
  2. tuntuu epämukavan keskittyneeltä ominaisuuksiin, jotka tekevät kivoista demoista!
  3. Built in compilation tekee myös jonkin verran automaattista koodin generointia Java-pavuilla, mikä tarkoittaa, että koodi saattaa ajaa, mutta ei kääntää tavallisella kääntäjällä.

GWT (Google Web Toolkit)

  • kirjoitettu Javalla ilman erityistä Scala-tukea.
  • suurin osa kommenteista koskee myös GWT: tä, johon se perustuu.

Vaadin

Vaadin-koodi näyttää hieman Swing-koodilta. Kirjoitat tehokkaasti interaktiivista Java-sovellusta, joka sitten suoritetaan JavaScript-sovelluksena web-asiakasohjelmassa. Funktionaalisesta perspektiivistä tämä tuntuu kuin ottaisi HTML: n ja CSS: n perinteisesti deklaratiivisen tyylimaailman ja kääntäisi sen hyvin imperatiiviseksi tyyliksi. Lyhyesti sanottuna se tuntuu takaperin lähestymistavalta ratkaista etu-ja takapään ohjelmoinnin rajapinnan ongelma.

  • kirjoitettu Javalla ilman erityistä Scala-tukea.
  • rikas Internet-Sovellus (RIA).
  • perustuu GWT: hen (Google Web Toolkit).
  • kaikki koodaus tehdään palvelinpuolella, Vaadin tekee kaiken työn HTML: n, JavaScriptin jne.tuottamiseksi.
  • Vaadin vertailussa muihin ”kilpaileviin RIA-kehyksiin”.Mukaan lukien Flex, GWT, ICE Faces, JQuery ja Wicket.
  • on tällä hetkellä käytössä:
    • TNT
    • Devox
    • Logica

Pros

  1. sopii Java-ohjelmoijille, jotka eivät halua sotkea HTML: ää ja JavaScriptiä.
  2. ottaa pois vastuun verkkoasiakkaiden erojen välittämisestä.

Cons

  1. vie kontrollin etupään HTML: n ja CSS: n hienosäätöön.
  2. saattaa vaikuttaa hyvin vieraalta henkilölle, joka ei tunne Java-KÄYTTÖLIITTYMÄSOVELLUSTEN kehittämistä.
  3. tuottaa web-sovelluksia heavyweight front end Javascriptillä.

Scalatra

Scalatra vaikuttaa käytännössä eräänlaiselta pyynnön reititysmoottorikehykseltä. Se tarjoaa yksinkertaisen tavan käsitellä saapuvia pyyntöjä ja reitittää ne koodiin, joka tekee vastauksen. Mikä tahansa muufunktionality voidaan kirjoittaa itse tai lisätä valinnaisena plugin.

  • kirjoitettuna Scalassa.
  • Sinatran inspiroimana.
  • rakentaa SBT: llä.
  • kulkee laiturilla.
  • on rakennettu jonkin verran testaustukea.
  • on valinnainen tuki:
    • Scalate templating engine.
    • Commons FileUpload-tiedostojen lataustuki.
  • on tällä hetkellä käytössä:
    • LinkedIn Signal backend.

plussat

  1. näyttää olevan hyvin selvää, mitä tämä tekee ja miten.
  2. se näyttää sopivan hyvin mihin tahansa yhdistettyyn Scala-projektiin, jossa ei ole ylimääräisiä DSL: iä tai implisiittejä.

Cons

  1. Jos haluat jonkin kattavan työkalun, tämä ei ole sellainen.

Scalate

Scala templating engine.

  • kirjoitettuna Scalassa.
  • näyttää rakentuvan mavenilla tai sbt: llä.
  • Tukipohjia viiksissä, Scaml: ssä (Scala Markup Language) jassp: ssä (Scala Server Pages).

Lift

Web framework.

  • kirjoitettuna Scalassa.
  • rakennettu SBT: llä (ENT.
  • esittelee monia rikkaiden Internet-sovellusten ominaisuuksia, mutta antaa silti mahdollisuuden HTML: n, JavaScriptin jne.suoraan manipulointiin. Tämä vapaus tarjoaa tietynlaisen sumeuden ja jännittyneisyyden ymmärtämisessä, mitä se yrittää tehdä ja miten sen tekee.
  • tarjoaa templating, routing, security, persistence framework, indeed everything!

ammattilaiset

  1. voivat tehdä käytännössä kaiken tarvittavan.
  2. on oletusarvoisesti rakennettu paljon vahvoja turvaominaisuuksia.
  3. keskittyy erityisesti Ajaxin ja komeetan koodin tasoittamiseen.

Cons

  1. tuntuu aina lisäävän uusia ominaisuuksia, mutta heittää harvoin yhtään vanhaa pois.
  2. dokumentaatio on pirstaleinen eikä linjassa päivitysten kanssa.
  3. on monia tapoja tehdä sama asia, joten on vaikea käyttää muiden ihmisten koodia kuin ristiviittausta tarkistaa, että teet oikein.

keilaaja

Vastaa

Sähköpostiosoitettasi ei julkaista.