CodyReichert / awesome-cl

A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
https://awesome-cl.com
Other
2.48k stars 184 forks source link

Added Lisp for the Web #330

Closed jgarte closed 3 years ago

jgarte commented 3 years ago

Lisp for the Web is a book about making a web application. The author is Adam Tornhill. The book demonstrates how to use Hunchentoot, parenscript, cl-who, and cl-mongo.

vindarel commented 3 years ago

Is it really great? Personally I found using lisp + PS + cl-who very confusing to start with, adding too many layers of indirection. A mongo DB is also not classical. This book also lacks links to many newer resources and libraries (easy-routes, spinneret which is better than cl-who, other ORMs etc), and hasn't been updated in a long time.

jgarte commented 3 years ago

Hi @vindarel

I haven't finished going through the book. I thought to add it because it is one of the few books I have seen on the subject. I am a common lisp beginner and was looking for a book that would take me through making a polling app. If you find the time and would like to professionally review the book it would be greatly appreciated. I would love to hear your thoughts on it.

ps

Do you know of any books or blog posts that show how to make a polling app using modern common lisp libraries?

jgarte commented 3 years ago

@vindarel

Have you read Deploy Common Lisp Apps with Confidence?

If so, do you recommend it?

It's too bad that it is not a free resource.

vindarel commented 3 years ago

Hello, I didn't read "Deploy…", only looked at the TOC and the available free chapter. I also know the author's blog posts, and I find them too short :] Looking at the TOC, I think most of the required information is also in the Cookbook, notably how to create a standalone executable. Then the Qlot resource is in the Qlot readme (although Qlot is nice, it isn't necessary to begin a project), shared library stuff will benefit from Deploy, deployment is easy because it is sufficient to run the lisp source or the binary, and then what's remaining is usual best practices (using or not systemd etc).

FYI here is some content for the web (brought by myself):

and https://github.com/CodyReichert/awesome-cl#web-frameworks

a book that would take me through making a polling app

my advice is to start simple with Hunchentoot, easy-routes, HTML templates with Djula and a gentle touch of JS. The most difficult part is knowing the web and the browser API. I pretty like Weblocks too (http://40ants.com/weblocks/quickstart.html), it could work for a polling app, but Weblocks is very different than everything else and one should be comfortable with CL first (with CLOS basics and understanding debugger messages).

vindarel commented 3 years ago

sorry I don't know the "lisp for the web" ebook, I misleaded it with "Lisp web tales" https://leanpub.com/lispwebtales, another ebook also free to read.

Macros: Fighting the evils of code duplication

when I see this I think a big "no no, that shouldn't be required to write one's first template".

jgarte commented 3 years ago

Hello, I didn't read "Deploy…", only looked at the TOC and the available free chapter. I also know the author's blog posts, and I find them too short :] Looking at the TOC, I think most of the required information is also in the Cookbook, notably how to create a standalone executable. Then the Qlot resource is in the Qlot readme (although Qlot is nice, it isn't necessary to begin a project), shared library stuff will benefit from Deploy, deployment is easy because it is sufficient to run the lisp source or the binary, and then what's remaining is usual best practices (using or not systemd etc).

FYI here is some content for the web (brought by myself):

* https://lispcookbook.github.io/cl-cookbook/web.html

* https://lisp-journey.gitlab.io/web-dev/

* https://github.com/vindarel/lisp-web-live-reload-example/

* https://github.com/vindarel/lisp-web-template-productlist

and https://github.com/CodyReichert/awesome-cl#web-frameworks

a book that would take me through making a polling app

my advice is to start simple with Hunchentoot, easy-routes, HTML templates with Djula and a gentle touch of JS. The most difficult part is knowing the web and the browser API. I pretty like Weblocks too (http://40ants.com/weblocks/quickstart.html), it could work for a polling app, but Weblocks is very different than everything else and one should be comfortable with CL first (with CLOS basics and understanding debugger messages).

@vindarel Thank you so much for sharing all these resources. I look forward to reading through it. It is greatly appreciated!

jgarte commented 3 years ago

@vindarel Should I close this pull request?

vindarel commented 3 years ago

Would you make a PR with these two ebooks and a link to the web page of the Cookbook? thanks

jgarte commented 3 years ago

Would you make a PR with these two ebooks and a link to the web page of the Cookbook? thanks

I opened a PR at #336. Let me know if I should edit anything.