2 ms·
Well, the two prominent web frameworks are Weblocks and UCW but their documentation is...wanting. I'm working on a Weblocks tutorial right now but I gave a bit
by redline6561 16y ago
Well, the two prominent web frameworks are Weblocks and UCW but their documentation is...wanting. I'm working on a Weblocks tutorial right now but I gave a bit of a survey of the CL web landscape recently: http://redlinernotes.com/blog/?p=1232 http://redlinernotes.com/blog/?p=1232
Damn shameless self promoters. Anyway, seeing as UCW and Weblocks aren't well documented a lot of people just grab Postmodern or CL-SQL for DB stuff (there are some NoSQL solutions around if that's your fancy), then CL-Who or HTML-Template and Hunchentoot (web server) for the rest.
All the above libraries are easily installable via quicklisp. God bless Xach. And Amazon AWS. :)
- sedachv 16y agoI would also recommend not bothering with the frameworks. Get Hunchentoot and Postmodern and you're ready to go. I've even stopped bothering with CL-WHO, I now use CL-INTERPOL for HTML templating (cl-closure-template seems to do fancy stuff, too). If you're lazy like me use BKNR-datastore instead of Postmodern and you won't even have to bother configuring a database. Other stuff you'll probably need: cl-fad (file/directory manipulation), cl-ppcre (regular expressions), ironclad (hash digests), cl-smtp (sending the huge cash-money invoices to your eager users). Eventually you will become too lazy to write JavaScript by hand, in that case grab Parenscript. All of this is available via quicklisp, it really makes things easy.
- redline6561 16y agoBKNR-datastore seems really nice but I haven't gotten a chance to play with it yet. Do you know if it supports concurrent writes yet? I know it didn't circa 2008 or so...
- sedachv 16y agoYeah, there's a global lock for transactions. I'm not sure it's such a big loss considering you still need a lock on the log file. Adding MVCC or per-object locks would mean rewriting most of BKNR, changing major parts of how it works, and a hugely more complicated implementation. And those things have a lot of their own overhead too. OTOH then you can just throw the objects into an mmapped file, put a REPL on a socket and bingo you have a multi-user networked ACID object database. But then you might as well just use Postgresql and Postmodern. I don't know if you've ever installed the full Kloudshare, but Will wrote the first Hold backed by bknr.datastore, so you've probably used it.
- redline6561 16y ago> "But then you might as well just use Postrgresql and Postmodern." Yeah, that's what I figured. I doubt for anything I'll work on soon that the lock will be an issue. Just curious. :) I didn't realize the hold used to be backed by bknr. That's cool. Thanks for the heads up.