Node js Разработка серверных веб-приложений на JavaScript



Download 461,67 Kb.
Pdf ko'rish
bet12/15
Sana08.07.2022
Hajmi461,67 Kb.
#757764
TuriКнига
1   ...   7   8   9   10   11   12   13   14   15
Bog'liq
nodejsrazrabotkaservernyhveb-prilozheniynajavascript

Серверный JavaScript
Хватит чесать в затылке. Ведь именно этим вы сейчас и занимаетесь, правда? – 
чешете затылок и бормочете: «Что браузерному языку делать на сервере?» Но на 
самом-то деле у JavaScript есть долгая и мало кому известная история применения 
вне браузера. JavaScript – язык программирования, такой же, как любой другой, 
поэтому правильнее было бы спросить: «Почему JavaScript должен быть замуро-
ван в браузере?»
На заре эры веб инструменты для создания веб-приложений находились еще 
в зачаточном состоянии. Кто-то экспериментировал с написанием CGI-скриптов 
на Perl или на TCL, языки PHP и Java еще только разрабатывались, и даже Java-
Script применялся на стороне сервера. Одним из первых серверов приложений был 
LiveWire от компании Netscape, и в нем использовался JavaScript. В некоторых вер-
сиях технологии Microsoft ASP использовался язык JScript, версия Java Script от 
Microsoft. Из относительно недавних серверных проектов, в которых используется 
JavaScript, назовем каркас разработки приложений RingoJS , популярный в мире 
Java. Он построен на базе Rhino – реализации JavaScript, написанной на Java. 
Node дополняет картину ранее невиданной комбинацией – сочетанием быст-
рого событийно-ориентированного механизма ввода/вывода и быстрого движка 
JavaScript, такого как V8, используемого в браузере Google Chrome.
Почему имеет смысл 
использовать Node?
Язык JavaScript очень популярен благодаря присутствию в любом веб-брау-
зере. Он ни в чем не уступает другим языкам, но при этом поддерживает многие 
современные представления о том, каким должен быть язык программирования. 
Благодаря широкому распространению имеется немало опытных программистов 
на JavaScript.
Это динамический язык со слабо типизированными, динамически расширяе-
мыми объектами, которые неформально объявляются по мере необходимости. 
Функции в нем являются полноценными объектами и обычно используются 
в виде анонимных замыканий. Это делает JavaScript более мощным языком, по 
сравнению с некоторыми другими, часто применяемыми для разработки веб-
приложений. Теоретически наличие подобных возможностей должно повышать 
продуктивность программистов. Но скажем откровенно: споры между сторонни-


19
Архитектура: потоки или асинхронный ввод/вывод
ками динамических и статических языков, а также строгой и слабой типизации до 
сих пор не утихли и вряд ли когда-нибудь утихнут.
Один из основных недостатков JavaScript – Глобальный Объект . Все пере мен-
ные верхнего уровня «сваливаются» в Глобальный Объект, и при использовании 
одновременно нескольких модулей это может привести к неуправляемому хаосу. 
Поскольку веб-приложения обычно состоят из множества объектов, возможно, 
создававшихся разными организациями, то может возникнуть опасение, будто 
программирование для Node сродни хождению по минному полю, нашпигованному 
конфликтующими между собой глобальными объектами. Однако это не так. На 
самом деле в Node используется система организации модулей CommonJS , а это 
означает, что локальные переменные некоторого модуля так и будут локальными 
в нем, пусть даже выглядят как глобальные. Такое четкое разграничение между 
модулями решает проблему Глобального Объекта.
Использование единого языка программирования на сервере и на клиенте 
давно уже было мечтой разработчиков для веб. Своими корнями эта мечта уходит в 
период становления Java, когда апплеты представлялись клиентским интерфейсом 
к написанным на Java серверным приложениям, а JavaScript первоначально 
виделся как облегченный скриптовый язык взаимодействия с апплетами. Но что-
то на этом пути не сложилось, и в результате не Java, а JavaScript стал основным 
языком на стороне клиента-браузера. С появлением Node мы наконец сможем 
реализовать мечту – сделать JavaScript языком, используемым по обе стороны 
веб – на стороне клиента и сервера.
У единого языка есть несколько потенциальных плюсов:
‰
одни и те же программисты могут работать над обеими сторонами прило-
жения;
‰
код проще переносить с сервера на клиент и обратно;
‰
общий для клиента и сервера формат данных (JSON);
‰
общий программный инструментарий;
‰
общие для клиента и сервера средства тестирования и контроля качества;
‰
на обеих сторонах веб-приложения можно использовать общие шаблоны 
представлений;
‰
общий язык общения между группами, работающими над клиентской и 
серверной частью.
Node упрощает реализацию этих (и других) достоинств, предлагая основа-
тельную платформу и активное сообщество разработчиков.

Download 461,67 Kb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   15




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish