membraneframework-labs / membrane_live

Webinar app in React, Phoenix and Membrane
Apache License 2.0
12 stars 2 forks source link

Why React? #49

Closed cvkmohan closed 2 years ago

cvkmohan commented 2 years ago

Hello, I am following this repository for some time and it has been a very educative experience. This is not exactly any issue with the code - but - a question that I have. Did not know where to ask - so putting it here.

Can you please explain the your thinking process behind this tech stack selection? I could not decode why LiveView is not used if this is a Phoenix application. That Reactive UI can be completely realized in LiveView if understood it right. At the same time, if React is being used, why not a client only application with a backend like Supabase etc.? I am going to work on an application that needs a Whiteboard sort of functionality - and - I am evaluating various options. Your views/thought process will really help me.

LVala commented 2 years ago

As you may know from the README, Membrane LIVE is an internship project focused on learning Membrane Framework. As a demo product, it is concentrated on the membrane_rtc_engine, especially hls_endpoint - which is very unpolished at the moment. The development process of LIVE is a way to fix bugs of the hls_endpoint and extend existing functionality.

Membrane is written in Elixir, so Phoenix is an obvious choice here. The thing is, we wanted to spend the least amount of time possible on the front-end. React is a popular technology, which some of us were already familiar with (in contrast to LiveView), and Software Mansion (a company that the Membrane team is a part of) specialises in React and React Native, so there is simply plenty of people around to ask when in trouble. It may not be to most optimal tech stack, but that wasn’t the focus here: sorry if the answer doesn’t satisfy you.

FYI, we have a community Discord server for Membrane - where questions like yours get answered.

cvkmohan commented 2 years ago

Thanks @LVala for the response. I would join the Discord channel. From your answer I understood that attempting the same with Phoenix LiveView is not wrong. :) I will try to copy and reproduce the same application using LiveView.

With this I am closing the issue. Thanks again for the help.