TeamPiped / Piped

An alternative privacy-friendly YouTube frontend which is efficient by design.
https://piped.video
GNU Affero General Public License v3.0
8.43k stars 694 forks source link

Just an idea #102

Closed RouterCFW closed 3 years ago

RouterCFW commented 3 years ago

You guys should collaborate with the ViewTube devs to make a bigger team

FireMasterK commented 3 years ago

I'll be honest - there would be quite some roadblocks for this:

However, combining human forces definitely a possibility

@mauriceoegerli what do you think?

moisout commented 3 years ago

I'd love to collaborate! But the technologies used are quite different, so i'm not sure how that would look like.

Also i need to update my documentation haha. ViewTube uses Nuxt for server side rendering, which hasn't yet been updated to vue 3.

Also i'm in the process of writing my own api. Channels, videos, and search are already being fetched from the ViewTube api, not invidious.

FireMasterK commented 3 years ago

I'd love to collaborate! But the technologies used are quite different, so i'm not sure how that would look like.

Glad to hear that! For the technologies, I'm sure we can switch to whatever framework would be suitable. (As long as the architecture is maintained)

This is my first frontend project, so changing technologies for it is absolutely possible.

My backend is written in Java and uses NewPipeExtractor to do extractions. Java is my main language, which is why I chose it.

Also i need to update my documentation haha. ViewTube uses Nuxt for server side rendering, which hasn't yet been updated to vue 3.

I see, you have no JavaScript support then :)

Piped requires JavaScript as the architecture I designed requires it

Also i'm in the process of writing my own api. Channels, videos, and search are already being fetched from the ViewTube api, not invidious.

You use expressjs tho :P

Piped's backend can already do these already, the problem I see with expressjs is scalability after a point

RouterCFW commented 3 years ago

Damn you guys are smart

FireMasterK commented 3 years ago

Damn you guys are smart

Thank you for the compliment, but there are still so many things I'm not good at 😄

moisout commented 3 years ago

Thank you for the compliment, but there are still so many things I'm not good at 😄

Same for me, always learning 😃

moisout commented 3 years ago

My backend is written in Java and uses NewPipeExtractor to do extractions. Java is my main language, which is why I chose it.

Using newPipeExtractor is quite smart, it's well maintained

I see, you have no JavaScript support then :)

Yes i do! Nuxtjs is basically vue, just rendered on the server and then sent to the client, instead of rendered on the client. It still uses javascript.

You use expressjs tho :P

Yeah, NestJS to be exact. I chose it because i know javascript and because there are already great modules like node-ytdl-core and node-ytsr

the problem I see with expressjs is scalability after a point

I think NestJS handles that quite well

FireMasterK commented 3 years ago

Yes i do! Nuxtjs is basically vue, just rendered on the server and then sent to the client, instead of rendered on the client. It still uses javascript.

I love the concept however, it would not fit in my architecture :(

I think NestJS handles that quite well

I'll prove you wrong with benchmarks :)

Language Framework Speed (64) Speed (256) Speed (512)
1 java (11) activej (4.1) 175 575.37 214 314.96 219 282.93
168 javascript (14.16) nestjs-express (7.6) 11 765.97 11 454.54 11 294.14

Based on this, ActiveJ is 19.4 times faster than NestJS

src: https://github.com/the-benchmarker/web-frameworks

moisout commented 3 years ago

I'll prove you wrong with benchmarks :)

You did, hahaha :D

FireMasterK commented 3 years ago

I did some benchmarking in #103 and ran out of bandwidth lol (200mbps)

What do you think about the current frameworks I use for the app?

moisout commented 3 years ago

Vue 3 for the basic HTML

Vue is always awesome :D I find it very intuitive and less complicated than angular, react, extjs

ShakaPlayer

I have not heard of that before, it looks promising

Font awesome

I personally prefer material icons, but these are nice too

Local storage for settings

I use local storage on ViewTube too, but it syncs it with the server when you sign in

UIKit

I have heard of it but i've never used it. It has a pretty big component library, which is nice.

FireMasterK commented 3 years ago

How would we like to start collaborating?

I could start off, by inviting you and giving write privileges :)

I could also explain the architecture which I have in mind

moisout commented 3 years ago

That would be nice! Where would you like to communicate?

FireMasterK commented 3 years ago

Matrix :)

@kavin1337:matrix.org or #piped:matrix.org

Also, invited