SollmoStudio / beyond

Beyond: The Scalable Game Server Framework
http://www.beyondframework.com
Apache License 2.0
25 stars 9 forks source link

Replace play with spray #210

Open sgkim126 opened 9 years ago

sgkim126 commented 9 years ago

Currently, we use Play framework for web engine. But IMO it has became overkill. There are some reasons to avoid to use play framework.

Reasons

  1. We don't use Play template engine.

    Play framework is view + controller framework with their own template engine while spray is focusing on the REST API server. Because we had have a plan to implement an admin page and a monitoring page, we had decided to use Play framework. But we also decided to use React.js instead of template engine of Play framework.

  2. And we don't use significant features from play framework.

    We uses ReactiveMongo instead of anorm for database. And we don't use internationalisation neither. Moreover typesafe recommends to use spray when we don't need any of the backend or client side features that Play provides

  3. Play framework is heavy than our assume. At the first time, we didn't think play framework is heavy. But it's heavy enough. Is spray markedly faster than play framework? Sorry, I don't know. May be play is heavy because of JVM. But I can say improving the performance of spray is much easier than improving the performance of play framework.
  4. Auto reloading of play framework is just a hell for us. Play framework automatically reloads the modified class. Fundamentally, it's good feature. We don't need it much but it makes many trouble with mbean.

    TODO list

I think it will be long term project. Before replace play with spray, we have to implement below features.

hatashiro commented 9 years ago

I completely agree. I'm back home in some days, so we can talk about this idea and how to divide works to contributors.