You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/1-intro/article.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Вступ до JavaScript
2
2
3
-
Давайте розглянемо, що такого особливого в мові JavaScript, чого ми можемо досягти за її допомогою та які ще технології пов’язані з нею.
3
+
Розгляньмо, що такого особливого в мові JavaScript, чого ми можемо досягти за її допомогою та які ще технології пов’язані з нею.
4
4
5
5
## Що таке JavaScript?
6
6
@@ -54,7 +54,7 @@
54
54
- Додавати новий HTML-код на сторінку, змінювати наявний вміст, змінювати стилі.
55
55
- Реагувати на дії користувача, опрацьовувати натискання миші, переміщення вказівника, натискання на клавіші клавіатури.
56
56
- Надсилати запити мережею до віддалених серверів, викачувати та надсилати файли (так звані технології [AJAX](https://uk.wikipedia.org/wiki/AJAX) і [COMET](https://uk.wikipedia.org/wiki/Comet_(програмування))).
57
-
- Отримувати і надсилати [куки](https://uk.wikipedia.org/wiki/Куки), ставити запитання відвідувачам, показувати повідомлення.
57
+
- Отримувати та надсилати [куки](https://uk.wikipedia.org/wiki/Куки), ставити запитання відвідувачам, показувати повідомлення.
58
58
- Запам’ятовувати дані на стороні клієнта ("[local storage](https://developer.mozilla.org/uk/docs/Web/API/Window/localStorage)"), які будуть доступні в майбутніх сесіях на цьому вебсайті.
59
59
60
60
## Що НЕ може JavaScript?
@@ -67,17 +67,17 @@
67
67
68
68
Сучасні браузери дозволяють працювати з файлами, але доступ до них обмежений і надається тільки тоді, коли користувач виконав відповідні дії, наприклад, перетягнув файл у вікно браузера чи вибрав його через теґ `<input>`.
69
69
70
-
Є шляхи взаємодії з камерою/мікрофоном та іншими пристроями, але для цього потрібен явний дозвіл користувача. Тому сторінка з JavaScript не може нишком увімкнути веб-камеру, спостерігати за оточенням і надсилати інформацію до [СБУ](https://uk.wikipedia.org/wiki/Служба_безпеки_України).
70
+
Є шляхи взаємодії з камерою/мікрофоном та іншими пристроями, але для цього потрібен явний дозвіл користувача. Тому сторінка з JavaScript не може нишком увімкнути вебкамеру, спостерігати за оточенням і надсилати інформацію до [СБУ](https://uk.wikipedia.org/wiki/Служба_безпеки_України).
71
71
- Різні вкладки/вікна зазвичай не знають одне про одного. Іноді це можливо, наприклад, коли одне вікно використовує JavaScript, щоб відкрити інше. Але навіть у такому випадку JavaScript з однієї сторінки не має доступу до іншої, якщо вони з різних сайтів (мають різні домени, протоколи чи порти).
72
72
73
73
Це називається "[Політикою того ж походження (Same Origin Policy)](https://uk.wikipedia.org/wiki/Політика_того_ж_походження)". Щоб обійти це обмеження, *обидві сторінки* мають погодитися на обмін даними та містити спеціальний JavaScript-код, який здійснюватиме це. Ми розглянемо цю тему в посібнику.
74
74
75
-
Знову-таки, це обмеження існує задля безпеки користувача. Сторінка за адресою `http://anysite.com`, яку відкрив користувач, не повинна мати доступу до іншої вкладки браузера з URL-адресою `http://gmail.com` і викрадати звідти інформацію.
76
-
- JavaScript може легко спілкуватися мережею з сервером, від якого отримана поточна сторінка. Але здатність скрипта отримувати дані з інших сайтів/доменів обмежена. Такі запити можливі, але потребують спеціальної згоди (вираженої в HTTP-заголовках) від віддаленого сервера. Це також зроблено з метою безпеки.
75
+
Знову-таки, це обмеження існує задля безпеки користувача. Сторінка за адресою `http://anysite.com`, яку відкрив користувач, не повинна мати доступ до іншої вкладки браузера з URL-адресою `http://gmail.com` і викрадати звідти інформацію.
76
+
- JavaScript може легко спілкуватися мережею з сервером, від якого отримана поточна сторінка. Але здатність скрипту отримувати дані з інших сайтів/доменів обмежена. Такі запити можливі, але потребують спеціальної згоди (вираженої в HTTP-заголовках) від віддаленого сервера. Це також зроблено задля безпеки.
77
77
78
78

79
79
80
-
Таких обмежень немає, якщо JavaScript використовується за межами браузера, наприклад, на сервері. Сучасні браузери дозволяють установлювати плаґіни/розширення, які мають розширені можливості, проте вимагають розширених прав.
80
+
Таких обмежень немає, якщо JavaScript використовується за межами браузера, наприклад, на сервері. Сучасні браузери дозволяють установлювати плагіни/розширення, які мають розширені можливості, проте вимагають розширених прав.
81
81
82
82
## Що робить мову JavaScript унікальною?
83
83
@@ -106,10 +106,10 @@ JavaScript -- це єдина браузерна технологія, яка с
106
106
107
107
Приклади таких мов:
108
108
109
-
-[CoffeeScript](http://coffeescript.org/) -- це "синтаксичний цукор" для JavaScript. Вона вводить коротший синтаксис, дозволяючи нам писати більш чіткий і точний код. Зазвичай це до вподоби програмістам, які пишуть на Ruby.
109
+
-[CoffeeScript](http://coffeescript.org/) -- це "синтаксичний цукор" для JavaScript. Вона вводить коротший синтаксис, дозволяючи нам писати прозорий та точний код. Зазвичай це до вподоби програмістам, які пишуть на Ruby.
110
110
-[TypeScript](http://www.typescriptlang.org/) зосереджена на додаванні "строгої типізації даних" для спрощення розробки та підтримки складних систем. Розробляється Microsoft.
111
111
-[Flow](http://flow.org/) також додає типізацію даних, але іншим способом. Розробляється Facebook.
112
-
-[Dart](https://dart.dev/) -- це автономна мова, яка має власний рушій, що працює в небраузерних середовищах (як-от мобільні застосунки), але також може транспілюватися в JavaScript. Розробляється Google.
112
+
-[Dart](https://dart.dev/) -- це автономна мова, яка має власний рушій, що працює в не браузерних середовищах (як-от мобільні застосунки), але також може транспілюватися в JavaScript. Розробляється Google.
113
113
-[Brython](https://brython.info/) -- це транспілятор коду Python у JavaScript, що дозволяє писати застосунки на чистому Python без використання JavaScript.
114
114
-[Kotlin](https://kotlinlang.org/docs/js-overview.html) -- це сучасна, лаконічна та безпечна мова програмування, яку можна компілювати для браузера або NodeJS.
115
115
@@ -118,5 +118,5 @@ JavaScript -- це єдина браузерна технологія, яка с
118
118
## Підсумки
119
119
120
120
- Мова JavaScript спочатку була створена лише як мова для браузера, але зараз її також використовують в інших середовищах.
121
-
- Сьогодні JavaScript позиціонується як найбільш поширена мова для браузера, яка повністю інтегрована з HTML/CSS.
121
+
- Сьогодні JavaScript вважається найбільш поширеною мовою для браузера, яка повністю інтегрована з HTML/CSS.
122
122
- Існує багато мов, які "транспілюються" в JavaScript і надають певні функції. Рекомендується переглянути їх, хоча б мигцем, після освоєння JavaScript.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/3-code-editors/article.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,14 +8,14 @@
8
8
9
9
Термін [IDE](https://uk.wikipedia.org/wiki/Інтегроване_середовище_розробки) (Інтегроване середовище розробки) означає потужний редактор з багатьма можливостями, що зазвичай працює з "цілим проєктом". Як зрозуміло з назви, це не тільки редактор коду, а повноцінне "середовище розробки".
10
10
11
-
IDE завантажує проєкт (який може мати багато файлів), дозволяє переключатися між файлами, надає можливість автозаповнення, яке базується на цілому проєкті (не лише на відкритому файлі), інтегрується із системою контролю версій (наприклад, [git](https://git-scm.com/)), надає можливість розгортання вашого проєкту на тестове середовище та багато інших функцій "на рівні проєкту".
11
+
IDE завантажує проєкт (який може мати багато файлів), дозволяє перемикатися між файлами, надає можливість автозаповнення, яке базується на цілому проєкті (не лише на відкритому файлі), інтегрується із системою контролю версій (наприклад, [git](https://git-scm.com/)), надає можливість розгортання вашого проєкту на тестове середовище та багато інших функцій "на рівні проєкту".
12
12
13
13
Якщо Ви досі не вибрали IDE, розгляньте наступні варіанти:
14
14
15
-
-[Visual Studio Code](https://code.visualstudio.com/) (багатоплатформний, безкоштовний).
15
+
-[Visual Studio Code](https://code.visualstudio.com/) (багатоплатформний, безплатний).
Для Windows, також може бути "Visual Studio", не плутайте з "Visual Studio Code". "Visual Studio" -- потужний платний редактор, який працює лише на Windows, добре підходить для програмування на платформі .NET. Також хороший для програмування на JavaScript. Також існує його безкоштовна версія: [Visual Studio Community](https://www.visualstudio.com/vs/community/).
18
+
Для Windows, також може бути "Visual Studio", не плутайте з "Visual Studio Code". "Visual Studio" -- потужний платний редактор, який працює лише на Windows, добре підходить для програмування на платформі .NET. Також хороший для програмування на JavaScript. Також існує його безплатна версія: [Visual Studio Community](https://www.visualstudio.com/vs/community/).
19
19
20
20
Багато IDE платні, проте мають пробний період. Їхня вартість зазвичай незначна в порівнянні із зарплатою кваліфікованого розробника. Правильний вибір редактора дозволить зберегти найцінніший ресурс -- ваш час. Тому просто виберіть найкращий варіант, який задовольнятиме усім вашим потребам.
21
21
@@ -27,12 +27,12 @@ IDE завантажує проєкт (який може мати багато
27
27
28
28
Головна їхня відмінність від IDE в тому, що IDE працює на рівні проєкту, тому він завантажує набагато більше даних під час запуску, і якщо потрібно, аналізує його структуру. Легкий редактор набагато швидший, якщо нам необхідно відредагували лише один файл.
29
29
30
-
На практиці, легкі редактори можуть мати багато плаґінів, включаючи аналізатори синтаксису на рівні проєкту, автозаповнення і т. д. Через те, що це значно розширює їх можливості, немає чіткої межі між легкими редакторами та IDE.
30
+
На практиці, легкі редактори можуть мати багато плагінів, включаючи аналізатори синтаксису на рівні проєкту, автозаповнення і т. д. Через те, що це значно розширює їх можливості, немає чіткої межі між легкими редакторами та IDE.
31
31
32
32
Ось ці варіанти заслуговують вашої уваги:
33
33
34
-
-[Sublime Text](http://www.sublimetext.com) (багатоплатформний, безкоштовний на час випробувального терміну).
0 commit comments