Hacker News new | past | comments | ask | show | jobs | submit login
Chicago Boss: The Erlang Web Framework (chicagoboss.org)
104 points by xj9 on April 23, 2015 | hide | past | favorite | 19 comments



Does Chicago Boss have a lot of momentum? I thought it was idle now that the founder had moved on. It's certainly a fairly complete and mature framework.

I'm thinking the hot new kids are:

Phoenix: http://www.phoenixframework.org and N2O: https://synrc.com/apps/n2o/

Of course, this is just my opinion, not a comprehensive list. But these two are most interesting to me and seem to have momentum.


The current maintainers are officially Dmitry Polyanovsky and Jesse Gumm (same guy who maintains Nitrogen, from which N2O was forked, and also the SimpleBridge web server abstraction library), I believe.

You're right it's not terribly active at the moment. It has rough edges, but it's very much usable.

Phoenix arguably supports most of the same patterns as CB, but on top of Elixir.

EDIT: Oh, by the way, you can actually write Chicago Boss apps using Elixir and LFE instead of plain Erlang, if you'd like. This is officially supported.


Also interesting is that Evan Miller is the original developer of Chicago Boss, and he shows up a lot here. You will see it on the list of his software on the home page.

http://www.evanmiller.org/

I think he has since moved on. Notice some nice CB components, like ErlyDTL, are also his work. He shows up a lot here, so I thought people would be interested in it with regards to his other pieces about statistics, modeling, and other topics.


From there I stumbled upon what I think must be the most amazing `border-radius` polyfill of all time:

https://github.com/evanmiller/nginx_circle_gif


Evan actually took over and maintained ErlyDTL, but it's Roberto Saccon's work IIRC.

quickly confirmed: http://erlang.org/pipermail/erlang-questions/2014-January/07...


Not surprising. Was not even familiar with the library until I saw the link in these threads to the Github wiki page for ChicagoBoss mentioning features and I saw ErlyDTL, and went to evanmiller's page.

I dug a little deeper because having used Django in a very small does years ago, I have no idea what made its templating so desirable or unique that over stacks copy it.

I assume up on deck: queue jokes about templating non-Erlang in Erlang and how people clamor for anything else.


Not really: https://news.ycombinator.com/item?id=9426759

I'd look at Phoenix.


Not really, I guess the development stalled. :(


I started playing with Chicago Boss a few years ago and it was nice. But the models/records part is designed around Erlang's experimental "Parameterized Modules" feature, which has since been more or less rejected (see: http://www.erlang.org/news/35). It seems that Erlang will continue to support the syntax for legacy reasons but I'm extremely hesitant to hop on board a framework that uses an all but deprecated feature so centrally.


"Deprecated" isn't the proper term, I think. It's not in the mainline language, but it is instead kept as a separate module in the form of a parser transformation, which CB pulls in during build time.

In that regard, it's no different from pulling in any other library.


They provide a nice comparison of current Erlang web frameworks: https://github.com/ChicagoBoss/ChicagoBoss/wiki/Comparison-o...


"Do you pine for a simpler time when web pages loaded in under one second?" That's a great mission statement. I see so many slow-loading pages which could be simple static HTML pages.


I prefer Axiom for its lightness: https://github.com/tsujigiri/axiom

...but that might just be because I built it.


Would the Erlang/Elixir platform be useful for small/hobbyist developers? Everything I've read on it makes it seem very domain-specific, considering its history in telecommunications.


If you know what you're doing, yes. If you just need to do web apps without knowing the particulars, I'd go with Rails. If you need to support a lot of concurrent users, or do anything with websockets, or streaming, or that kind of thing, Elixir and Erlang would make a fine choice.


I don't know exactly what you mean by "small/hobbyist developers".

Yeah, Erlang really shines for high-availability, high concurrency network and distributed systems stuff, which it was designed for, but many of the properties that make it successful in that area are useful elsewhere as well.

First, obviously, a great deal of web and database stuff is network programming and distributed systems when you get down to it so web servers, proxies, websockets, messaging, etc are all well within Erlang's domain.

Here's a demo of someone using Erlang as firmware for a Drone, doing hot code-swapping while it's in the air: https://www.youtube.com/watch?v=96UzSHyp0F8

Erlang's bit packing/unpacking syntax (http://www.erlang.org/doc/programming_examples/bit_syntax.ht...) is really nice to work with. It came out of a need to handle binary wire protocols, but it means that it can also be nice for any kind of binary file format parsing that you might need to do.

ErlangOnXen (http://erlangonxen.org/) is really interesting if you are into operating systems and virtualization stuff.

Erlang's not very focused on heavy numeric processing so you don't see it much in science domains, but the actor model that it's built on maps well to Agent Based Modeling: http://www.research.ucf.edu/Swarmfest/Program_Day2/Gene%20Sh...


There's also a book, Handbook of Neuroevolution Through Erlang.

> First, obviously, a great deal of web and database stuff is network programming and distributed systems when you get down to it so web servers, proxies, websockets, messaging, etc are all well within Erlang's domain.

Caveats with database is their driver. Cassandra for example does not have official supported drivers and I've met a gentleman that worked for TigerText company have complains that it was pretty bad. So Erlang having small user base have less official driver support.


I certainly think so! Its a bit of a paradigm shift, being a functional language and all, but once you wrap your head around it the platform is friendly and powerful. I was able to deploy a CB app on a Debian VPS within an hour or so of getting into the documentation.


In my opinion, Elixir, plus the elixir frameworks that are out there, plus Couchbase gives you super powers.

As and individual developer (though I'm getting help soon) I feel I'm able to accomplish orders of magnitude more faster....




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: