There’s been a movement for some time in opposition to JavaScript frameworks and general JavaScript predominance, both in design and development-focused crowds. I’m very sympathetic to at least one aspect of the criticism leveled again JS development, namely the complete flouting of Occam’s razor: frameworks, compilers, and libraries often overly abstract code and weigh it down with dependencies, so it becomes a pain to debug and forces users to download tons of data. think 90% of websites don’t need them, and I have successfully avoided them in most of my work until now. I also understand that JavaScript has performance and structural issues that make it at times sub-par.

Nonetheless I’m using a Node/Electron/Vue architecture in Goby, and I think it’s warranted given several practical considerations:

  • Frameworks are not necessary for most pages. They are however extremely useful when it comes to the thing they were designed for: complex UI systems with a lot of data flowing through each page. As I’ve learned the hard way, you end up having to do pretty lengthy and convoluted vanilla JS if you build an interface without a framework. So I’m trying Vue.
  • Although Node and Electron have their issues, they have made it extremely accessible to design applications that will work quasi-universally, using the web technologies I’m already familiar with. I think at the level of building a small desktop application, it’s a good place to start.

I want to add that I’m sometimes frustrated with how hostile people sometimes are to building websites that employ substantive JavaScript or even CSS. This “back-to-the-land” strand of web culture can get sort of dogmatic, and close off forms of creativity just because people get antsy at the prospect of complexity in web design.

I think as a baseline JavaScript on the web is … very cool. By introducing sophisticated logic statements, it opens up sooooo many possibilities for what we can do in the browser. I also think, as has been noted about P5, it’s a really great way to ease people into coding, because you can get immediate visual feedback on everything you write.