Scratch-Client-4 / client

🖥 The SC4 desktop client. Devlopement currently halted while we work on our mobile client : https://github.com/Scratch-Client-4/mobile
GNU General Public License v3.0
11 stars 1 forks source link

Adopt a JS framework #2

Closed moeenio closed 4 years ago

moeenio commented 4 years ago

Shouldn't we adopt a JavaScript framework? I fear plain JS is not ideal for this kind of thing.

ethanhanderson commented 4 years ago

What kinds of frameworks are you thinking of?

moeenio commented 4 years ago

Vue for example? Or lit-html (which isn't a framework tho, but an HTML renderer thing)

micahlt commented 4 years ago

Hm... Vue is a possiblility, but I'm not sure that much of the @Scratch-Client-4/frontend team is familiar with it, which makes it hard to work with. I don't see why vanilla JS wouldn't work for this, or even jQuery.

VFDan commented 4 years ago

I'm not very familiar with Vue, and in my opinion standard JS is better than jQuery, as you get closer to the DOM with it.

VFDan commented 4 years ago

lit-html seems like it might be good though.

bryn-trys commented 4 years ago

I'm not well versed in Vue either, depends on how easy it is to pick up.

ethanhanderson commented 4 years ago

@locness3 I'm happy you suggested Vue because I looked into it and watched the intro course from Vue Mastery, and I think we should all learn it if we haven't and adopt it. :D

micahlt commented 4 years ago

lol at least y’all have time to do that (I’m kidding, I’ll learn it if you guys do)

bryn-trys commented 4 years ago

I'll learn it. Sounds interesting!

VFDan commented 4 years ago

Yes, because I have a lot of spare time to learn Vue. I might learn Vue if you guys learn it

MiniCoder11 commented 4 years ago

I'll try learning it but it does say in their description that Vue is meant for "single-page applications". Is this something that we should be concerned about or will it not matter much in the long run? (Are we planning to host this as one site or multiple sites that link in to each other?)

VFDan commented 4 years ago

Vue looks like a very powerful framework; I think it would help the project!

micahlt commented 4 years ago

@VFDan I agree- I'm on the 6th video in the tutorial series and I'm looking forward to using Vue in SC4. Is @Scratch-Client-4/everyone comfortable with that?

VFDan commented 4 years ago

We also need to make sure that @Scratch-Client-4/backend is okay with it

micahlt commented 4 years ago

@VFDan Technically, we don't have to because it's a frontend dev's job to link the backend to the frontend, but that's a polite gesture anyway :D Also, everyone should answer this poll I made.

https://strawpoll.com/h2y68saf

ethanhanderson commented 4 years ago

@MiniCoder11 this project isn't gonna be a SPA so we don't need that functionality from Vue, but we can use its other features such as data binding and components.

MiniCoder11 commented 4 years ago

@Hexsphere Okay, sounds good.

d-siganos commented 4 years ago

@locness3 @micahlt @Hexsphere @MiniCoder11 I would suggest using React (it seems to me that you have more control over the project this way)

ethanhanderson commented 4 years ago

I don't think many of us are familar with React, and we've already begun to commit to learning vue. Could you give me some info about what React would do better than Vue?

d-siganos commented 4 years ago

@Hexsphere what I consider very important is that in React the same part of the code is responsible for both creating a UI element and dictating its behavior. This leads to more organized and compact code overall. In addition, React makes it really simple to integrate with other frameworks, thus making the code flexible. On the downside, It is not as easy to learn as Vue.

ethanhanderson commented 4 years ago

React has always been a good choice, but I nor everyone in this thread except you knows it. If we did go with React, we'd have to take more time to learn it than to learn Vue. So I don't know where this leaves us...

d-siganos commented 4 years ago

@Hexsphere if you have already started learning Vue, it is better if you just continue learning it. Also, I don't know React either. Only a week ago did I install Node.js...

ethanhanderson commented 4 years ago

Oh, gotcha. Well if you're okay with it, that's cool with me. 🙂

d-siganos commented 4 years ago

@Hexsphere of course it's fine! Vue is still a very good framework

moeenio commented 4 years ago

Also, not sure everyone shares my "anti GAFAM" opinions, but React is made by Facebook which I think isn't good

micahlt commented 4 years ago

@locness3 er, okay. @BonfireScratch Yeah, we considered React but it's really too complicated to learn in a short amount of time. Vue makes code more readable and more easily stylable.

what I consider very important is that in React the same part of the code is responsible for both creating a UI element and dictating its behavior.

With <v-if=""> and <v-for=""> in Vue, I'm pretty sure that's dictating behavior. Vue seems to be the best option. Also, welcome to the team! :tada:

And why hasn't this issue been closed? Learn Vue, guys xD

VFDan commented 4 years ago

@locness3 Well Microsoft owns Github, so ¯_(ツ)_/¯

micahlt commented 4 years ago

@VFDan True lol

moeenio commented 4 years ago

yeah lol

moeenio commented 4 years ago

And why not lit-html?

micahlt commented 4 years ago

@locness3 Many people find it easier to work with separate HTML and JS files without the JS rendering the HTML, and I agree.

moeenio commented 4 years ago

Oh yes

d-siganos commented 4 years ago

@micahlt

Also, welcome to the team! :tada:

so I am on the team now?

micahlt commented 4 years ago

@BonfireScratch didn't someone add you? Sorry, I assumed.