Folks,
Hearkening back to my NextStep days, I took a dive into Cappuccino today.
Yep... Obj-J is just like Obj-C and Cappuccino faithfully captures AppKit
goodness.
I've integrated Lift with Cappuccino. The integration points are as
follows:
1. A Lift application serves the Cappuccino application. This means that
one could mix a "web style" Lift based app with a could of "app style"
Cappuccino-based application pages.
2. Cappuccino can initiate calls to Lift via Ajax. The call from Cap
looks like: performAjaxCall([input stringValue]); where there's been a
binding a Lift JSON message handler to the performAjaxCall function. The
binding looks like:
Script(
Function("performAjaxCall", List("param"), JsonVar.is._1("hello",
JsVar("param"))) &
JsonVar.is._2)
3. Lift can initiate calls into a Cappuccino app via Lift's Comet
support. Here's the Lift code that's necessary to create a clock that ticks
every 3 seconds in the Cap app:
override def highPriority = {
case 'Ping =>
partialUpdate(currentTime)
ActorPing.schedule(this, 'Ping , 3 seconds)
}
def currentTime: JsCmd = JsRaw("clockCallback("+(""+now).encJs+");")
Plus the following line that must appear in the page that contains the
Cap app:
<lift:comet type="Clock"/>
A running version of the Lift/Cappuccino integrated app can be found at
http://frothy.liftweb.net/
The source can be found at http://github.com/dpp/Frothy/tree/master (please
don't laugh at/vomit on my ObjJ code... it's been 15 years since I did
ObjC).
Thanks,
David
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---