Historia Front-endu
Pamiętasz ważne wydarzenia w “dziejach” Front-endu? Z chęcią je dodam!
Więcej na temat historii JavaScript przeczytasz w tym artykule.
2024
2024-10-04
— Node.js v232024-09-09
— TypeScript v5.62024-06-26
— Zatwierdzenie specyfikacji ECMAScript 2024 🎉Array.prototype.at()
Object.groupBy()
Map.groupBy()
Temporal.PlainDate()
Temporal.PlainTime()
Temporal.PlainMonthDay()
Temporal.PlainYearMonth()
Promise.withResolvers()
- Top-Level Await
- Well-formed Unicode Strings
- Class Fields and Static Properties
- WeakRefs
- Import Assertions
- RegExp Match Indices
2024-06-20
— TypeScript v5.52024-04-24
— Node.js v222024-03-06
— TypeScript v5.4
2023
2023-11-20
— TypeScript v5.32023-10-17
— Node.js v212023-08-24
— TypeScript v5.22023-07-22
— Jasmine v5.1.02023-06-27
— Zatwierdzenie specyfikacji ECMAScript 2023 🎉Array.prototype.toSorted
Array.prototype.toSpliced
Array.prototype.toReversed
Array.prototype.with
Array.prototype.findLast
Array.prototype.findLastIndex
- Support for
#!
comments at the beginning of files to better facilitate executable ECMAScript files - Allowed the use of most Symbols as keys in weak collections
2013-06-22
— Svelte v4.0.02023-06-20
— New W3C website - Article about changes2023-06-01
— TypeScript v5.12023-05-14
— Jasmine v5.0.02023-05-13
— Angular v162023-04-18
— Node.js v202023-03-16
— TypeScript v5.02023-02-20
— Babel.js v7.21.0
2022
2022-12-16
— RxJS v7.8.02022-12-09
— Vite v4.0.02022-12-07
— Cypress v122022-11-16
— Angular v152022-11-15
— TypeScript v4.92022-11-08
— Cypress v112022-10-30
— Jasmine v4.5.02022-10-27
— Babel.js v7.20.0- Support
TypeScript v4.9
- Support
Deno
as a compilation target
- Support
2022-10-18
— Node.js v192022-09-25
— Jest v29.0.02022-08-25
— TypeScript v4.82022-07-13
— Vite v3.0.02022-06-22
— Zatwierdzenie specyfikacji ECMAScript 2022 🎉- instance class fields
- static class fields
- private class methods
- Ergonomic brand checks for private fields
- class static initialization blocks
- Error Cause
Array.prototype.at()
Object.hasOwn()
2022-06-02
— Angular v142022-06-01
— Cypress v102022-05-24
— TypeScript v4.72022-04-25
— Jest v28.0.02022-04-19
— Node.js v182022-04-18
— Redux v4.2.02022-03-29
— React v182022-02-28
— TypeScript v4.62022-02-26
— Backbone v1.4.12022-01-01
— Jasmine v4
2021
2021-11-17
— TypeScript v4.52021-11-10
— Cypress v92021-11-04
— Angular v13- without
View Engine
- Remove support for IE11
- without
2021-10-19
— Node.js v172021-10-09
— ESLint v8.02021-08-26
— TypeScript v4.42021-08-21
— Jasmine v3.9.02021-08-10
— Webpack v5.50.02021-08-03
— Redux v4.1.12021-07-20
— RxJS v7.3.02021-07-19
— Cypress v82021-07-02
— Jasmine v3.8.02021-07-01
— Zatwierdzenie specyfikacji ECMAScript 2021 🎉String.prototype.replaceAll
Promise.any()
- Weak References (
WeakRef
,FinalizationRegistry
) - Logical Assignment (
||=
,&&=
,??=
) - Numeric separators (1_000_000)
2021-05-26
— TypeScript v4.32021-05-13
— Angular v12- Deprecated support for IE11
2021-04-29
— RxJS v72021-04-24
— Redux v4.1.02021-04-20
— Node.js v162021-04-05
— Cypress v72021-03-18
— Jasmine v3.7.02021-02-23
— TypeScript v4.2
2020
2020-??-??
— WCAG v2.22020-11-23
— Cypress v62020-11-19
— TypeScript v4.12020-11-11
— Angular v112020-10-20
— React v172020-10-20
— Node.js v152020-10-10
— Webpack v5.02020-09-18
— Vue v3.0.02020-08-20
— TypeScript v4.02020-08-19
— Cypress v52020-07-24
— Jasmine v3.6.02020-06-25
— Angular v102020-06-17
— Zatwierdzenie specyfikacji ECMAScript 2020 🎉String.prototype.matchAll
import()
import.meta
BigInt
– arbitrary precision integersPromise.allSettled()
globalThis
- for-in mechanics
- Optional chaining (
object?.prop
) - Nullish coalescing Operator (
value ?? ''
) export * as ns from "mod";
2020-05-13
— Deno v1.02020-05-12
— TypeScript v3.92020-04-21
— Node.js v142020-02-26
— React v16.13.02020-02-20
— TypeScript v3.82020-02-20
— ESLint v7.02020-02-06
— Cypress v42020-02-06
— Angular v9.0
2019
2019-12-07
— Druga edycja konferencji ConFrontJS2019-11-05
— TypeScript v3.72019-10-22
— Node.js v132019-09-21
— Jasmine v3.5.02019-09-11
— 5. urodziny WarsawJS2019-08-08
— React v16.9.0- React.Profiler
2019-07-??
— Zatwierdzenie specyfikacji ECMAScript 2019 🎉Object.fromEntries()
String.prototype.{trimLeft, trimRight, trimStart, trimEnd}
Array.prototype.{flat, flatMap}
Symbol.prototype.description
- Optional catch binding
- JSON superset
- Well-formed
JSON.stringify()
2019-05-28
— HTML5 przestaje istnieć! W3C ogłosiło rozpoczęcie współpracy z WHATWG na rzecz rozwoju jednego, wspólnego standardu HTML i DOM.2019-05-28
— Angular v82019-04-23
— Node.js v122019-04-21
— Svelte v3.0.02019-02-19
— Backbone v1.4.02019-02-06
— React v16.8.0- React Hooks
2018
2018-10-29
— Pierwsza edycja konferencji ConFrontJS2018-10-23
— Node.js v112018-10-18
— Angular v72018-09-12
— 4. urodziny WarsawJS2018-08-27
— Babel.js v72018-07-30
— TypeScript v32018-06-29
— Zatwierdzenie specyfikacji ECMAScript 2018 🎉- Object rest properties
- Object spread properties
Promise.prototype.finally
- RegExp (named capture groups, lookbehind assertions, unicode property escapes)
- for-await-of loops
- Template literal revision
2018-06-05
— WCAG v2.12018-05-29
— Cypress v32018-05-24
— Ósma edycja konferencji Front-Trends2018-05-04
— Angular v62018-04-24
— Node.js v102018-04-19
— Svelte v2.0.02018-04-17
— Redux v42018-02-25
— Webpack v4.02018-02-15
— Cypress v22018-02-06
— Jasmine v3
2017
2017-12-14
— Zatwierdzenie specyfikacji HTML 5.22017-12-14
— WAI-ARIA v1.12017-11-01
— Angular v52017-10-31
— Node.js v92017-10-30
— Zatwierdzenie specyfikacji HTML 5.12017-10-09
— Cypress v12017-09-26
— React v162017-09-13
— 3. urodziny WarsawJS2017-06-??
— Zatwierdzenie specyfikacji ECMAScript 2017 🎉- Async/await
Object.{values, entries, getOwnPropertyDescriptors}
String.prototype.{padStart, padEnd}
- Shared memory and atomics
2017-06-19
— Webpack v3.02017-05-30
— Node.js v82017-05-24
— Siódma edycja konferencji Front-Trends2017-04-21
— Uruchomienie agregatu polskich blogów Polski Front-end2017-01-31
— Pierwsza edycja Gamedev.js Warszawa
2016
2016-12-13
— Angular v42016-12-04
— Pierwsza edycja WarsawJS Workshop ❤️2016-11-29
— Svelte v1.0.02016-10-25
— Node.js v72016-10-11
— Nowy package manager yarn2016-09-22
— TypeScript v2.02016-09-14
— 2. urodziny WarsawJS2016-06-17
— Zatwierdzenie specyfikacji ECMAScript 2016 🎉- Operator potęgowania
**
Array.prototype.includes
- Operator potęgowania
2016-06-09
— jQuery v32016-05-18
— Szósta edycja konferencji Front-Trends2016-04-29
— Powstanie projektu redux-observable2016-04-26
— Node.js v62016-04-07
— React v152016-04-05
— Backbone v1.3.32016-02-05
—Angular.js v1.5.0
2016-01-12
— Lodash v4.0.0
2015
2015-10-29
— Node.js v52015-10-29
— Babel.js v62015-09-16
— 1. urodziny WarsawJS2015-09-08
— Node.js v42015-09-03
— Backbone v1.2.32015-06-17
— Zatwierdzenie specyfikacji ECMAScript 2015 🎉- Arrow Functions
Array.isArray()
Array.from()
Array.of()
Array.prototype.copyWithin()
Array.prototype.find()
Array.prototype.findIndex()
Array.prototype.fill()
Array.prototype.keys()
Array.prototype.values()
Array.prototype.entries()
- Template Literals
- Scoping:
let
,const
- Extended Parameter Handling
- Spread Operator
- Rest Parameters
- Enhanced Object Properties
- Property Shorthand
- Computed Property Names
- Method Properties
- Destructuring Assignment
- Classes
- Modules
- Symbol Type
- Iterators
- Generators
- Map/Set & WeakMap/WeakSet
- Typed Arrays
Int8Array
,Int16Array
,Int32Array
Uint8Array
,Uint8ClampedArray
,Uint16Array
,Uint32Array
Float32Array
,Float64Array
DataView
’s &ArrayBuffer
’s
- New Built-In Methods:
Object.assign()
Array.prototype.findIndex
String.prototype.startsWith
String.prototype.endsWith
Math.trunc()
Math.sign()
Number.isSafeInteger()
Number.isNaN()
Number.isFinite()
- Promises
- Meta-Programming: Proxy, Reflect
- Internationalization & Localization
- Arrow Functions
2015-06-02
— Powstanie projektu Redux2015-05-29
— Pierwsza stabilna wersja bibliotekiPolymer
2015-05-06
— Piąta edycja konferencji Front-Trends2015-03-31
— Babel.js v52015-01-26
— Lodash v3.0.0
2014
2014-10-28
— Zatwierdzenie specyfikacji HTML 5.02014-09-16
— Pierwsza edycja WarsawJS Meetup ❤️2014-05-07
— Czwarta edycja konferencji Front-Trends2014-04-09
— Express.js v4.0.02014-04-02
— TypeScript v1.02014-03-20
— WAI-ARIA v1.02014-02-19
— Webpack v1.0
2013
2013-09-26
— Powstanie projektu Gulp2013-04-26
— Trzecia edycja konferencji Front-Trends2013-04-18
— jQuery v2- Usunięcie wsparcia do IE 6–8
2013-03-??
— CKEditor v1.02013-??-??
— Powstanie projektu ESLint2013-??-??
— Opublikowanie standardu ECMA-404 przez Ecma International, który zawierał opis formatuJSON
2012
2012-10-23
— Express.js v3.0.02012-07-12
— Przejście WHATWG do modelu HTML Living Standard (od teraz mamy 2 drogi: W3C i WHATWG)2012-06-14
—Angular.js v1.0.0
2012-04-26
— Druga edycja konferencji Front-Trends (byłem na niej)2012-04-23
— Powstanie projektu Lodash2012-03-10
— Powstanie projektu Webpack2012-01-11
— Powstanie projektu Grunt
2011
2011-09-??
— Powstanie projektuCSS Foundation
2011-06-??
— Zatwierdzenie specyfikacji ECMAScript 5.1 🎉2011-06-07
— Zatwierdzenie specyfikacji CSS 2.12011-03-17
— Express.js v2.0.0
2010
2010-12-16
— Powstanie projektu JSHint2010-11-16
— Express.js v1.0.02010-10-20
— Powstanie frameworkaAngular.js
2010-10-13
— Pierwsza wersjaBackbone
2010-09-14
— Pierwsza wersjaJasmine
2010-04-26
— Pierwsza edycja konferencji Front-Trends2010-01-12
— Powstanie projektu npm 📦
2009
2009-12-03
— Zatwierdzenie specyfikacjiECMAScript 5
🎉- Strict Mode
- Getters, Setters
JSON.{parse,stringify}
- Object static methods
Object.{create,keys,freeze}
- Array methods
Array.prototype.{map,forEach}
- String methods
String.prototype.{trim}
- Date methods
Date.prototype.{toJSON}
Date.now
- Function methods
Function.prototype.bind
- Immutable globals
undefined
,NaN
,Infinity
2009-10-28
— Powstanie projektu Underscore.js2009-10-06
— Powstanie systemu szablonówMustache
2009-05-27
— Powstanie projektu Node.js2009-01-??
— Uruchomienie projektu CommonJS, który miał za zadanie wprowadzić standard formatu bibliotek
2008
2008-12-11
— WCAG 2.02008-08-15
— Uruchomienie portaluStackOverflow
2008-08-02
— Pierwsza stabilna wersja przeglądarkiGoogle Chrome
2007
- Nic ciekawego się nie wydarzyło. Na pewno?
- Jeśli coś interesującego wydarzyło się w tym roku, daj znać.
2006
2006-08-26
— jQuery v12006-04-05
— Zatwierdzenie specyfikacjiXMLHttpRequest
2005
2005-02-08
— Powstanie projektuGoogle Maps
2005-??-??
— Powstanie projektu MDN
2004
2004-07-04
— Powstanie grupy standaryzującej światu technologii webowych WHATWG (Web Hypertext Application Technology Working Group)2004-04-01
— Powstanie projektuGmail
2004-??-??
— PowstanieWHATWG
2004-??-??
— Rozpoczęcie prac nad Web Applications 1.0 (pierwotna wersja HTML5)
2003
2003-03-??
— Pierwsza wersja CKEditor (wtedy znanego jakoFCKeditor
)2003-01-07
— Pierwsza stabilna wersja przeglądarkiSafari
2002
2002-??-??
— Powstanie projektu JSLint2002-09-23
— Pierwsza stabilna wersja przeglądarkiMozilla Firefox
2001
2001-??-??
— Zdefiniowanie formatuJSON
2001-05-31
— Zatwierdzenie specyfikacjiXHTML 1.1
2000
2000-01-26
— Zatwierdzenie specyfikacjiXHTML 1.0
1999
1999-12-24
— Zatwierdzenie specyfikacji HTML 4.11999-12-??
— Zatwierdzenie specyfikacjiECMAScript 3
🎉- Regular Expressions
try..catch
1999-05-05
— WCAG 1.0
1998
1998-06-??
— Zatwierdzenie specyfikacjiECMAScript 2
🎉1998-05-12
— Zatwierdzenie specyfikacji CSS 21998-??-??
— Uruchomienie wyszukiwarkiGoogle Search
1997
1997-06-??
— Zatwierdzenie specyfikacjiECMAScript 1
🎉
1996
1996-12-17
— Zatwierdzenie specyfikacji CSS 11996-11-??
— Netscape Communications zgłosiło JavaScript doEcma International
jako standard, po to, aby inne przeglądarki mogły go zaimplementować1996-04-??
— Pierwsza stabilna wersja przeglądarkiOpera
1996-??-??
— Znacznika<iframe>
został dodany do przeglądarki Internet Explorer, aby załadować treść w sposób asynchroniczny
1995
1995-09-18
— Uruchomienie językaJavaScript
pierwszy raz w przeglądarce (Netscape Navigator)1995-08-23
— Pierwsza stabilna wersja przeglądarkiInternet Explorer
1995-05-23
— Stworzenie językaJavaScript
⭐️
Jeden z czytelników tego bloga - Comandeer - podesłał link do strony, na której jest pełna lista historii w świecie webu: https://thehistoryoftheweb.com/timeline/