Xander: A Nim Web Application Development Library and Framework
Sydänmetsä, Santeri (2019)
Sydänmetsä, Santeri
2019
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019082617979
https://urn.fi/URN:NBN:fi:amk-2019082617979
Tiivistelmä
The objective of the thesis was to design and develop a free and open-source web development framework and
library for the Nim programming language. As open source projects tend to be large in scale with multiple developers, the aim was to produce a library and framework with stable functionality and a relatively high number of
features, with a focus on ease of use.
The project was developed over a period of time by publishing small new features one at a time. Older, working
implementations of web libraries and frameworks were studied to understand what features work well and to
achieve semantically pleasing and easily understandable code. Taking inspiration from PHP and other languages,
Nim’s powerful macro system provided the tools to build powerful tools for the developer to use.
The resulting framework reached the set goals of being competent enough for experimental usage. The number
of features were adequate and powerful, without compromising ease of use and readability. Future developments
were considered for HTTPS and for the make over of the server architecture.
library for the Nim programming language. As open source projects tend to be large in scale with multiple developers, the aim was to produce a library and framework with stable functionality and a relatively high number of
features, with a focus on ease of use.
The project was developed over a period of time by publishing small new features one at a time. Older, working
implementations of web libraries and frameworks were studied to understand what features work well and to
achieve semantically pleasing and easily understandable code. Taking inspiration from PHP and other languages,
Nim’s powerful macro system provided the tools to build powerful tools for the developer to use.
The resulting framework reached the set goals of being competent enough for experimental usage. The number
of features were adequate and powerful, without compromising ease of use and readability. Future developments
were considered for HTTPS and for the make over of the server architecture.