Another Homework 7 post
Published: 2023-02-27 04:05:30

_**For those who clicked on this post wondering why there have been so many "Homework 7" posts in the past few hours, we were assigned to write a dev.to post answering a set of questions. This is another one of those.**_

## What is confusing about platforms?
The concept of a platform is actually not too confusing. From Techopedia.com,

> A platform is a group of technologies that are used as a base upon which other applications, processes or technologies are developed.

Because having a platform act as a "foundation on which applications run", according to outsystems.com, this would make development more interactive and smoother. It makes sense to house a code within an environment for a web development language such as JavaScript, CSS, etc.

On the other hand, working with specific platforms as a novice developer is another story. From my experience in class, using Vue, React, open-WC, etc. were really interesting. And really confusing.

Compared to something else like Python, where you are coding in a single to a few windows and can run the code straight within a command prompt, things like JavaScript, CSS, and HTML all have this weird way of running and testing out code. If we were to use something like open-WC, it ports a bunch of template code over, so that we can build our page on top of it. Because open-WC does not port the same code as Vue, or React, or literally any other code, figuring out how to implement your JavaScript and CSS styles and HTML can vary. 

This means learning from a platform such as these really stink in terms of "new blood learning", where someone without any previous exposure in web development may have a hard time starting up their learning, especially if they don't have resources available to them to get them started, like a college level course or friend that is an absolute developer powerhouse. 

## How could web components and VanillaJS standards be taught in a way that is more approachable?
Make it easy to get started. Absolutely torture the academic madlad with easy and difficult coding assignments. Have extensive resources ready and easy to use. 
Personally, I learn best by doing, failing, and learning. Commonly known as "trial and error". I find that the most effective way to learn code is through trial and error, as exposure and stress teaches people better than a lot of methods in this regard. If web components and VanillaJS were to be taught, I would say to teach a newblood web developer by providing many different small scale projects that gradually implement new ideas into it. Also layman's terms are great for describing things to brand new developers.

## What did you find easiest to work with on first stab?
I would have to say, working with open-WC was a lot easier than Vue, React, and all the others mainly because the organization made it easier to figure out where everything goes. The biggest problem I had though starting out was trying to figure out what JS code went in the index.html file and what went into the JS main file. 

## Think back on the tooling. What parts were confusing. What clicked with you immediately?
I'd say that the 522 modules in my code is confusing. There are just so many tools available for me to use, and I know basically nothing about how most of them work. Not only that, but learning the JS and CSS language itself was not easy, so implementing it into the platforms were also a learning curve for me. Nothing really "clicked" for me when learning web development.

## Things I read that helped me get a perspective:
- [Mozilla Web Docs](https://developer.mozilla.org/en-US/) 
 - This helped out a little, as it provided a lot of explanations to things I have never seen before.
- [outsystems.com - Platform vs Applicatons](https://www.outsystems.com/glossary/platforms-vs-applications/) 
- [techopedia.com - What is a Platform?](https://www.techopedia.com/definition/3411/platform-computing)
  - These were helpful with figuring out what platforms were.
- [w3schools.com](https://www.w3schools.com/)
  - w3schools helped out a lot in terms of giving brief descriptions and providing pseudocode to learn from.