Hello. This sequence is about the Pharo Web Stack.
I'll give you an overview of existing frameworks
and the ones we'll be using in this course.
This is a diagram of what happens to an incoming HTTP request.
"Zinc" is the basic HTTP/HTTPS server built into Pharo.
Teapot is above Zinc, and there is a course available
on Teapot syntax.
Then, there's a series of format frameworks, like JSON and Stone.
There's also Seaside REST.
Briefly, it's how to program REST over Seaside.
Seaside is the web framework we will be using
in Tinyblog.
That's why we introduced Seaside to you, as well.
It is in widespread use in businesses.
We will also use Voyage,
which is a persistence framework for documents.
We take our objects and store them in document form, in Mongo bases.
There are others, of course.
Garage is a sort of driver for all relational databases.
I'll also show you Magritte.
Magritte is a way of describing data
and generating webforms automatically, as a result,
instead of manually.
Reef is an application that enables you
to do embarked JavaScript in web components.
But we won't go into it further in this course.
Mustache is a template system that generates HTML on the fly.
Bootstrap is the Twitter Bootstrap library,
fully integrated into Seaside.
These are the most commonly used applications,
but you have plenty of other packages on top of Pharo.
The ones used to connect to Amazon or to do elastic searches, for example.
We will be using Seaside.
It's a web framework for building dynamic applications
based on reusable components.
We don't really have to manage requests.
Seaside does it for us.
Documentation is available at Seaside.st.
The site is being rebuilt.
They have also compiled a 250-page reference book
at book.seaside.st.
You can take a look, but we'll cover the main points here
in this course.
Regarding persistence,
as I said earlier, there are two major frameworks
that enable you to store documents in NoSQL.
They are based on components like Mongo, CouchDB, and Riak.
We use Voyage as an abstraction on top of MongoDB.
And Garage is a framework
offering a unified API for relational databases.
We won't use it in this course, but it has drivers
for Postgres, MySQL, SQLite, and OpenDBX.
And it is always being improved.
We are going to show you another interesting feature.
We have a framework called Magritte, for the surrealist painter.
It writes descriptions for your data
and use them to generate Seaside components.
It really helps boost productivity in creating web applications.
To conclude, I would say
Pharo offers a rich ecosystem.
Most of the companies using Pharo are web developers.
It is business-ready.
Seaside is really innovative,
because it goes against certain entrenched ways of programming.
It helps you think differently.