Basics of Web
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4292711/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4292712/pasted-from-clipboard.png)
About me
- Software Engineer for 10+ years
- Full Stack JS Dev
- Enjoy my work
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4292732/image.jpg)
What is Web?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4292796/pasted-from-clipboard.png)
Connecting computers
Connecting people
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4292820/pasted-from-clipboard.png)
Protocols://
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4292967/pasted-from-clipboard.png)
HTTP
(HyperText Transfer Protocol)
Requests the 'HTML' document from the server and serves it to the browser.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293161/pasted-from-clipboard.png)
AJAX requests
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4762458/pasted-from-clipboard.png)
HTTPS
(HTTP Secure)
Provides bidirectional encryption of communications between a client and server.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293137/pasted-from-clipboard.png)
HTML
(HyperText Markup Language)
The language that we write our web pages in.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293153/pasted-from-clipboard.png)
CSS
(Cascading Style Sheets)
Describes how HTML elements should be displayed.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293209/pasted-from-clipboard.png)
JavaScript
A programming language that adds interactivity to your website.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293258/pasted-from-clipboard.png)
A look into the past
Web 1.0
(The shopping carts & static web)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293268/pasted-from-clipboard.png)
Web 1.0 can be defined as:
- Pages and documents
- Linking webpages with hyperlinks
- Static pages
- Retrieve information
Web 2.0
(The writing and participating web)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293276/pasted-from-clipboard.png)
Web 2.0 can be defined as:
- Social networking
- Information sharing
- Dynamic user generated content
- Collaboration
Web 3.0
(The semantic executing web)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293287/pasted-from-clipboard.png)
"Web of data"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293293/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293295/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293297/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293300/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4293305/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760108/pasted-from-clipboard.png)
Web x.0
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760112/pasted-from-clipboard.png)
Web development
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760142/pasted-from-clipboard.png)
Front-End / Back-end
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760148/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760155/pasted-from-clipboard.png)
Front-end
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760156/pasted-from-clipboard.png)
HTML
1. Semantics
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4297962/pasted-from-clipboard.png)
<div> soup
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298018/pasted-from-clipboard.png)
Much better
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298019/pasted-from-clipboard.png)
2. Accessibility
Accessibility points
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298048/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298065/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298066/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298067/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298068/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298051/pasted-from-clipboard.png)
Lighthouse
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298056/pasted-from-clipboard.png)
3. HTML Forms
<div>
<div>Email</div>
<input id="email" type="email">
<div>Password</div>
<input id="password" type="password">
<button id="submit" onclick="doSomeStuff()">Submit</button>
</div>
<script>
function doSomeStuff() {
const emailEl = document.getElementById('email');
const passwordEl = document.getElementById('password');
// ...
nextHandler({ email: emailEl.value, password: passwordEl.value });
}
</script>
Form without <form> 🤔
Correct way with <form> ☺️
<form onsubmit="doSomeStuff()">
<label for="email">Email</label>
<input
id="email"
name="email"
type="email"
autocomplete="email"
placeholder="email@example.com"
required
>
<label for="password">Password</label>
<input
id="password"
name="password"
type="password"
autocomplete="current-password"
required
>
<button type="submit">DO SOME STUFF</button>
</form>
CSS
Mature enough technology
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298061/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298073/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298077/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298084/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298088/pasted-from-clipboard.png)
CSS cool things
- Flexbox
- Grid Layout
- Custom properties
- Houdini
- Animations
Houdini: Demystifying CSS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4762491/pasted-from-clipboard.png)
Is Houdini ready yet?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4762500/pasted-from-clipboard.png)
100 days CSS challenge
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760200/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4308999/pasted-from-clipboard.png)
PostCSS
Autoprefixer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760204/pasted-from-clipboard.png)
CSSNext
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760205/pasted-from-clipboard.png)
CSS Modules
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760206/pasted-from-clipboard.png)
Stylelint
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760210/pasted-from-clipboard.png)
JavaScript
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298132/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298144/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4762516/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4762519/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4762524/pasted-from-clipboard.png)
Standards Evolution
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298155/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298161/pasted-from-clipboard.png)
Libraries / Frameworks
- jQuery
- Backbone
- Knockout
- Ember
- AngularJS
- Angular
- React
- Vue
- ∞
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298176/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298178/pasted-from-clipboard.png)
Put here any technology
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760219/pasted-from-clipboard.png)
FE development stack
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760224/pasted-from-clipboard.png)
FE development stack
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760231/pasted-from-clipboard.png)
Angular
"How I've stopped believing the technologies"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760132/pasted-from-clipboard.png)
What shall you do?
Learning
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760235/pasted-from-clipboard.png)
Take interactive courses
- HTML Academy
- Code Academy
- Codewars
- ∞
Watch video lessons, screencasts, reports
- All your HTML
- Google Chrome Developers
- Chris Coyier
- Rob Dodson
- HTML Shorts
- ∞
Learn English
- Lingualeo
- English & by-time
- Read documentation
- Listen to English speakers
- Watch videos in English
- Write documentation
Read Specifications
- W3C (World Wide Web Consortium)
- WHATWG (Web Hypertext Application Technology Working Group)
- CSSWG (CSS Working Group)
- TC39 (Technical Committee 39)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298235/pasted-from-clipboard.png)
Write your own library
- Parallax
- Slider
- Dropdown menu
- Tabs
- Write good ReadMe
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760237/pasted-from-clipboard.png)
As for production
- Responsive
- Cross-browser
- Valid
- Accessible
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760241/pasted-from-clipboard.png)
Weblind
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298253/pasted-from-clipboard.png)
Try different API
- Write your own Telegram bot
- Play with Google Maps
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4760244/pasted-from-clipboard.png)
Listen to podcasts
- Web Standards
- Frontend Weekend
- devSchacht
- RadioJS
- ∞
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298260/pasted-from-clipboard.png)
Your health is not infinite
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4759949/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298263/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4298264/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/782536/images/4309904/pasted-from-clipboard.png)
This presentation
Basics of Web
By Nikita Malik
Basics of Web
About history of the Web, modern technologies and missions of web developers.
- 955