I am developing a service which builds around video streaming. The streaming happens behind a paywalled Login-Layer, so the usage patterns are pretty predictable. I am currently evaluating which technology stack I want to use.
I already developed applications in PHP (long ago) and Python Django (not so long ago). I know that I am very productive with Django. Nevertheless I love learning new things and Elixir looks like a lot of fun to me, especially since I enjoy functional programming but was never able to use it for a real-world project. Therefore I would really like to use it. A third option is to use node.js (with the NestJS framework) since I can then integrate frameworks like Next/Nuxt if I want to do a SPA that is partially Server side rendered.
My main question is the following:
- I never did video streaming. Naively I would think that all you need to do is to put your videos on a CDN and then embed them with an html5 video tag. Where am I wrong here and specifically are there any obvious upsides/downsides of Django/Node.js/Phoenix when doing video streaming?
I also have some more questions:
2. Why do people here use Liveview instead of making React/Vue SPA as everyone else is right now? What are the benefits of each of these paradigms against the plain “oldschool” Server-Side-Rendered approach?
3. Is Phoenix still a good choice if I do not need Liveview but just want to make a backend-API for a frontend SPA?
4. How easy is deployment to AWS with elixir? With Django and Node AWS has official guides, for Phoenix it does not.