After downloading and bootstraping a sample
shipped with N2O you should be able to see colored repl.
This is regular Erlang shell, but it is aware of OTP
applications placed in apps and deps directories,
how to resolve them and perform proper starting.
Single Page Application
The page is usually contains HTML controls upon which event handlers will binds.
Also you should specify a list of n2o.js modules, like protocols, components,
translations or other modules with up to date client functionality. Here is sample SPA:
During each initial route connection, main/0 function followed by event(init) is
being called to render postbacks of active controls. Same
page module could serve SPA and/or DTL pages. N2O_start() boots up a supported
connection and send initial <<"N2O,">> authorization packet to open a protocol stream connection.
After establishing WebSocket connection you should be
able to see IO answer terminated in JSON encoding, e.g.
{eval:"console.log('ok');",data:''}.
Here is the IO answer generated for 'send' button postback:
Web Logic
Web logic shoud be as much declarative as possible
at the same time the web logic language should be readable by Java, .NET engineers.
Web Logic of Deposits Application is powered by N2O WebSocket Application Server.
Note: Operating clean and minimalistic API will allow you engineers
to think on core features of the system, SpawnProc provides most
minimal Business Processing frameworks and libraries.
Autogenerated Forms
You have total freedom in developing your web form
applications: using low-level nitrogen DSL erlang
records markup; or you may use declarative forms definition,
using nitrogen DSL as target language. There are other
options, like non-HTML control elements with spa protocol
or DTL or other template enginer rendering.