Secondary Goal: Angular, React, or Vue?
In 11 days the campaign goal was reached. Thank you for your support! I've already started to write the Perl Dancer SPA book and I am going to send out the perks in the coming days.
However let's not stop here. Let's get even more support for the book and add more value to the book. Several people suggested to use Angular, React, or Vue instead of jQuery. So here is the deal I offer. If we reach $7000 I'll implement the whole front-end part in one of those frameworks as well. In addition to jQuery. Which one? The people who support the book will decide. I'll ask everyone who supported the campaign which one they prefer and the one with the most votes will win.
About the Dancer eBook
Many modern web applications are Single Page Applications (SPA). They load only one HTML page and from that point on they communicate with the server using AJAX requests.
The most well known example of a SPA is Gmail, but a lot of modern web applications work this way.
Perl Dancer 2 is a modern, light-weight, route-based web framework for Perl 5.
jQuery is the workhorse of the front-end, a JavaScript library that seems to stick around as other libraries come and go.
Bootstrap is probably the most popular HTML/CSS framework for creating web applications.
SPAs are well suited for applications that require authentication and thus don't expect to be indexed by search engines. While the focus of this book is SPAs, a web site can include both a private web application and a set of public pages that need to be indexed by search engines.
This e-book will include a chapter on creating content-heavy public pages that can be used for SEO (Search Engine Optimization).
You will not be required to have an expert knowledge of Perl, but knowing Perl will certainly be to your advantage. For example, you are not expected to know how to install modules. It will be explained.
The eBook will be self-published via Leanpub. You'll get 3 files in pdf, epub, and mobi formats.
The planned release date of the final e-book is February 2018.
Outline
The following is the planned content of the book though I may need to make adjustments.
- Installing Dancer2
- A simple route returning the HTML page that will house the rest of the application
- Introduction to Bootstrap, the HTML/CSS framework
- When to use an SPA and when to avoid it, an SEO perspective
- Creating content-heavy web pages for SEO
- Selecting the JavaScript framework: the case for jQuery
- Simple AJAX requests to get some data from the server to the application
- Submitting data to the server and getting a response
- Client side input validation
- Server side input validation
- Client side error handling
- Server side error handling
- Designing and implementing an API
- Testing the back end API
- Pages: client side routing
- Submitting a form
- Authentication
- Session management
- Application deployment
About the Author
I am the author of over 1,000 articles on the Perl Maven site, on the Perl 6 Maven site, and on the Code Maven site. These sites have over 10,000 readers every day. I've been writing Perl since 1995 and teaching Perl training courses for 17 years. This includes a course called Web Application Development using Perl Dancer, where I teach the subject of the planned e-book.
I am also in the middle of writing a book about Web development in Perl 6 using Bailador, which is a Dancer clone in Perl 6.
About the Reviewers
4 people have offered their help to review the book:
What I Need & What You Get
I need at least $20,000 to cover the time I am going to spend on the book. I hope that once the book is published I'll be able to sell many copies of it and will be able to get that covered. I might even earn some extra. However, I don't want to write a book and find out that no one is really interested. So, I am running this crowdfunding campaign to gauge the interest in this book.
The goal of this campaign is to raise $4,000.
This is an "all-or-nothing" campaign. If we don't reach the goal, all the contributions will be refunded and the project will be cancelled.
Risks & Challenges
I could get run over by a bus or otherwise become unable to do the physical or mental work needed for this e-book. This does not seem very likely to me. Other than that, I don't see any major risk.
I've been teaching this subject for several years now. I "just" need to convert it into a book.
Other Ways You Can Help
Getting your direct support is golden, but you can do so much more to help the campaign! You could get a personalized link from Indiegogo and recommend the campaign to your co-workers, Twitter followers, Facebook friends, etc. Each such share will also compel Indiegogo to further promote the campaign. Unlike in programming where DRY is a considered a desirable value, if you want people to do something you usually have to get them exposed to the idea several times. So don't be DRY. (or shy)