Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Just an idea #102

Closed
RouterCFW opened this issue Mar 29, 2021 · 14 comments
Closed

Just an idea #102

RouterCFW opened this issue Mar 29, 2021 · 14 comments

Comments

@RouterCFW
Copy link

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

@FireMasterK
Copy link
Member

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

  • Piped uses Vue 3 ViewTube uses Vue 2.
  • Piped has a no server architecture, ViewTube has a server for its frontend.
  • Piped uses its own API, ViewTube uses Invidious.
  • Piped uses reverse proxies / CDNs for its caching, ViewTube has something in Express.
  • Piped's backend is written in Java, ViewTube's backend uses ExpressJs.
  • Piped has made some sacrifices to be efficient in its design.
  • Piped and ViewTube have very different architectures for how they function.

However, combining human forces definitely a possibility

@mauriceoegerli what do you think?

@moisout
Copy link
Contributor

moisout commented Mar 29, 2021

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
Copy link
Member

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
Copy link
Author

RouterCFW commented Mar 29, 2021

Damn you guys are smart

@FireMasterK
Copy link
Member

Damn you guys are smart

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

@moisout
Copy link
Contributor

moisout commented Mar 29, 2021

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

Same for me, always learning 😃

@moisout
Copy link
Contributor

moisout commented Mar 29, 2021

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
Copy link
Member

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
Copy link
Contributor

moisout commented Mar 29, 2021

I'll prove you wrong with benchmarks :)

You did, hahaha :D

@FireMasterK
Copy link
Member

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?

  • Vue 3 for the basic HTML
  • ShakaPlayer for the player (we have vp9 dash support 🎉)
  • Font Awesome for icons
  • Local storage for storing settings
  • UIKit for literally all of the UI

@moisout
Copy link
Contributor

moisout commented Mar 29, 2021

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
Copy link
Member

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
Copy link
Contributor

moisout commented Mar 29, 2021

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

@FireMasterK
Copy link
Member

Matrix :)

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

Also, invited

blade10101 pushed a commit to blade10101/Piped that referenced this issue Apr 11, 2024
* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (134 of 134 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Skrripy <rozihrash.ya6w7@simplelogin.com>
Translate-URL: https://hosted.weblate.org/projects/piped-material/i18n/uk/
Translation: Piped Material/i18n

* Translated using Weblate (Romanian)

Currently translated at 99.2% (133 of 134 strings)

Co-authored-by: mere <mere@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/piped-material/i18n/ro/
Translation: Piped Material/i18n

* Translated using Weblate (Spanish)

Currently translated at 100.0% (134 of 134 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (134 of 134 strings)

Co-authored-by: Alkalifax <yarodcastillo1@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/piped-material/i18n/es/
Translation: Piped Material/i18n

---------

Co-authored-by: Skrripy <rozihrash.ya6w7@simplelogin.com>
Co-authored-by: mere <mere@users.noreply.hosted.weblate.org>
Co-authored-by: Alkalifax <yarodcastillo1@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants