I wanted to give you some of my recent thoughts regarding Sgine and
For a long while I have wanted to develop a new fantastic UI and
definitely I wanted to program it in Scala, and OpenGL chosen because
of the reason that there is a lot of flexibility with OpenGL to do
graphics operations.In particular I wanted to do some 3D graphs,
charts, animations which were very hard to do in HTML. For example, it
was hard to smoothly animate a html table into a graph, or other
complex operations, which were really impossible to do in HTML but as
I'll discuss are now becoming more possible.
Also it is difficult to draw a very nice and attractive user interface
using straight OpenGL, so I tried to render from a browser to OpenGL
and had many difficulties doing it with Sgine, eventually made it work
with Awesomium Chrome browser and Sgine. Then I could render HTML
tables and nice fonts in OpenGL.
Just recently I have discovered that HTML5 combined with many
libraries can do almost all of what I wanted to do with OpenGL as most
of my operations are in the 2 dimensional realm and HTML5 has some
basic 3D operations which are not as efficient as OpenGL, and in some
become more efficient in years to come. Also the browser has efficient
management of images resources built in, efficient rendering, its
really a good platform for UI. However, I wanted the flexibility to
cut up rendered images and post-process them, so the html table could
be animated in some ways by cutting cells out and moving them around.
Then eventually I have found I can do most of this in HTML5. However I
have only found this recently in the past month or so.
One of the recent libraries I have discovered can render directly from
HTML to HTML5 Canvas. This is what I was doing in Sgine/OpenGL/
Awesomium. So I can then do complex image transformations from HTML.
Also the browser can process HTML5 Canvas images fast to do image
transformations, cutting of images and moving them elsewhere.
SGine renders to OpenGL, maybe you could consider Sgine to render to
HTML5 instead? The programmer could code Sgine code which runs on the
server side and on the client side it renders to HTML5 Canvas and all
the HTML5 technology. This is just a suggestion! BUT - It then could
be integrated with Liftweb or Play framework to be a rich UI rendering
framework, and you would have the users from those frameworks. We all
like people using our products, it gives feedback.
Also thinking from the point of view of a Liftweb programmer, it would
be nice to be able to write a complete game in server side code, then
the multiplayer functions could be done easily. Also you could deploy
it to many client browsers, mobile phones while only writing it once
Liftweb already works in a particular way that it tries to keep all
Client UI on the server side. I'm not sure if you have used it, but
to get some things to happen, ajax things and UI things. I.e., if a
user types in an input fiend then something happens, auto-completes,
happen just happens. So the programmer doesn't have to program the
Also, for Android you could then embed the browser in your application
and keep the client/server all in one application.
I'm slightly worried that Liftweb won't be as popular as Play
framework in future due to the backing of Typesafe and Liftweb is more
complex but better in my opinion with good stateful support. You could
support both? ... suggestions only.