Week 7 Homework Responses
Published: 2023-03-14 04:00:56

## What is confusing about platforms?

Platforms can be confusing for new developers for several reasons.

Firstly, there are many different types of platforms, each with their own specific set of features and requirements. It can be difficult to understand which platform is best suited for a particular project, especially for beginners who may not yet have a clear idea of what they want to build.

Secondly, platforms often have a lot of technical terminology that can be overwhelming for those who are new to the field. Understanding these terms is crucial to properly using the platform, but it can take time to fully grasp them.

Thirdly, platforms often have complex documentation that can be difficult to navigate. Finding the right information can be time-consuming, and it can be frustrating to encounter issues that seem unresolvable without the right guidance.

Lastly, platforms are constantly evolving, with updates and changes that can break existing code or require developers to relearn certain features. Keeping up with these changes can be challenging, especially for developers who are just starting out.

Overall, navigating platforms can be confusing for new developers due to the complexity of the technology, the abundance of technical terms and documentation, and the rapid pace of change.

## How could web components and VanillaJS standards be taught in a way that is more approachable?

Firstly, it is essential to provide a solid foundation in basic HTML, CSS, and JavaScript before diving into web components and VanillaJS. This includes understanding the Document Object Model (DOM) and how it is manipulated using JavaScript.

Secondly, using visual aids and interactive examples can be a useful way to teach web components and VanillaJS standards. For instance, creating a custom element using the Web Component API, along with a simple HTML template, can help students grasp the concept of web components.

Thirdly, breaking down complex concepts into smaller, more manageable parts can also be helpful. For instance, instead of teaching all of the various APIs that make up web components at once, it might be more effective to teach them one by one, building on each concept as students progress.

Fourthly, having students work on practical projects that utilize web components and VanillaJS can help reinforce their understanding of these concepts. This can also be an opportunity for them to explore the many libraries and frameworks that exist for web development and gain experience with the tooling and workflows involved in web development.

Overall, a combination of hands-on practice, visual aids, and clear explanations can help make web components and VanillaJS standards more approachable for beginners.

## What did you find easiest to work with on 1st stab?

As a new developer in the field, I found web components to be one of the easiest things to work with on my first attempt. One of the main reasons for this is that they use vanilla JavaScript and HTML. This made it easy for me to understand the code and manipulate it to fit my needs.

Vanilla JavaScript is a programming language that is widely used in web development. It's the core language of the web, and understanding it is essential for any web developer. HTML, on the other hand, is the markup language that is used to create the structure of web pages. Together, these two technologies provide the backbone of the web.

Because web components use vanilla JavaScript and HTML, they are easy to learn and use. They also provide a level of flexibility and customization that is not possible with other frameworks or libraries. This is because web components can be used with any front-end framework, or even without a framework at all.

Overall, I found web components to be a great way to create reusable and customizable elements for my web projects. The fact that they use vanilla JavaScript and HTML made them easy to understand and manipulate, which allowed me to focus on creating great user experiences instead of struggling with complex code.

## Think back on the tooling. What parts were confusing? What clicked with you immediately?

I think what was hard about using frameworks was the fact that everything was handled using JS, and there was a lack of HTML and CSS. The class and object structure of the components were hard to figure out because it requires specific functions to operate and work properly. Sometimes, I was lacking one of the functions and the component broke instantly. It was also difficult to understand the scoping of the different components.

The projects are set up by machines because there are a lot of dependencies that make up the project/application, and those dependencies are what make the frameworks easy to work, but I think in order for the frameworks to be easy, one must climb up a steep learning curve. 

I think what was relatively easy was to figure out where to plug in the html and css to the js files, since the templates came with corresponding code. It was just a matter of reading the code to understand where to copy and paste the code to render it onto the screen. However, when it came to maneuvering state, it was not as easy. 

## What additional readings did you have to do in order to make sense of things.

[Vanilla JS vs React JS](https://flatlogic.com/blog/vanilla-js-vs-react-js-featured-based-comparison-to-find-the-best-javascript-technology/#:~:text=React%20offers%20a%20faster%20rendering,complex%20languages%2C%20which%20saves%20time.)

[devDependencies vs Dependencies in React] (https://medium.com/@reemshakes/devdependencies-vs-dependencies-in-reactjs-db7261e13012)