Nitrogen
Nitrogen is an Erlang framework for highly dynamic web sites.
Nitrogen was a source of inspiration for Zotonic. In fact, we started with all our anyMeta experience and then took a look at Nitrogen. We liked the way Nitrogen implemented event driven web site programming and how it always sends Javascript to the user-agent.
There were three areas where we had some problems with the Nitrogen route:
- Our template designers would like to use all that event driven goodness, but then with templates for all the HTML.
- Our programmers didn't like the use of the process dictionary for state. We program functionally by passing state in a parameter instead of hiding state in the process dictionary.
- We model the user, session and page using processes, enabling easier extensions for comet like push communication.
Inside Zotonic you can still see Nitrogen code and ideas:
- Actions are almost the same as in Nitrogen.
- Validations are almost the same.
- Some context record names echo the similarly named process dictionary variables of Nitrogen.
Using a context parameter for handling state made the Zotonic much easier to program, debug and extend.