General discussion

MoodleNet in Elixir

Picture of Ruben Cancho
MoodleNet in Elixir


I was cathing up with the project and I found out that Elixir has been chosen as the backend language. 

I'm intrigued by this decision as Moodle is a PHP comunity and it seemed the easy path. Sure Elixir has a lot of benefits but I think you are losing a lot of potential Moodle developers doing so...

I also would have added other elements in the decision, as the ActivityPub support on the language. Or before that why ActivityPub has been chosen among others, as it seems a new tecnology, or at least I never heard of it.

Maybe you are taking too much risk chosing new tecnologies when PHP, a REST api and maybe a proven message queue service would be enough to start?

Hope I'm wrong!

Picture of Doug Belshaw 🇪🇺☠️✊
Re: MoodleNet in Elixir

Hi Ruben, thanks for your interest!

What we're building with MoodleNet is very different to a PHP-based learning platform such as Moodle. As a result, we need to make choices that allow us to build something that's going to work well and at scale.

If you're interested in the reasons behind the choice of Elixir for part of the MoodleNet project, please have a look at this lengthy explanation by Mayel de Borniol, our Technical Architect here.

In addition, check out the diagram below. You'll notice that there's many different components to MoodleNet, and code for which we're using Elixir is just one part. 

MoodleNet with core API-as-a-service

When people and organisations set up their own version of MoodleNet, it's likely that they'll only ever need/want to modify the front-end parts. For those, we're planning to use ReactJS. We haven't made a final decision about the Core API-as-a-service, but the chances are we'll be using PHP for that. smile