Getting started with APE Project

Pablo Tejada edited this page Apr 20, 2014 · 2 revisions

Ape, from a 400 km perspective

APE (Ajax Push Engine) is an Open Source technology allowing you to do real time data streaming through a web browser with no applets and no plugins. The project is divided in two parts, the APE Server and the APE JavaScript Framework (APE JSF).

The APE Server Core, written in the C language, enables data to be pushed to a Rich Internet Application, while the APE JavaScript Framework (JSF) receives and sends back data, deals with them and displays them.

The APE Server is extensible using server-side modules. Information on how to do this can be found at Plugins.

One of these plugins is very powerful because it embeds the spidermonkey JavaScript interpreter. That is, you have the same language on both client and server side !

Requirements to get started

  • Some knowledge of programming; Javascript, HTML and some design skills (CSS) will quickly get you a nice application.
  • A computer with Linux or MacOS (a virtual machine on Windows works too) in order to install the APE Server.
  • Some kind of access to a name server (DNS), but setting entries in /etc/hosts is also possible.
  • A webserver that can serve static html for the client pages and the APE JavaScript Framework (JSF)
  • Curiosity, persitance, creativity and an itch somewhere....

Run your own APE Server

There are different ways to use the APE Server on a dedicated server :

Once you know what option you can (or want) to use, you'll need to:

  • Download APE
  • [Install the APE server](APE Server install)
  • [Configure APE](APE-Project Configuration)
  • and create your real time web application with Plugins

Remarks

  • Although the APE JavaScript Framework uses MooTools, you can use any framework (such as jQuery, MooTools, etc.) or plain javascript to write your code.
  • The APE Server uses SpiderMonkey - with Just In Time JavaScript debugging enabled via TraceMonkey - in order to load Server Side JavaScript (SSJS) files.
  • The whole server API is asynchronous and nonblocking; this includes HTTP requests and MySQL queries.
  • The APE Server ships with our own server version of MooTools (again, your client-side code may or may not use MooTools).