Hi,
I just listened to James Robertson's interview with Julian Fitzell today and I thought it was great. I'd like to set up an server for an iPhone app that might have an HTTP component for some features but for the most part it won't be web-based (I'll probably be using Objective-C and some WebKit views with Javascript). It seems that Seaside is the right choice but I'm wondering if anyone has any suggestions about how I might approach the problem. In general, I am thinking about a game server type of environment that supports the following sorts of interactions: * secure user authentication * create or join an existing game (basic app logic) * navigate around with a WebView using a Google JavaScript API (probably with custom controls overlayed either as divs or native iPhone components calling Javascript from Obj-C) * maintain a shared domain model for the connected users within a game, distinct from other sessions that may be running * keep track of various attributes associated with the user sessions (e.g. current IP address, GIS coordinates) Is this an appropriate use of Seaside or would I be better of just starting from scratch with GemStone or Magma? I definitely want the "brains" of my app in Smalltalk Cheers, Steve _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hi Steve,
On Mar 5, 2009, at 6:14 PM, Steve Wart wrote: > Hi, > > I just listened to James Robertson's interview with Julian Fitzell > today and I thought it was great. > > I'd like to set up an server for an iPhone app that might have an > HTTP component for some features but for the most part it won't be > web-based (I'll probably be using Objective-C and some WebKit views > with Javascript). > > It seems that Seaside is the right choice but I'm wondering if > anyone has any suggestions about how I might approach the problem. > > In general, I am thinking about a game server type of environment > that supports the following sorts of interactions: > > * secure user authentication > * create or join an existing game (basic app logic) > * navigate around with a WebView using a Google JavaScript API > (probably with custom controls overlayed either as divs or native > iPhone components calling Javascript from Obj-C) > * maintain a shared domain model for the connected users within a > game, distinct from other sessions that may be running > * keep track of various attributes associated with the user sessions > (e.g. current IP address, GIS coordinates) > > Is this an appropriate use of Seaside or would I be better of just > starting from scratch with GemStone or Magma? > > I definitely want the "brains" of my app in Smalltalk As I understand it you are looking at writing an iPhone application that will be a client (written in Objective-C) and are considering what to use for the server (written in Smalltalk). While Seaside can serve documents in other than HTML (XML, RSS, etc.), I tend to view those as adjuncts to a web application framework (though I could be wrong). I assume that you will be using TCP/IP to communicate between your client and server. Do you have a particular protocol in mind? Is there any reason to try to use SOAP (for example)? I guess I'd be inclined to start simple. If Objective-C has some decent HTTP client class, then it could make sense to use HTTP as the protocol, and then using Seaside to generate HTML might make sense (and would have the added advantage that you could test the server with a web browser). I've not used Magma, and have an obvious bias for GemStone. How much persistent data do you anticipate needing? James > Cheers, > Steve > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Steve Wart
Hi Steve,
As long as it "makes sense" to use HTTP for what you're doing, Seaside may be a good fit. If you're not doing HTML, some pieces will be of less use to you but you can generate documents in any format you like and even leverage the Session logic if desired. You're walking off the well-trodden path, though, so you'll have to be prepared to dig in a bit and ask questions if you can't figure out where to plug in. Hopefully 2.9, with its clarified architecture, will help make this clearer. I can't say from what you posted whether Seaside is right for your use case or not but you can always just start writing something in Smalltalk and see if and when you want HTTP. Or as James says, you can start writing it in HTTP and see whether you need something else. :) Julian On Fri, Mar 6, 2009 at 3:14 AM, Steve Wart <[hidden email]> wrote: > Hi, > > I just listened to James Robertson's interview with Julian Fitzell today and > I thought it was great. > > I'd like to set up an server for an iPhone app that might have an HTTP > component for some features but for the most part it won't be web-based > (I'll probably be using Objective-C and some WebKit views with Javascript). > > It seems that Seaside is the right choice but I'm wondering if anyone has > any suggestions about how I might approach the problem. > > In general, I am thinking about a game server type of environment that > supports the following sorts of interactions: > > * secure user authentication > * create or join an existing game (basic app logic) > * navigate around with a WebView using a Google JavaScript API > (probably with custom controls overlayed either as divs or native iPhone > components calling Javascript from Obj-C) > * maintain a shared domain model for the connected users within a game, > distinct from other sessions that may be running > * keep track of various attributes associated with the user sessions (e.g. > current IP address, GIS coordinates) > > Is this an appropriate use of Seaside or would I be better of just starting > from scratch with GemStone or Magma? > > I definitely want the "brains" of my app in Smalltalk > > Cheers, > Steve > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
James and Julian,
Thanks very much for the responses. I'll have a look at 2.9 and see if there are are any opportunities for reuse. I am interested in using Magritte for my domain model and I'll be checking out some of the patterns for session management etc. I'm tempted to use GemStone because it's familiar to me, but I think my persistence requirements are fairly basic (famous last words). I'll be starting with the simplest thing that will work, and HTTP is well-supported. I'll be avoiding the Dark Forest of XML but other that I'm keeping an open mind. I'll let you know if Seaside presents any interesting synergies. It seems there should be some benefits as this is fundamentally no different than a web app with different transport and presentation components (and, er, synchronized state among all clients). I'm thinking I need signed and validated requests, but I'll dig more into that before I raise any specific questions. Steve On Thu, Mar 5, 2009 at 10:36 PM, Julian Fitzell <[hidden email]> wrote: Hi Steve, _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |