Scala Web Application Toolkit
Scala Web Application Toolkit
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/52015Identifikátory
SIS: 129417
Katalog UK: 990016224250106986
Kolekce
- Kvalifikační práce [11978]
Autor
Vedoucí práce
Oponent práce
Kruliš, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
9. 9. 2013
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
Scala, JavaScript, RIA, JSON, RPCKlíčová slova (anglicky)
Scala, JavaScript, RIA, JSON, RPCPráce nejdříve popisuje nevýhody JavaScriptu v kontextu rozsáhlých webových aplikací a představuje, jak se tyto problémy obvykle řeší pomocí kompilátoru z jiného vyššího programovacího jazyka do JavaScriptu. Práce dále ukazuje, jaké problémy je nutné řešit v rámci implementace takového kompilátoru a jak překonat další překážky (interoperabilita, distribuce knihoven) vyplývající z toho, že programy nejsou napsány přímo v JavaScriptu, nýbrž ve Scale. Na vyvinutém kompilátoru a jednoduchém běhovém prostředí pak dále staví infrastrukturu, která umožňuje vzdálené volání metod (RPC). Tato infrastruktura zahrnuje mimo jiné i dynamické načítaní skriptů ze serveru a (de)serializér grafů objektů. V závěru pak porovnává vyvinutý toolkit s jinými podobnými projekty a představuje několik zajímavých směrů, kterými by se celý projekt dále mohl ubírat. Powered by TCPDF (www.tcpdf.org)
The thesis describes disadvantages of JavaScript in the context of big web applications and presents how they can be eliminated by compilation from a different language to JavaScript. With Scala as the source language, the thesis shows what it takes to implement such a compiler and how to solve issues that arise with the compilation process (interoperability, library distribution). On top of the compiler with a simple runtime a remote metod invocation (RPC) infrastructue is built. It also involves a dynamic client side script loader and an object graph (de)serializer. Finally the work compares the implemented toolkit to similar projects and proposes several interesting directions the toolkit can evolve into. Powered by TCPDF (www.tcpdf.org)
