sroebuck/ScalaWebFrameworkReview.md

Přehled

obecně platí tyto rámce poskytují funkce, které se vztahuje na jednu nebo více z následujících:

  • Směrování: mechanismus pro přijímání požadavků HTTP a směrování je, aby nějaký kód, který zpracovává a vrátí odpověď.

  • Templating: Jeden nebo více syntaxí pro templating webové stránky tak, aby statické a dynamiccontent může být popsán poměrně jednoduchý způsob, a kód může být vložen nebo v některých wayassociated s šablony s cílem zaplnit prázdná místa.

  • Persistence: mechanismus pro ukládání načtených objektů z úložiště.

některé však přesahují lepení webových komponent dohromady a poskytují rámce, které generují vlastní HTML, JavaScript atd. na předním konci a pokuste se skrýt oddělení mezikód klienta a kód na straně serveru. Pro stručnost budu odkazovat na tyto RichInternet Aplikací (RIA) jako GW a Vaadin oba odkazují na sebe jako takový, a oni certainlyfit do této kategorie.

hlavní odkaz na různé rámce webových aplikací (bez odkazu na Scala vůbec!) lze nalézt na Wikipedii zde: webové aplikační rámce

Play Framework

  • napsané v Javě se specifickou podporou Scala.
  • důraz na jednoduchost.
  • nástroj příkazového řádku, který automaticky generuje šablonu startéru.
  • sestavuje obsah za běhu bez nutnosti dalšího sestavení nástroje.
  • používá JPA a Hibernate jako základní rámec persistence.

Pros

  1. rychle začít.

nevýhody

  1. automatická kompilace za běhu znamená, že ztratíte část kontroly používání vlastního nástroje pro sestavení.
  2. se cítí nepříjemně zaměřený na funkce, které vytvářejí pěkné ukázky!
  3. vestavěný kompilace také dělá nějaké automatické generování kódu s Java fazole, což znamená, že thatcode může běžet, ale ne kompilovat s normálním kompilátorem.

GWT (Google Web Toolkit)

  • napsáno v Javě bez specifické podpory Scala.
  • většina komentářů se vztahuje stejně na GWT, na kterém je založena.

Vaadin

Vaadin kód vypadá trochu jako Swing kód. Efektivně píšete interaktivní Javaapplication, který je pak spuštěn jako JavaScript aplikace v rámci webového klienta. Z funkčního hlediska je to jako vzít tradičně deklarativní styl světa HTML a CSS a přeměnit jej na velmi imperativní styl. Stručně řečeno, je to jako zpětný přístup k řešeníproblém propojení front-end a back-end programování.

  • napsáno v Javě bez specifické podpory Scala.
  • bohatá internetová aplikace (RIA).
  • na základě GWT (Google Web Toolkit).
  • veškeré kódování se provádí na straně serveru, Vaadin provádí veškerou práci při generování HTML, JavaScriptu atd.
  • Vaadinovo srovnání s jinými „konkurenčními ria frameworky“.Včetně Flex, GWT, ICE Faces, JQuery a Wicket.
  • Je v současné době používán:
    • TNT
    • Devox
    • Logica

Výhody

  1. Vhodný pro Java programátory, kteří nechtějí, aby nepořádek s HTML a JavaScript.
  2. odstraňuje odpovědnost za předávání rozdílů mezi webovými klienty.

nevýhody

  1. bere kontrolu nad doladěním front-end HTML a CSS.
  2. se může zdát velmi neznámé někomu, kdo není obeznámen s vývojem aplikací Java GUI.
  3. podléhá vytváření webových aplikací s těžkým frontendem JavaScript.

Scalatra

Scalatra se v podstatě jeví jako forma frameworku request routing engine. Poskytuje jednoduchý způsob zpracování příchozích požadavků a jejich směrování do kódu, který činí odpověď. Jakýkoli jinýfunkčnost lze napsat sami nebo přidat jako volitelný plugin.

  • napsáno ve Scale.
  • inspirováno Sinatrou.
  • staví s sbt.
  • běží na molu.
  • má zabudovanou podporu testování.
  • má volitelnou podporu pro:
    • Scalate templating engine.
    • Commons fileupload podpora nahrávání souborů.
  • je v současné době používán:
    • LinkedIn Signal backend.

Pros

  1. zdá se být velmi jasné, co to dělá a jak.
  2. zdá se, že dobře zapadá do jakéhokoli kombinovaného projektu Scala bez přebytku DSL nebo implicitů.

nevýhody

  1. Pokud chcete nějaký komplexní nástroj, není to jeden.

Scala templating engine.

  • napsáno ve Scale.
  • se zdá, že staví s Maven nebo sbt.
  • podpora šablon v Mustache, Scaml (Scala Markup Language) assp (Scala Server Pages).

Lift

webový rámec.

  • napsáno ve Scale.
  • postaven s sbt (dříve s Maven).
  • vykazuje mnoho charakteristik bohatých internetových aplikací, zatímco stále dává přístup k přímé manipulaci s HTML, JavaScriptem atd. Tato svoboda poskytuje jistotustupeň rozmazání a napětí v pochopení toho, co se snaží dělat a jak to jde.
  • poskytuje šablony, směrování, zabezpečení, persistence framework, opravdu všechno!

Pros

  1. může dělat prakticky vše, co potřebujete.
  2. má ve výchozím nastavení mnoho silných bezpečnostních funkcí.
  3. se zaměřuje zejména na vyhlazování kódování Ajaxu a kódu komety.

nevýhody

  1. zdá se, že vždy přidává nové funkce, ale jen zřídka vyhodí staré.
  2. dokumentace je roztříštěná a není zarovnána s aktualizacemi.
  3. existuje mnoho způsobů, jak dělat totéž, takže je těžké použít kód jiných lidí jako přes odkaz ke kontrole děláte správnou věc.

nadhazovač

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.