Up to now, all scripts we have discussed were fairly academic. They are nice to get solid PicoLisp skills, and to get the basics right. Nevertheless, in order to create something practical we need some things more in our toolbox.
This series will fill up some of these gaps by explaining the fundamentals of Web Application Programming in PicoLisp. We will cover how to write basic programs that can be viewed in the web browser.
We will not talk about application programming for mobile devices (maybe at a later point). If you're curious about that, check out the PicoLisp PilBox.
What is a Web Application?
There might be several definitions. In my understanding, the most basic requirement is that the user (client) can access it through the browser, typically via the internet.
The main advantage is that the user does not need a local PicoLisp installation to access the app.
Which components do we need? The typical technology stack of a web application consist of three parts:
- The front-end which typically handles the presentation of the application and the user interface,
- The web server (back-end) which handles the required infrastructure, actual content, and the communication with the database,
- And the database itself.
Front-end focused design: Pros and cons
The downside is that these kind of apps are really heavy, and usually useless in a text browser. Some even cannot be viewed properly on older smartphones or with weak internet connection. And since the abstraction level is quite high, the developer usually has no idea what is really happening behind the scenes.
Web Application in PicoLisp - What it is (and what not)
As you might know if you followed the blog up to now, the core of the PicoLisp philosophy is extremely minimalistic. This also applies to the web application.
One of the nice things in PicoLisp is that it is so small and minimalistic that you can understand what is happening (if you want to). Since the whole codebase is free, you can also extend and develop it based on your own needs, and it can be a great opportunity to learn and try out new things.
On the other hand, if you want to create a fancy, fully responsive web app in the shortest time possible, and you don't have any custom requirements for the logic behind, and you're also not curious to work more in PicoLisp, I admit that it might not be the right choice for you. In this case, you might be better off with VueJS or other frameworks that are trending at the moment.
What you should know already
I recommend that you have covered the basics of PicoLisp - for example by reading the "Beginner's Series" - and you should also know the basics of HTML and CSS .