I’m following the Heroku scala tutorial at https://devcenter.heroku.com/articles/scala
I was able to get everything working, but I have absolutely no idea where to go from here. I’d like to avoid using a framework (for now) if I can since the point of this is to learn scala and create a website with it. Their webwords example they list as a followup is completely different from the basic hello world example.
Mainly, I have no idea how heroku/scala/sbt know how to actually start the app and respond to requests since the samples are so different. I’ve looked at some frameworks and they seem pretty similar in that regard.
I’d really just like to know what the standard method for creating routes is (if there is such a thing). Any other tips about how to create a small MVC framework would also be of great help to me. A lot of the tutorials I see seem to make assumptions about what you already know (e.g. you would already know how to create routes and the like) but I can’t find any tutorials that are even simpler.
Ultimately, the purpose of creating any web site, regardless of the technology used, is to offer some sort of content or functionality. You can’t just say “I want to create a web site.” any more than you could say “I want to build a building.”
Once you have defined what the web site is supposed to do, then and only then is appropriate to consider how to implement it. The purpose of most frameworks to provide easy to use solutions to common and often difficult problems. For example, using a web application server like Jetty, Tomcat, or Glassfish trivializes most of the “route” issues. Any time that you save by using available tools can then be reinvested in creating better content.
On the other hand, if you really do want to implement an entire web server from scratch, the place to start is with the basic Hello app. In
Hello.apply, you can start by looking at theHttpRequest(JBoss JavaDoc).getURI()will give you the request URL, and you can work out, from there, how to handle the different routes that you want to support.