diff --git a/chapters.txt b/chapters.txt index 6d7e6c6..dd9897b 100644 --- a/chapters.txt +++ b/chapters.txt @@ -1 +1,11 @@ +chapters/intro.md chapters/how_the_web_works.md +chapters/tools.md +chapters/frameworks.md +chapters/frameworks/plack.md +chapters/frameworks/websimple.md +chapters/frameworks/dancer.md +chapters/frameworks/mojolicious.md +chapters/frameworks/catalyst.md +chapters/deployment.md +chapters/archeology.md diff --git a/chapters/archeology.md b/chapters/archeology.md new file mode 100644 index 0000000..d260288 --- /dev/null +++ b/chapters/archeology.md @@ -0,0 +1,15 @@ +# Code Archeology + +Whilst there is no good reason to write new web applications using CGI, there +is still a lot of old code out there. In this chapter we will look at CGI in +enough detail that you can recognise some of the more common techniques and +suggest ways to move a CGI application to more modern architectures. + +## How CGI Works + +## Why CGI is Outdated + +## Types of CGI Program + +## How to Rescue a CGI Program + diff --git a/chapters/deployment.md b/chapters/deployment.md new file mode 100644 index 0000000..3f5f845 --- /dev/null +++ b/chapters/deployment.md @@ -0,0 +1,7 @@ +# Deployment + +When working with a framework based on PSGI, one of the major advantages is +that we can put off thinking about deployment issues until far later in the +project. But, eventually, you will need to deploy your application. In this +chapter we will review some of the deployment options open to you. + diff --git a/chapters/frameworks.md b/chapters/frameworks.md new file mode 100644 index 0000000..591a311 --- /dev/null +++ b/chapters/frameworks.md @@ -0,0 +1,17 @@ +# Perl Web Frameworks + +In this chapter we will look at some of the most popular frameworks that are +currently used to write web applications in Perl. We will write a standard +application in each of these frameworks. + +The frameworks we will cover are: + +* Raw Plack + +* Web::Simple + +* Mojolicious + +* Dancer + +* Catalyst diff --git a/chapters/frameworks/catalyst.md b/chapters/frameworks/catalyst.md new file mode 100644 index 0000000..ee9ddcf --- /dev/null +++ b/chapters/frameworks/catalyst.md @@ -0,0 +1 @@ +## Catalyst diff --git a/chapters/frameworks/dancer.md b/chapters/frameworks/dancer.md new file mode 100644 index 0000000..02886e7 --- /dev/null +++ b/chapters/frameworks/dancer.md @@ -0,0 +1 @@ +## Dancer diff --git a/chapters/frameworks/mojolicious.md b/chapters/frameworks/mojolicious.md new file mode 100644 index 0000000..990156b --- /dev/null +++ b/chapters/frameworks/mojolicious.md @@ -0,0 +1 @@ +## Mojolicious diff --git a/chapters/frameworks/plack.md b/chapters/frameworks/plack.md new file mode 100644 index 0000000..7f097c0 --- /dev/null +++ b/chapters/frameworks/plack.md @@ -0,0 +1 @@ +## Plack diff --git a/chapters/frameworks/websimple.md b/chapters/frameworks/websimple.md new file mode 100644 index 0000000..589c167 --- /dev/null +++ b/chapters/frameworks/websimple.md @@ -0,0 +1 @@ +## Web::Simple diff --git a/chapters/intro.md b/chapters/intro.md new file mode 100644 index 0000000..92bd7e2 --- /dev/null +++ b/chapters/intro.md @@ -0,0 +1,8 @@ +# Introduction + +Why this book? + +Intended audience. + +## A Brief History of Web Development + diff --git a/chapters/tools.md b/chapters/tools.md new file mode 100644 index 0000000..4f9738a --- /dev/null +++ b/chapters/tools.md @@ -0,0 +1,32 @@ +# Underlying Tools + +All of the web development mechanisms that we will cover use many of the +same underlying tools. To avoid repetition, we will introduce some of the +most importan of these tools in this chapter. + +* Perl is the programming language that we will use for the web-server side +code in all of our examples. + +* Moose (and its cut-down cousin, Moo) gives a simple and powerful way to +write Object-Oriented code in Perl. + +* The Template Toolkit is a great way to separate the parts of our code that +display data to the users from the parts which work out what we need to show +to the users. + +* DBIx::Class is used to communicate with a database. + +* PSGI is a specification that defines the interaction between a web server +and a web application. It's like a super-charged version of CGI. Plack is a +toolkit for working with that specification. + +## Perl + +## Moose + +## Template Toolkit + +## DBIx::Class + +## PSGI/Plack +