Client-side, at its core, is all about managing, changing, moving, and updating the DOM (Document Object Model), a representation of the web page which is rendered, to present several different scenarios and client-side functionality like displaying dynamic content, moving images, adapting functionality for updating images, and even more, all of this related and interconnected to create a seamless experience and the UX (User Experience).
Several framework implementations have been developed for better and faster creation of web applications, such as React, VueJS, and Angular.
Along with these, several UI frameworks have been set too, which implement ready-to-use UI styles and look n’ feels that improve the user experience.
These two are the most common and allow you to implement external functionality with simple installation commands (for example, npm install axios).
Scripting for fun and profit
An essential distinction between scripting and other paradigms is that a script doesn’t necessarily need to be compiled.
It just needs to be read and executed by the machine (i.e., it doesn’t need to be transformed in any meaningful manner, differently from some other languages, for example, Java, which requires to transpile the code into Java Bytecode, depending on the executing environment). It’s just read and executed accordingly.
You can leverage this by clicking on the Console tab on top of it
And you can execute your first “Hello World” by writing:
And hitting enter.
One language to rule them all: Why JS?
The answer is: you don’t have to.
TypeScript and friends: an introduction to typed JS.
This problem is not found in other languages, such as Java, where the typing is static. The errors can be caught at build time and provide specific non-dynamic data structures and data types that allow for structured code.
This is done through an intermediary language called TypeScript.
This can often lead to people stopping coding and giving up learning to code entirely.
However, it doesn't have to be a different way, and you can implement several approaches to solve these issues and avoid falling into the trap of your own making.
Project Based Approach
Programming is a tool that you can use to improve your life and expand on the things you can do. For example, you can use programming to automate actions on a website you like; you can use programming to solve issues and make calculations in an automated manner or simply make something that didn't exist before.
Based on this fact, you can implement several projects into your life and learn to program simultaneously.
Your imagination is the limit, and different programs and libraries can ease the development speed of whatever project you intend to create.
The Feynman Technique
This is based on the "if you want to understand something, try to explain it simply." The angle of this technique is to explain something in simple terms. You take a concept and try to explain it simply, then you review what you wrote and check for inconsistencies and errors.
This way, you can fix issues in your reasoning and improve your understanding of that concept.
Resume and abstracts
Another technique you can use (that you probably used in school as well) is to make resumes and abstracts of the material you read and study, and that way, you can have a better concept on your own of whatever you're trying to learn.
You can learn a lot by joining a particular community of developers and contacting other like-minded people like yourself. Reddit and Facebook groups are places where developers often hang out and interchange questions and answers. The most crucial part is not to isolate yourself while learning to program.
Where to now?...
- https://www.w3schools.com/ This is an old-school learning platform where you can learn Web concepts and web development in general.
- https://www.codecademy.com/ is one of the best places to learn to program, where the website is tailored to your particular profile and will lead you through several lessons that will teach you programming in a fun interactive manner.