Skip to content

serhiiboreiko/slides-javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slides-javascript

This is my slides and speech for NodeSchool report in Chernivtsi about JavaScript.

Slide 1

Всім привіт, мене звати Сергій і сьогодні я розкажу вам коротко про JavaScript і де його використовують.


Slide 2

Ну і раз так прийнято, давайте почнемо з самого початку, коли, ким і для чого був створений JavaScript?

У 1995 році в компанії Netscape, де на той час працював Брендан Айк, працювали над тим, щоб впровадити в браузер Netscape мову програмування.


Slide 3

Scheme.

Коли його перевели в команду, яка працює над клієнтською частиною він почав розробляти концепцію нової мови програмування.


Slide 4

Спочатку, мову назвали Mocha.


Slide 5

Тоді її перейменували у LiveScript.


Slide 6

Але оскільки на той час була дуже популярна така мова програмування, як Java. LiveScript перейменували у JavaScript, оскільки це мало б принести йому більше популярності. Але JavaScript немає ніякого відношення до Java.


Slide 7

У 1996 році компанія Microsoft випустила аналог мови JavaScript, та назвали вони його JScript.


Slide 8

Тоді Netscape провели стандартизацію і назвали її ECMAScript.


Slide 9

Особливості ядра мови JavaScript визначені у стандарті під назвою ECMA-262. Мова, яку визначає цей стандарт, називається ECMAScript, з якої JavaScript у браузерах та оточенні Node.js є надбудовою. У той час, коли браузери та Node.js можуть розширювати можливості за допомогою додаткових об’єктів та методів, ядро мови залишається таким, яким воно визначене у ECMAScript, тому розвиток ECMA-262 є життєво важливим для успіху JavaScript в цілому.


Slide 11

У 2007 році JavaScript опинився на роздоріжжі. Популярність Ajax породила нову епоху динамічних веб–додатків у той час, коли JavaScript не змінювався зі своєї третьої редакції ECMA-262, опублікованої у 1999 році.


Slide 12

TC-39, комітет відповідальний за розвиток ECMAScript, зібрав великий проект специфікації ECMAScript 4. ECMAScript 4 був всеохоплюючим, вносячи у мову як маленькі так і великі зміни. Нововведення включали новий синтаксис, модулі, класи, класичне наслідування, приватні методи, можливість оголошувати власні типи та інше.

Зміни, що охоплювали ECMAScript 4 викликали розкол у TC-39: деякі учасники вважали, що четверта редакція надто радикальна. Група лідерів з Yahoo, Google, та Microsoft запропонували альтернативу наступній версії ECMAScript, яку спочатку назвали ECMAScript 3.1. Версія «3.1» мала демонструвати поступові зміни у існуючому стандарті.

ECMAScript 3.1 вводив кілька синтаксичних змін, але не фокусувався на властивостях атрибутів, вбудованій підтримці JSON, додаванні методів до вже існуючих об’єктів. Хоча спочатку були спроби узгодити ECMAScript 3.1 та ECMAScript 4, зрештою це не вдалось, оскільки обидва табори мали вкрай різні погляди на те, в якому напрямку повинна розвиватись мова.

У 2008, Брендан Айк, творець JavaScript, анонсував, що TC-39 зосередить свої зусилля на стандартизації ECMAScript 3.1. Вони вирішили, що представлять мажорні синтаксичні та функціональні зміни ECMAScript 4 тільки після того, як нова версія ECMAScript буде стандартизованою, і всі члени комітету будуть працювати для того, щоб зібрати найкраще з ECMAScript 3.1 та 4 разом — ці зусилля були названі ECMAScript Harmony.

Зрештою, ECMAScript 3.1 був стандартизований п’ятою версією ECMA-262, також відомою як ECMAScript 5. Комітет ухвалив рішення не випускати стандарт ECMAScript 4, щоб уникнути плутанини зі стандартом, який мав таке ж ім’я, проте припинив своє існування.


Slide 13

Потім розпочалась робота над ECMAScript Harmony, а ECMAScript 6 став першим стандартом, випущеним у цьому новому «гармонійному» руслі.

ECMAScript 6 досягнув функціонально завершеного статусу у 2015 році та був офіційно названим «ECMAScript 2015» (хоча цей текст досі називає його ECMAScript 6, оскільки така назва більш звична розробникам). Нововведення варіюються від повністю нових об’єктів та патернів до синтаксичних змін, нових методів вже існуючих об’єктів. Найцікавіша річ у ECMAScript 6 — це те, що всі ці зміни спрямовані на проблеми, з якими безпосередньо зустрічаються розробники.


Slide 14

Пару слів про підтримку ECMAScript 6 браузерами.


Slide 15

Ну і звісно, куди без jQuery. Хотілося би відмінити участь цієї бібліотеки у розвитку JavaScript. І з однієї сторони це добре, що вона допомогла JavaScript змінитися в кращу сторону. Але я бачу деякі мінуси в її шаленій популярності. Вона стала такою популярною, що навіть зараз можна зустріти людей, які порівнюють JavaScript та jQuery. Або взагалі не вчать JavaScript а переходять зразу до jQuery. jQuery це всього навсього бібліотека. І без знань JavaScript її вивчати неможна. Хоча можливо це не мінус, можливо просто нам потрібно бути акуратнішими, коли ми хочемо вивчити щось нове і дуже швидко.


Slide 16

То де можна використовувати JavaScript? Та чому він такий унікальний?


Slide 17

JavaScript можна виконувати не тільки в браузері, взагалі ми можете його виконувати де завгодно, лиш вам для цього потрібна спеціальна програма - інтерпретатор.

Можливо ви чули такі слова як компіляція та інтерпретація. В чому різниця?

Компіляція - це коли вихідний код програми, за допомогою компілятора, перетворюється на іншу мову, зазвичай - в машинний код.

Інтерпретація - це коли вихідний код виконується "на ходу".

В усіх сучасних браузерах є інтерпретатор для JavaScript.

І до 2009 року його використовували лише у браузерах. Але...


Slide 18

У 2009 році на європейській конференції JSCONF. Чувачок, по імені Райан Дал розказав, як можна писати серверну частину сайту на JavaScript.


Slide 19

І тоді появився пакетний менеджер. NPM (Node Package Manager)

Також ви можете писати на JavaScript десктопні програми, для цього є Electron, писати нативні додатки, наприклад на React Native.


Slide 20

А в чому його унікальність?


Slide 21

Перша і основна причина його унікальності - він є у всіх браузерах, і для браузера можна писати лише на JavaScript. Є мови, які створювалися як заміна для JavaScript, наприклад CoffeeScript, TypeScript чи Dart. Але в кінці вам все рівно прийдеться транспілювати код на CoffeeScript, TypeScript чи Dart у код на JavaScript. Тому знання JavaScipt дуже важливі для веб-розробника, і взагалі без нього нікуди.


Slide 22

JavaScript повністю інтегрований з HTML/CSS.


Slide 23

З ним дуже легко працювати.


Slide 24

Майже.


Slide 25

Про підводні камені, на які ви можете натрапити вам розкаже Террі.


Slide 26

Якщо когось цікавлять слайди або оглядовий текст моєї доповіді. Ось QR-code для слайдів.


Slide 27

І ось саме посилання на книжку, яку перекладає Денис. Про новий стандарт ECMAScript 6.


Slide 28

Всім дякую за увагу.

About

This is my slides and speech for NodeSchool speak in Chernivtsi about JavaScript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published