Каждый раз, когда вы ленитесь прочитать доклад на митапе, Фомкин вынужден писать очередной велосипед

Что нужно сделать что бы написать долбаную админку?

  • Написать CRUD
  • Написать API-тесты
  • Взять Angular/React/etc
  • Написать морду
  • Подружить с CRUD
  • Написать UI-тесты

И не готов думать о совместимости вашего поделья с другими подельями 

По этому я убрал из обзора Finagle/Finch вообще

Colossus


  implicit val system = IOSystem()

  Server.basic("example-server", 9000) { 
    new HttpService(_) {
      def handle = {
        case request @ Get on Root => 
          request.ok("Hello world!")      
        case request @ Get on Root / "echo" / str =>
          request.ok(str)
      }
    }
  }

Colossus

  • Тянет за собой Akka
  • Примеры из документации не компилируются

Http4s


  val service = HttpService {
    case GET -> Root / "hello" / name =>
      Ok(s"Hello, $name.")
  }

Изумительно!

Http4s

Ребята, ну зачем вы притянули Scalaz?

Vodka

  import scala.concurrent.Future
  import Vodka._

  Vodka() {
    case request <| GET -> Root / "hello" / name =>
      val msg = s"Hello, comrade $name. Let's drink vodka."
      Future.successful(msg)
  }

Vodka

  • Без зависимостей
  • Менее 1000 строк кода
  • Написана за вечер
  • Для остального есть Nginx

Присоединяйтесь!

Вопросы?

Алексей Фомкин, Data Monsters

@fomkin

@yelbota

Made with Slides.com