Computer Basics - III
Link to part 1 - Computer Basics - I
Link to part 2 - Computer Basics - II
HTML, CSS & DOM
HTML and CSS are the languages of the web. These languages are also essential if you want to become a Frontend-Developer/Engineer. HTML has tags which are seen as elements in the web browsers. There are -
- div tags (<div></div>) which creates a container.
- input tags (<input type="text"/> which creates a textbox.
- image tag (<img/>) which adds an image to a particular area
To learn HTML & CSS in detail you can read this book - W3Schools.
DOM can stand for Document Object Model, a programming interface that represents HTML or XML documents as a tree structure.
- Document is the webpage that you end up seeing in the browser.
- Objects (or nodes) are each of the individual HTML elements that build that webpage
- Model is the hierarchy of how those elements are laid out
The blue nodes represented as a tree structure in the picture is known as the DOM structure.
How a page becomes interactive using JavaScript-
- Backend languages - C++, C#, Java, Python, Nodejs, Ruby
- Backend Frameworks - Express (of node.js), Rails (of Ruby), Django (of Python), Hapi (of node.js), Flask (of Python)
- Frontend languages - HTML, CSS, JavaScript, ES6, Saas, Less (compiled CSS), TypeScript(compiled JavaScript)
- Frontend Frameworks - React, Vue.js, Angular(version 2 of Angular and beyond), Bootstrap, Angular.js( version 1 of Angular)
Component based Architecture (CBA)
In coding there is no one way of writing your code, this is where coding conventions and software architectures come into play.
In web development it refers to the individual pieces of code coming together to form one functioning web page. Example -
The model(M) retrieves and manipulates data, the view(V) is the visuals that display the content and data retrieved from the model and the controller(C) ties the model and view together.
The parent component would contain the MVC, and the child component would contain just the V and C.
When we scale a system there are two types-
- Vertical - Add more power (CPU, RAW, Hard Drive) to the existing machine
- Horizontal - Add more machines into your pool of resources
This therefore allows users to use websites without loading whole new pages from the server, which can result in performance gains and a more dynamic experience, with some tradeoff disadvantages such as SEO, more effort required to maintain state, implement navigation, and do meaningful performance monitoring
Comments
Post a Comment