Basic / Newbie question...

0 views
Skip to first unread message

jason...@gmail.com

unread,
Feb 27, 2008, 2:48:25 PM2/27/08
to Appcelerator Platform SDK
I don't understand how Appcelerator is going to help me write GUI's.
Is it a competitor to OpenLaszlo? GWT?

If I wanted to do a simple sliding frame, for example, and have it
work in all of IE, Opera, FF, Mac, etc, how do I define it?

Thanks very much, apologies for the newbie-ness of the question.

J

amro

unread,
Feb 27, 2008, 3:16:31 PM2/27/08
to Appcelerator Platform SDK
Not a bad question at all. I'm sure a few others will chime in but
here's my take. Appcelerator is all about a standard HTML, Javascript
and CSS based approach. One of the benefits is the vast reduction in
the amount of Javascript you need to write since the UI and service
layers are message driven. That is you send messages to 0..n items
and they respond based on the actions you choose.

An example of a sliding frame would be the following:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/
TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:app="http://
www.appcelerator.org">
<head>
<script type="text/javascript" src="javascripts/appcelerator-
debug.js"></script>
</head>
<body>
<a on="click then l:slide">Make the div slide</a>
<div on="l:slide then effect[SwitchOff]" style="border: 1px solid
red">I like to slide</div>
</body>
</html>

You obviously need the Appcelerator client to do it. The key to the
above is the "on expression" -- an attribute that specifies action(s)
and condition(s). In this case, upon clicking on the anchor, a
message called l:slide is dispatched. Since the div (in this case
below the anchor but order doesn't matter) has subscribed to l:slide,
it'll react to it and in this case execute the Scriptaculous effect
SwitchOff. I'm not sure if that's what you meant by slide.

Moreover, hiding and showing elements isn't really the beauty of
Appcelerator. The beauty of it is it cuts down on your code and give
your the power of Ajax through simple messaging. Specifically, if I
wanted to send a message to my server/service layer I'd just name the
message r:name.here.with.as.many.words.as.i.want.request (r: for
remote, l: for local messages) and it would be delivered via Ajax for
me. Ask more questions and I'll do my best to answer them for you.

Amro
Reply all
Reply to author
Forward
0 new messages