2013-12-17 | spray (vienna scala user group)

13
Dominik Gruber, @the_dom Vienna Scala User Group – Dec. 17, 2013

Upload: dominik-gruber

Post on 02-Jul-2015

556 views

Category:

Technology


0 download

DESCRIPTION

Introduction to spray, a suite of Scala libraries providing client- and server-side REST/HTTP support on top of Akka. Talk given at Vienna Scala User Group on Dec. 17, 2013

TRANSCRIPT

Page 1: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber, @the_dom Vienna Scala User Group – Dec. 17, 2013

Page 2: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

Dominik Gruber

• Developing software for iOS and the web

• Work at KURIER.at online network

• Studied “Software Engineering & Internet Computing” at Vienna University of Technology

Page 3: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

“spray is a suite of lightweight Scala libraries providing client- and server-side

REST/HTTP support on top of Akka.”

Page 4: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

spray• Started in April 2011 by Mathias Doenitz

• Version 1.0/1.1/1.2 released in Nov 2013

• Acquired by Typesafe: spray will become akka-http

• Play will gradually move onto akka-http

• Future: WebSockets, SPDY

Page 5: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

Components

© Mathias Doenitz

Page 6: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

IO Stack

© Mathias Doenitz

Page 7: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

API Layer

© Mathias Doenitz

Page 8: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

API Layer

© Mathias Doenitz

Page 9: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

spray-httpcase class HttpRequest(

method: HttpMethod = HttpMethods.GET,

uri: Uri = Uri./,

headers: List[HttpHeader] = Nil,

entity: HttpEntity = HttpEntity.Empty,

protocol: HttpProtocol = HttpProtocols.`HTTP/1.1`)

Page 10: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

spray-http

case class HttpResponse(

status: StatusCode = StatusCodes.OK,

entity: HttpEntity = HttpEntity.Empty,

headers: List[HttpHeader] = Nil,

protocol: HttpProtocol = HttpProtocols.`HTTP/1.1`)

Page 11: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

Code

Page 12: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

ResourcesSpray Websitehttp://spray.io

Template Projecthttps://github.com/spray/spray-template Talks http://spray.io/webinar/ http://skillsmatter.com/podcast/scala/mathias-doenitz

Page 13: 2013-12-17 | spray (Vienna Scala User Group)

Dominik Gruber • @the_dom

Q & A