Page 316 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 316

А
                                                                        ГЛ В А 20
                                                   П л а т о р м а        N o d e
                                                            ф











          Вплоть  до  2009  года  JavaScript  был  почти  исключительно  языком  сценариев
       для браузеров.1 В 2009 году разработчик компании Joyent по имени Райан Дал (Ryan
       Dahl), расстроенный из-за состояния серверных опций, создал  Node.  Платформа
       Node была принята молниеносно и стала популярной даже на достаточно консерва­
       тивном корпоративном рынке.
          Т е м, кому JavaScript понравился как язык, платформа Node позволила использовать
       его для задач, традиционно связанных с другими языками. Для веб-разработчиков
       привлекательность оказалась куда сильнее, чем просто выбор языка.  Возможность
       писать серверный код на JavaScript означает единообразную ср еду программирования.
       Больше не нужно в уме переключать контексты выполнения программ, вам не нужны
       специалисты по другим серверным технологиям и (что, возможно, важнее всего) один
       и тот же код можно запускать как на сервере, так и на клиенте.
          Хотя платформа Node была предназначена для того,  чтобы  сделать возможной
       разработку веб-приложений, ее перенос на сервер неожиданно обеспечил другое не­
       традиционное использование, такое как разработка приложений для рабочего стола
       и системных сценариев. В некотором смысле платформа Node позволила JavaScript
       повзрослеть и укрепиться.


       Основные  р и н ц и п ы      N o de
                     п
          Написание  приложений  для  Node  ничем  не отличается  от написания  любых
       других приложений на JavaScript.  Я  не хочу сказать, что вы можете просто взять
       любую JavaScript-пpoгpaммy для браузера и  запустить ее в среде Node, поскольку
       в коде JavaScript для браузера используется API, специфичное для браузера. В част­
       ности, в Node нет никакого DOM (зачем он нужен, ведь никакого НТМL-документа
       нет и в помине!). Аналогично в Node есть свой интерфейс  API, который специфи­
       чен для Node и не поддерживается в браузере. Некоторые вещи, такие как прямые


       1 Попытки создания серверного  JavaScript  предпринимались  и  до  Node;  в  частности,  Netscape
       Enterprise Server поддерживал серверный JavaScript уже в 1995 году. Однако серверный JavaScript не
       получил распространения до 2009 года, когда появилась Node.
   311   312   313   314   315   316   317   318   319   320   321