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/1-getting-started/1-intro/article.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@
16
16
17
17
Планировалось, что JavaScript будет эдаким "младшим братом" Java. Однако, история распорядилась по-своему, JavaScript сильно вырос, и сейчас это совершенно независимый язык, со своей спецификацией, которая называется [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript), и к Java не имеет никакого отношения.
18
18
19
-
У него много особенностей, которые усложняют освоение, но по ходу учебника мы с ними разберемся.
19
+
У него много особенностей, которые усложняют освоение, но по ходу учебника мы с ними разберёмся.
20
20
[/smart]
21
21
22
22
JavaScript может выполняться не только в браузере, а где угодно, нужна лишь специальная программа -- [интерпретатор](http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80). Процесс выполнения скрипта называют "интерпретацией".
@@ -44,12 +44,12 @@ JavaScript может выполняться не только в браузер
44
44
45
45
Современный JavaScript -- это "безопасный" язык программирования общего назначения. Он не предоставляет низкоуровневых средств работы с памятью, процессором, так как изначально был ориентирован на браузеры, в которых это не требуется.
46
46
47
-
Что же касается остальных возможностей -- они зависят от окружения, в котором запущен JavaScript. В браузере JavaScript умеет делать все, что относится к манипуляции со страницей, взаимодействию с посетителем и, в какой-то мере, с сервером:
47
+
Что же касается остальных возможностей -- они зависят от окружения, в котором запущен JavaScript. В браузере JavaScript умеет делать всё, что относится к манипуляции со страницей, взаимодействию с посетителем и, в какой-то мере, с сервером:
48
48
49
49
<ul>
50
50
<li>Создавать новые HTML-теги, удалять существующие, менять стили элементов, прятать, показывать элементы и т.п.</li>
51
-
<li>Реагировать на действия посетителя, обрабатывать клики мыши, перемещение курсора, нажатие на клавиатуру и т.п. </li>
52
-
<li>Посылать запросы на сервер и загружать данные без перезагрузки страницы(эта технология называется "AJAX").</li>
51
+
<li>Реагировать на действия посетителя, обрабатывать клики мыши, перемещения курсора, нажатия на клавиатуру и т.п. </li>
52
+
<li>Посылать запросы на сервер и загружать данные без перезагрузки страницы(эта технология называется "AJAX").</li>
53
53
<li>Получать и устанавливать cookie, запрашивать данные, выводить сообщения...</li>
54
54
<li>...и многое, многое другое!</li>
55
55
</ul>
@@ -79,23 +79,23 @@ JavaScript -- быстрый и мощный язык, но браузер на
79
79
</li>
80
80
</ul>
81
81
82
-
## В чем уникальность JavaScript?
82
+
## В чём уникальность JavaScript?
83
83
84
84
Есть как минимум *три* замечательных особенности JavaScript:
85
85
86
86
[compare]
87
87
+Полная интеграция с HTML/CSS.
88
88
+Простые вещи делаются просто.
89
-
+Поддерживается всеми распространенными браузерами и включен по умолчанию.
89
+
+Поддерживается всеми распространёнными браузерами и включён по умолчанию.
90
90
[/compare]
91
91
92
92
**Этих трёх вещей одновременно нет больше ни в одной браузерной технологии.**
93
93
94
-
Поэтому JavaScript и является самым распространенным средством создания браузерных интерфейсов.
94
+
Поэтому JavaScript и является самым распространённым средством создания браузерных интерфейсов.
95
95
96
96
## Тенденции развития
97
97
98
-
Перед тем, как вы планируете изучить новую технологию, полезно ознакомиться с ее развитием и перспективами. Здесь в JavaScript всё более чем хорошо.
98
+
Перед тем, как вы планируете изучить новую технологию, полезно ознакомиться с её развитием и перспективами. Здесь в JavaScript всё более чем хорошо.
99
99
100
100
### HTML 5
101
101
@@ -124,7 +124,7 @@ JavaScript -- быстрый и мощный язык, но браузер на
124
124
125
125
Очень важно то, что новые стандарты HTML5 и ECMAScript сохраняют максимальную совместимость с предыдущими версиями. Это позволяет избежать неприятностей с уже существующими приложениями.
126
126
127
-
Впрочем, небольшая проблема "супер-современными штучками" всё же есть. Иногда браузеры стараются включить новые возможности, которые еще не полностью описаны в стандарте, но настолько интересны, что разработчики просто не могут ждать.
127
+
Впрочем, небольшая проблема с "супер-современными штучками" всё же есть. Иногда браузеры стараются включить новые возможности, которые ещё не полностью описаны в стандарте, но настолько интересны, что разработчики просто не могут ждать.
128
128
129
129
...Однако, со временем стандарт меняется и браузерам приходится подстраиваться к нему, что может привести к ошибкам в уже написанном, основанном на старой реализации, JavaScript-коде. Поэтому следует дважды подумать перед тем, как применять на практике такие "супер-новые" решения.
130
130
@@ -139,7 +139,7 @@ JavaScript -- быстрый и мощный язык, но браузер на
139
139
140
140
### Java
141
141
142
-
Java -- язык общего назначения, на нем можно писать самые разные программы. Для интернет-страниц есть особая возможность - написание *апплетов*.
142
+
Java -- язык общего назначения, на нём можно писать самые разные программы. Для интернет-страниц есть особая возможность - написание *апплетов*.
143
143
144
144
*Апплет* -- это программа на языке Java, которую можно подключить к HTML при помощи тега `applet`, выглядит это примерно так:
145
145
@@ -151,13 +151,13 @@ Java -- язык общего назначения, на нем можно пи
151
151
</applet>
152
152
```
153
153
154
-
Такой тег загружает Java-программу из файла `BTApplet.class` и выполняет ее с параметрами `param`. Апплет выполняется в отдельной части страницы, в прямоугольном "контейнере". Все действия пользователя внутри него обрабатывает апплет. Контейнер, впрочем, может быть и спрятан, если апплету нечего показывать.
154
+
Такой тег загружает Java-программу из файла `BTApplet.class` и выполняет её с параметрами `param`. Апплет выполняется в отдельной части страницы, в прямоугольном "контейнере". Все действия пользователя внутри него обрабатывает апплет. Контейнер, впрочем, может быть и спрятан, если апплету нечего показывать.
155
155
156
156
Конечно, для этого на компьютере должна быть установлена и включена среда выполнения Java, включая браузерный плагин. Кроме того, апплет должен быть подписан сертификатом издателя (в примере выше апплет без подписи), иначе Java заблокирует его.
157
157
158
158
**Чем нам, JavaScript-разработчикам, может быть интересен Java?**
159
159
160
-
В первую очередь тем, что подписанный Java-апплет может всё то же, что и обычная программа, установленая на компьютере посетителя. Конечно, для этого понадобится согласие пользователя при открытии такого апплета.
160
+
В первую очередь тем, что подписанный Java-апплет может всё то же, что и обычная программа, установленная на компьютере посетителя. Конечно, для этого понадобится согласие пользователя при открытии такого апплета.
161
161
162
162
[compare]
163
163
+Java может делать *всё* от имени посетителя, совсем как установленная программа. Потенциально опасные действия требуют подписанного апплета и согласия пользователя.
@@ -169,7 +169,7 @@ Java -- язык общего назначения, на нем можно пи
169
169
170
170
### Плагины и расширения для браузера
171
171
172
-
Все современные браузеры предоставляют возможность написать плагины. Для этого можно использовать JavaScript (Chrome, Opera, Firefox), так и язык С (ActiveX для Internet Explorer).
172
+
Все современные браузеры предоставляют возможность написать плагины. Для этого можно использовать как JavaScript (Chrome, Opera, Firefox), так и язык С (ActiveX для Internet Explorer).
173
173
174
174
Эти плагины могут как отображать содержимое специального формата (плагин для проигрывания музыки, для показа PDF), так и взаимодействовать со страницей.
175
175
@@ -179,14 +179,14 @@ Java -- язык общего назначения, на нем можно пи
179
179
180
180
Adobe Flash -- кросс-браузерная платформа для мультимедиа-приложений, анимаций, аудио и видео.
181
181
182
-
*Flash-ролик* -- это скомпилированная программа, написанная на языке ActionScript. Ее можно подключить к HTML-странице и запустить в прямоугольном контейнере.
182
+
*Flash-ролик* -- это скомпилированная программа, написанная на языке ActionScript. Её можно подключить к HTML-странице и запустить в прямоугольном контейнере.
183
183
184
184
В первую очередь Flash полезен тем, что позволяет **кросс-браузерно** работать с микрофоном, камерой, с буфером обмена, а также поддерживает продвинутые возможности по работе с сетевыми соединениями.
185
185
186
186
[compare]
187
187
+Сокеты, UDP для P2P и другие продвинутые возможности по работе с сетевыми соединениями
188
-
+Поддержка мультмедиа: изображения, аудио, видео. Работа с веб-камерой и микрофоном.
189
-
-Flash должен быть установлен и включен. А на некоторых устройствах он вообще не поддерживается.
188
+
+Поддержка мультимедиа: изображения, аудио, видео. Работа с веб-камерой и микрофоном.
189
+
-Flash должен быть установлен и включён. А на некоторых устройствах он вообще не поддерживается.
190
190
-Flash не интегрирован с HTML-страницей, а выполняется отдельно.
191
191
-Существуют ограничения безопасности, однако они немного другие, чем в JavaScript.
При этом разные языки выглядят по-разному и добавляют совершенно разные вещи:
209
209
210
210
<ul>
211
-
<li>Язык [CoffeeScript](http://coffeescript.org/) -- это "синтаксический сахар" поверх JavaScript, он сосредоточен на большей ясности и краткости кода. Как правило, его особенно любят программисты на Ruby.</li>
212
-
<li>Язык [TypeScript](http://www.typescriptlang.org/) сосредоточен на добавлении строгой типизации данных, он предназначен для упрощения разработки и поддержки больших систем. Его разрабатывает MicroSoft.</li>
211
+
<li>Язык [CoffeeScript](http://coffeescript.org/) -- это "синтаксический сахар" поверх JavaScript. Он сосредоточен на большей ясности и краткости кода. Как правило, его особенно любят программисты на Ruby.</li>
212
+
<li>Язык [TypeScript](http://www.typescriptlang.org/) сосредоточен на добавлении строгой типизации данных. Он предназначен для упрощения разработки и поддержки больших систем. Его разрабатывает Microsoft.</li>
213
213
<li>Язык [Dart](https://www.dartlang.org/) интересен тем, что он не только транслируется в JavaScript, как и другие языки, но и имеет свою независимую среду выполнения, которая даёт ему ряд возможностей и доступна для встраивания в приложения (вне браузера). Он разрабатывается компанией Google.</li>
Ведь наша цель -- создание хороших приложений, и здесь Flash, Java, ActiveX/NPAPI и браузерные расширения имеют свои уникальные возможности, которые можно использовать вместе с JavaScript.
232
232
233
-
Что же касается CoffeeScript, TypeScript и других языков, построенных над JavaScript -- они могут быть очень полезны, рекомендуется посмотреть их, хотя бы в общих чертах, но, конечно, после освоения самого JavaScript.
233
+
Что же касается CoffeeScript, TypeScript и других языков, построенных над JavaScript -- они могут быть очень полезны. Рекомендуется посмотреть их, хотя бы в общих чертах, но, конечно, уже после освоения самого JavaScript.
0 commit comments