Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

ALL FOR WEB | ЯК БЕСПЛАТНО СТВОРИТИ САЙТ З НУЛЯ Введення в JavaScript


Давайте подивимося, що такого особливого в JavaScript, чому саме він, і які ще технології існують, крім JavaScript.

Що таке JavaScript?

JavaScript спочатку створювався для того, щоб зробити web-сторінки «живими». Програми на цій мові називаються скриптами . Вони підключаються безпосередньо до HTML і, як тільки завантажується сторінка - тут же виконуються. Програми на JavaScript - звичайний текст . Вони не вимагають якоїсь спеціальної підготовки. В цьому плані JavaScript сильно відрізняється від іншої мови, який називається Java.
Чому Java Script?
Коли створювався мову JavaScript, у нього спочатку була інша назва: «LiveScript». Але тоді був дуже популярний мову Java, і маркетологи вирішили, що схожу назву зробить нову мову більш популярним. Планувалося, що JavaScript буде таким собі «молодшим братом» Java. Однак, історія розпорядилася по-своєму, JavaScript сильно виріс, і зараз це абсолютно незалежний мову, зі свого специфікацією, яка називається CMAScript, і до Java не має ніякого відношення. У нього багато особливостей, які ускладнюють освоєння, але по ходу підручника ми з ними розберемося.
Щоб читати і виконувати текст на JavaScript, потрібна спеціальна програма - інтерпретатор. Процес виконання скрипта називають «інтерпретацією» .
Компіляція та інтерпретація, для програмістів
Строго кажучи, для виконання програм існують «компілятори» і «інтерпретатори». Компілятори перетворять програму в машинний код. Цей машинний код потім поширюється і запускається. А інтерпретатори, зокрема, вбудований JS-інтерпретатор браузера - отримують програму у вигляді вихідного коду. При цьому поширюється саме сам вихідний код (скрипт). Сучасні інтерпретатори перед виконанням перетворять JavaScript в машинний код або близько до нього, а вже потім виконують.
У всі основні браузери вбудований інтерпретатор JavaScript, саме тому вони можуть виконувати скрипти на сторінці. Але, зрозуміло, цим можливості JavaScript не обмежені. Це повноцінна мова, програми на якому можна запускати і на сервері, і навіть в пральній машинці, якщо в ній встановлений відповідний інтерпретатор.

Що вміє JavaScript?

Сучасний JavaScript - це «безпечний» мова програмування загального призначення. Він не надає низькорівневих засобів роботи з пам'яттю, процесором, так як спочатку був орієнтований на браузери, в яких це не потрібно. У браузері JavaScript вміє робити все, що відноситься до маніпуляції зі сторінкою, взаємодії з відвідувачем і, в якійсь мірі, з сервером:
  • Створювати нові HTML-теги, видаляти існуючі, міняти стилі елементів, ховати, показувати елементи і т.п.
  • Реагувати на дії відвідувача, обробляти кліки миші, переміщення курсору, натискання на клавіатуру і т.п.
  • Посилати запити на сервер і завантажувати дані без перезавантаження сторінки (ця технологія називається "AJAX").
  • Отримувати і встановлювати cookie, запитувати дані, виводити повідомлення ...
  • ... І багато, багато іншого!

Що НЕ ВМІЄ JavaScript?

JavaScript - швидкий і потужний мову, але браузер накладає на його виконання деякі обмеження . Це зроблено для безпеки користувачів, щоб зловмисник не міг за допомогою JavaScript отримати особисті дані або якось нашкодити комп'ютеру користувача. Цих обмежень немає там, де JavaScript використовується поза браузера, наприклад на сервері. Крім того, різні браузери надають свої механізми по установці плагінів і розширень, які володіють розширеними можливостями, але вимагають спеціальних дій по установці від користувача Більшість можливостей JavaScript в браузері обмежено поточним вікном і сторінкою. jslimit
  • JavaScript не може читати / записувати довільні файли на жорсткий диск, копіювати їх або викликати програми.Він не має прямого доступу до операційної системи.Сучасні браузери можуть працювати з файлами, але ця можливість обмежена спеціально виділеної директорією - «пісочницею» . Можливості по доступу до пристроїв також опрацьовуються в сучасних стандартах і частково доступні в деяких браузерах.
  • JavaScript, що працює в одній вкладці, не може спілкуватися з іншими вкладками і вікнами, за винятком випадку, коли він сам відкрив це вікно або декілька вкладок з одного джерела (однаковий домен, порт, протокол).Є способи це обійти, і вони розкриті в підручнику, але вони вимагають впровадження спеціального коду на обидва документи, які знаходяться в різних вкладках або вікнах. Без нього, з міркувань безпеки, залізти з однієї вкладки в іншу за допомогою JavaScript можна.
  • З JavaScript можна легко посилати запити на сервер, з якого прийшла сторінка. Запит на інший домен теж можливий, але менш зручний, бо і тут є обмеження безпеки.

У чому унікальність JavaScript?

Є як мінімум три чудових особливості JavaScript:
  • Повна інтеграція з HTML / CSS.
  • Прості речі робляться просто.
  • Підтримується всіма поширеними браузерами і включений за замовчуванням.
Цих трьох речей одночасно немає більше ні в одній браузерной технології. Тому JavaScript і є найпоширенішим засобом створення браузерних інтерфейсів.

Тенденції розвитку.

Перед тим, як ви плануєте вивчити нову технологію, корисно ознайомитися з її розвитком і перспективами. Тут в JavaScript все більш ніж добре.

HTML 5

HTML 5 - еволюція стандарту HTML, додає нові теги і, що більш важливо, ряд нових можливостей браузерам. Ось кілька прикладів:
  • Читання / запис файлів на диск (у спеціальній «пісочниці», тобто не будь-які).
  • Вбудована в браузер база даних, яка дозволяє зберігати дані на комп'ютері користувача.
  • Багатозадачність з одночасним використанням декількох ядер процесора.
  • Програвання відео / аудіо, без Flash.
  • 2d і 3d-малювання з апаратною підтримкою, як в сучасних іграх.
Багато можливості HTML5 все ще в розробці, але браузери поступово починають їх підтримувати.
Тенденція: JavaScript стає все більш і більш потужним і можливості браузера ростуть в сторону десктопних додатків.

ECMAScript

Сама мова JavaScript поліпшується. Сучасний стандарт EcmaScript 5 включає в себе нові можливості для розробки. Сучасні браузери покращують свої движки, щоб збільшити швидкість виконання JavaScript, виправляють баги і намагаються слідувати стандартам.
Тенденція: JavaScript стає все швидше і стабільніше.
Дуже важливо те, що нові стандарти HTML5 та ECMAScript зберігають максимальну сумісність з попередніми версіями. Це дозволяє уникнути неприємностей з вже існуючими додатками. Втім, невелика проблема з HTML5 все ж є. Іноді браузери намагаються включити нові можливості, які ще не повністю описані в стандарті, але настільки цікаві, що розробники просто не можуть чекати. ... Однак, з часом стандарт змінюється і браузерам доводиться підлаштовуватися до нього, що може привести до помилок у вже написаному (старому) коді. Тому слід двічі подумати перед тим, як застосовувати на практиці такі «супер-нові» рішення. При цьому всі браузери сходяться до стандарту, і відмінностей між ними вже набагато менше, ніж всього лише кілька років тому.
Тенденція: все йде до повної сумісності зі стандартом.

Недоліки JavaScript

Найчастіше, недоліки підходів і технологій - це зворотна сторона їх корисності. Чи варто дорікати молоток в тому, що він - важкий? Так, незручно, зате цвяхи забиваються краще. В JavaScript, однак, є цілком об'єктивні недоробки, пов'язані з тим, що мова, за висловом його автора (Brendan Eich) робився «за 10 безсонних днів і ночей». Тому деякі моменти продумані погано, є і відверті помилки (які визнає той же Brendan). Конкретні приклади ми побачимо надалі, т.к. їх зручніше обговорювати в процесі освоєння мови. Поки що нам важливо знати, що деякі «дивацтва» мови не є чимось дуже розумним, а просто не були достатньо добре продумані в свій час. У цьому підручнику ми будемо звертати особливу увагу на основні недоробки і «граблі». Нічого критичного в них немає, якщо знаєш - не наступити. У нових версіях JavaScript (ECMAScript) ці недоліки поступово прибирають. Процес впровадження нешвидкий, в першу чергу через старих версій IE, але вони поступово вимирають. Сучасний IE в цьому відношенні незрівнянно краще.

В избранное