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.
2025
2025-04-01— Backbone v1.6.12025-02-28— TypeScript v5.82025-02-08— Jasmine v5.6.02025-01-16— Cypress v14
2024
2024-12-05— React v192024-12-02— Jasmine v5.5.02024-11-26— Vite v6.0.02024-11-22— TypeScript v5.72024-11-19— Angular v192024-10-12— Jasmine v5.4.02024-10-19— Svelte v5.0.02024-10-04— Node.js v232024-09-10— Express.js v5.0.02024-09-09— TypeScript v5.62024-09-07— Jasmine v5.3.02024-07-20— Jasmine v5.2.02024-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-05-22— Angular v182024-04-24— Node.js v222024-04-05— ESLint v9.02024-03-06— TypeScript v5.42024-02-05— Backbone v1.6.0
2023
2023-12-04— Redux v5.0.02023-11-20— TypeScript v5.32023-11-16— Vite v5.0.02023-11-08— Angular v172023-10-17— Node.js v212023-08-29— Cypress v132023-08-24— TypeScript v5.22023-07-28— Backbone v1.5.02023-07-22— Jasmine v5.1.02023-06-27— Zatwierdzenie specyfikacji ECMAScript 2023 🎉Array.prototype.toSortedArray.prototype.toSplicedArray.prototype.toReversedArray.prototype.withArray.prototype.findLastArray.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
2023-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
Denoas 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.replaceAllPromise.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.matchAllimport()import.metaBigInt– 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.02016-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,Int32ArrayUint8Array,Uint8ClampedArray,Uint16Array,Uint32ArrayFloat32Array,Float64ArrayDataView’s &ArrayBuffer’s
- New Built-In Methods:
Object.assign()Array.prototype.findIndexString.prototype.startsWithString.prototype.endsWithMath.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 bibliotekiPolymer2015-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-06-30— Powstanie projektu ESLint2013-04-26— Trzecia edycja konferencji Front-Trends2013-04-18— jQuery v2- Usunięcie wsparcia do IE 6–8
2013-03-??— CKEditor v1.02013-??-??— 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.02012-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 Foundation2011-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.js2010-10-13— Pierwsza wersjaBackbone2010-09-14— Pierwsza wersjaJasmine2010-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ówMustache2009-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 portaluStackOverflow2008-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 Maps2005-??-??— 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 projektuGmail2004-??-??— PowstanieWHATWG2004-??-??— 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 formatuJSON2001-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 Internationaljako standard, po to, aby inne przeglądarki mogły go zaimplementować1996-04-??— Pierwsza stabilna wersja przeglądarkiOpera1996-??-??— Znacznika<iframe>został dodany do przeglądarki Internet Explorer, aby załadować treść w sposób asynchroniczny
1995
1995-09-18— Uruchomienie językaJavaScriptpierwszy raz w przeglądarce (Netscape Navigator)1995-08-23— Pierwsza stabilna wersja przeglądarkiInternet Explorer1995-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/