Prezentacja o tworzeniu aplikacji webowych w Scali
Ogólnie o frameworkach webowych dla Scali
Serwer
- Akka — opensourcowy framework do programowania wspóbieżnego i rozproszonego dla JVM
- Play — opensourcowy framework zbudowany na Akkce, służący do tworzenia aplikacji webowych (MVC (Model-View-Controller), REST (Representational State Transfer), sockets)
- Lift — opensourcowy framework do tworzenia aplikacji webowych wzorowany na Ruby on Rails. (MVC, REST)
- Lagom — opensourcowy framework do tworzenia systemów rozproszonych, zbudowany na Play i Akkce
Klient
- Scala.js - projekt składający się m.in. z kompilatora języka Scala do JavaScript (ES5). Pozwala na używanie sporej części bibliotek Scali. Posiada wiązania; np. do JQuery, React, Angular
Ogólnie o wiązaniach bazodanowych dla Scali
Relacyjne bazy danych
Pojęcia- DSL (Domain Specific Language) — język dziedzinowy
- ORM (Object-relational mapping) — mapowanie obietkowo-relacyjne
- FRM (Functional Relational Mapping) — mapowanie funkcyjno-relacyjne
- JDBC — niskopoziomowa biblioteka do komunikacji z bazą danych; surowy SQL podawany w Stringu (czyli nie pilnuje poprawności zapytań - typy itd.) Przykład użycia w Scali
- JOOQ — DSL oparty na SQL-u (prawie surowy SQL). Zapewnia bezpieczeństwo typów. Wspiera zapytania rekurencyjne (nawet wtedy dbając o typy).
- Squeryl — ORM z DSL-em opartym na SQL-u. Zapewnia bezpieczeństwo typów. Nie pozwala na używanie surowego SQL-a.
- Slick — FRM z DSL-em wzorowanym na zwykłych operacjach na kolekcjach; np.
map
,filter
. Zapewnia bezpieczeństwo typów. W razie potrzeby pozwala na wstawki surowego SQL-a.
NoSQLowe bazy danych
- ReactiveMongo — wiązanie do MongoDB
PlayFramework 2.6
- Podstawowa konfiguracja projektu w Scali i PlayFramework w SBT i Eclipse
- Konfiguracja SQLite3
- PlayFramework 2.6 documentation - lista linków w oficjalnej dokumentacji
Mój projekt MVC w PlayFramework
Przykładowy projekt MVC w PlayFramework na moim githubie.Tutaj można zobaczyć filmik, w którym go opisuję.
Scala.js
Scala.js ogólnie
Biblioteki do Scali.js
Lista biblitek dla Scali.js dostępna jest tutaj- scala-js-dom - do sterowania oknem przeglądarki
Dokumentacja scalajs-dom - Dokumentacja scalajs-jquery
Łączenie Scali.js z PlayFramework
- Plugin: github.com/vmunier/play-scalajs