Если случится апокалипсис, то все мы будем вспоминать его начало в феврале 2005 г., когда появился картографический веб-сервис Google Maps и возник термин Ajax. После этого интерактивные веб-приложения нового поколения стали чрезвычайно модными. Принято считать, что комбинация JavaScript, DHTML и CSS буквально вдохнула новую жизнь во Всемирную паутину и вывела Веб 1.0 на следующую стадию своего развития: появился Веб 2.0.
Поддержка Ruby и Python на клиенте в Firefox 4
1 min
2.1KВ недрах Mozilla Foundation ведется разработка новой виртуальной машины Tamarin для выполнения ECMAScript. Ее планируют включить в четвертую версию Firefox, и, кроме того, уже есть планы по использованию исходных кодов этой виртуальной машины компанией Adobe в новых версиях ActionScript Virtual Machine для Adobe Flash Player.
25 июля в блоге одного из разработчиков появилась запись о том, что в числе новых проектов Mozilla Foundation ведутся работы над внедрением поддержки IronPython и IronRuby в виртуальной машине Tamarin с целью превратить ее в высокопроизводительную многоязыковую виртуальную машину.
Кроме того, в рамках проекта Tamarin ведётся работа над созданием библиотек, которые позволят организовать обработку тега <script> в других браузерах, например, в IE.
25 июля в блоге одного из разработчиков появилась запись о том, что в числе новых проектов Mozilla Foundation ведутся работы над внедрением поддержки IronPython и IronRuby в виртуальной машине Tamarin с целью превратить ее в высокопроизводительную многоязыковую виртуальную машину.
Кроме того, в рамках проекта Tamarin ведётся работа над созданием библиотек, которые позволят организовать обработку тега <script> в других браузерах, например, в IE.
ECMAScript4: обзор нового стандарта, фундамента JavaScript2
1 min
577В обновленном стандарте сетевого языка ECMAScript4 (ES4) учтены требования, возникшие при разработке все более крупных AJAX-, Flash и Flex-проектов. При этом одним из условий стандарта ES4 является совместимость с предыдущим стандартом, ES3.
Ссылки:
Ссылки:
- Читать подробнее о нововведениях ECMAScript4, по-русски.
- Скачать PDF ECMAScript 4th Edition – Language Overview, на английском.
Реализации ECMAScript 4
2 min
2.7KДостоверно известно о работе над исполнением ECMAScript 4 нескольких компаний. Вот список реализаций:
ES4 RI- это справочное исполнение, поддерживаемое технической группой ECMA, как информационная основа для других исполнителей.
Tamarin- это объединение усилий компаний Mozilla и Adobe для адаптирования Open Source Adobe Virtual Machine к языку ECMAScript 4 и запуску на следующих за Firefox 3 версия (через ActionMonkey), а также на Flash 10.
ECMAScript 4 Reference Implementation (ES4 RI)
ES4 RI- это справочное исполнение, поддерживаемое технической группой ECMA, как информационная основа для других исполнителей.
Tamarin
Tamarin- это объединение усилий компаний Mozilla и Adobe для адаптирования Open Source Adobe Virtual Machine к языку ECMAScript 4 и запуску на следующих за Firefox 3 версия (через ActionMonkey), а также на Flash 10.
Гармония ECMAscript
1 min
530Создатель языка JavaScript Брендан Эйч опубликовал в рассылке интересное письмо о будущем спецификации ECMAScript-262 после встречи в Осло. В обсуждении учавствовали представители Adobe, Google & MicroSoft, которые имеют собственные реализации этого стандарта (JavaScript, ActionScript, Rhino, JScript.NET).
Разработчики решили сконцентрироваться на версии 3.1 и отказаться от ряда возможностей, которые изначально предполагалось добавить в ES4: packages, namespaces & early binding. Под вопрос теперь так же поставлены классы, которые можно упростить до lambda-coding + Object.freeze.
ES 4 is dead, long live ES 3.1! AS 3 теперь сам себе хозяин.
Разработчики решили сконцентрироваться на версии 3.1 и отказаться от ряда возможностей, которые изначально предполагалось добавить в ES4: packages, namespaces & early binding. Под вопрос теперь так же поставлены классы, которые можно упростить до lambda-coding + Object.freeze.
ES 4 is dead, long live ES 3.1! AS 3 теперь сам себе хозяин.
Зачем Опере свой JS движок?
2 min
760Давно было интересно: зачем Опере писать собственный интерпретатор JavaScript, когда есть открытые альтернативы? SpiderMonkey, допустим, может быть проблемой из-за LGPL, но v8 — это BSD лицензия, для проприетарного ПО годится. Поинтересовался мнением людей. Говорят, самая вероятная причина — не хотят зависеть от стороннего разработчика. При этом Opera уже использует сторонний Aspell, хотя он, конечно, не является жизненно важной функцией.
Решил выяснить официальное мнение. JL ответил, что, с технической точки зрения, интеграция такого объёма чужого кода — большая работа. Поддержка всех операционных систем, на которых работает Opera, требует определённого проектирования и повышает требования к коду, и очень вероятно, что разработчики основного движка отказались бы принимать странные модификации в больших количествах, что привело бы к перманентному форку. Что возможно, но затраты сопоставимы с разработкой своего движка. Звучит разумно, хотя я и не знаю, на скольких платформах используется Carakan — кажется, мобильная Opera получает с сервера, грубо говоря, скриншоты с отмеченными ссылками, и скрипты там не работают?
Решил выяснить официальное мнение. JL ответил, что, с технической точки зрения, интеграция такого объёма чужого кода — большая работа. Поддержка всех операционных систем, на которых работает Opera, требует определённого проектирования и повышает требования к коду, и очень вероятно, что разработчики основного движка отказались бы принимать странные модификации в больших количествах, что привело бы к перманентному форку. Что возможно, но затраты сопоставимы с разработкой своего движка. Звучит разумно, хотя я и не знаю, на скольких платформах используется Carakan — кажется, мобильная Opera получает с сервера, грубо говоря, скриншоты с отмеченными ссылками, и скрипты там не работают?
Викторина для тех, кто любит Javascript больше ECMAscript
2 min
3.4KВикторина для тех, кто любит JavaScript больше ECMAScript. Главный приз: пирожок на полке.
Update: Пояснение. Для тех кто совсем не в теме. ECMAScript — это стандарт языка, на котором основаны реализации JavaScript в современных браузерах. Именно этот стандарт определяет поведение программ в этой статье. JavaScript является «надстройкой» над ECMAScript.
Пояснение номер 2. Глюки IE не имеют прямого отношения к викторине поскольку это ошибки (ну или «особенности») реализации стандартов.
Update: Пояснение. Для тех кто совсем не в теме. ECMAScript — это стандарт языка, на котором основаны реализации JavaScript в современных браузерах. Именно этот стандарт определяет поведение программ в этой статье. JavaScript является «надстройкой» над ECMAScript.
Пояснение номер 2. Глюки IE не имеют прямого отношения к викторине поскольку это ошибки (ну или «особенности») реализации стандартов.
Internet Explorer 9: наиболее полное руководство разработчика (и не только), часть 4
7 min
2.3Kчто еще нового в IE9 PP3, кроме canvas и video? Огромное описание, масса картинок.
![HeaderLeft[1] HeaderLeft[1]](http://www.gotdotnet.ru/upload/blog/XaocCPS/34a/HeaderLeft_1__af7f68ac-8518-4986-b125-36cadf758c50.png)
23 июня строго по графику (период 8 недель) вышла третья тестовая сборка IE9. На Хабре уже успели написать про этот релиз и в самых общих словах обрисовать нововведения. Кроме того, тут же на Хабре успели сравнить производительность canvas в IE9 и Chrome.
Этот пост раскроет значительно больше деталей третьей тестовой версии Internet Explorer 9 и расскажет о нововведениях в браузер, которые будут важны для разработчиков.
Это четвертая статья из серии статей про нововведения в IE9 для разработчиков. Ознакомится с предыдущими частями можно здесь: часть 1 (CSS3, HTML5, DOM), часть 2 (SVG, GPU), часть третья (профили ICC, форматы изображений, JavaScript).
![HeaderLeft[1] HeaderLeft[1]](http://www.gotdotnet.ru/upload/blog/XaocCPS/34a/HeaderLeft_1__af7f68ac-8518-4986-b125-36cadf758c50.png)
23 июня строго по графику (период 8 недель) вышла третья тестовая сборка IE9. На Хабре уже успели написать про этот релиз и в самых общих словах обрисовать нововведения. Кроме того, тут же на Хабре успели сравнить производительность canvas в IE9 и Chrome.
Этот пост раскроет значительно больше деталей третьей тестовой версии Internet Explorer 9 и расскажет о нововведениях в браузер, которые будут важны для разработчиков.
Это четвертая статья из серии статей про нововведения в IE9 для разработчиков. Ознакомится с предыдущими частями можно здесь: часть 1 (CSS3, HTML5, DOM), часть 2 (SVG, GPU), часть третья (профили ICC, форматы изображений, JavaScript).
Изменения Jscript и DOM в IE9 preview 3
6 min
599
Translation

ECMAScript 5 и JScript
Наибольшей новостью является та, что IE9pre3 имеет (почти) полную поддержку ES5. Под «полной поддержкой» подразумевается то, что уже сейчас включено большинство нового API, такого как, например, Object.create, Object.defineProperty, String.prototype.trim, Array.isArray, Date.now и много других дополнений. На сегодняшнее время IE9 поддерживает наибольшее количество методов, даже большее, чем последние версии Chrome, Safari и Firefox. Невероятно, не правда ли? :)
Опасности необязательных аргументов в JavaScript
7 min
13K
Translation
Моя последняя тема про “минус ноль” вызвала много интереса. По этому сегодня я собираюсь описать ещё одну особенность JavaScript, на что меня так же вдохновил твит:
Без попытки повторить это в браузере, что вернет следующий код?
["1", "2", "3"].map(parseInt);
Прототипы новых расширений стандарта JavaScript
3 min
5K
Translation
Современные тенденции таковы, что платформа HTML5 становится все более функциональной, веб-приложения становятся все более богатыми и сценарии, которые требуют взаимодействие с серверной стороной для выполнения тривиальных задач становятся все более нудными. Если мы взглянем на клиентский код, то можем заметить некоторый дефицит возможностей JavaScript.
Microsoft вовлечен в совершенствование стандарта JavaScript. Через активное участие в рабочей группе Ecma TC39 мы согласовали и отправили на утверждение готовую часть предложенных стандартов, которые предлагают расширение таких важных библиотек, как Math, Number и String и представили поддержку нового функционала Globalization. Мы рассказали о первых версиях прототипов библиотек на встрече посвященной стандарту в июле в кампусе Microsoft и рассказали про реализацию Globalization на встрече группы стандарта в кампусе Apple в Купертино на прошлой неделе. В добавок, мы выпустили эти базовые реализации для того, чтобы JavaScript-сообщество могло предоставить свои отзывы при использовании новых функций на практике.
В этом выпуске мы предлагаем следующие расширения для встроенных JavaScript-библиотек:

Для того, чтобы проиллюстрировать приведем следующий код:
Microsoft вовлечен в совершенствование стандарта JavaScript. Через активное участие в рабочей группе Ecma TC39 мы согласовали и отправили на утверждение готовую часть предложенных стандартов, которые предлагают расширение таких важных библиотек, как Math, Number и String и представили поддержку нового функционала Globalization. Мы рассказали о первых версиях прототипов библиотек на встрече посвященной стандарту в июле в кампусе Microsoft и рассказали про реализацию Globalization на встрече группы стандарта в кампусе Apple в Купертино на прошлой неделе. В добавок, мы выпустили эти базовые реализации для того, чтобы JavaScript-сообщество могло предоставить свои отзывы при использовании новых функций на практике.
Что мы предлагаем
В этом выпуске мы предлагаем следующие расширения для встроенных JavaScript-библиотек:

Для того, чтобы проиллюстрировать приведем следующий код:
Разработчики IE высказались против Google Dart
2 min
2.6KПрошло полтора месяца с момента официальной презентации нового языка программирования Google Dart, который позволит создавать быстрые и высокопроизводительные веб-приложения. Он также позиционируется в качестве замены/альтернативы JavaScript, якобы страдающего от «фундаментальных изъянов».
Для развития Google Dart очень важно, чтобы во все браузеры была встроена поддержка трансляции из Dart в JavaScript, а в будущем Dart был реализован в браузере как основной нативный клиентский язык. Понятно, что с Chrome проблем не будет. Но вот разработчики других браузеров пока не спешат поддержать революционную инициативу Google, а группа разработки Internet Explorer высказалась категорически против нового языка программирования. По их мнению, JavaScript вполне может эволюционировать для создания больших масштабируемых веб-приложений.
Для развития Google Dart очень важно, чтобы во все браузеры была встроена поддержка трансляции из Dart в JavaScript, а в будущем Dart был реализован в браузере как основной нативный клиентский язык. Понятно, что с Chrome проблем не будет. Но вот разработчики других браузеров пока не спешат поддержать революционную инициативу Google, а группа разработки Internet Explorer высказалась категорически против нового языка программирования. По их мнению, JavaScript вполне может эволюционировать для создания больших масштабируемых веб-приложений.
ISO 8601 и ECMAScript — головная боль от разночтения стандартов
3 min
10KРазрабатываем мы тут некоторый сервис интеграции с очень сторонней системой. Сам сервис работает на Node.js. И всё бы хорошо, но только недоступность сервера во время сборки мусора очень нервировала стороннюю систему.
В канун нового года было решено сделать серверу подарок — обновить Node.js с версии 0.4.8 до 0.6.6 В силу ряда организационных причин, обсуждать которые здесь не очень хочется, обновление было проведено сразу на боевой системе и даже без регрессионного тестирования.
Неужели в этой ситуации что-то могло пойти не так?
В канун нового года было решено сделать серверу подарок — обновить Node.js с версии 0.4.8 до 0.6.6 В силу ряда организационных причин, обсуждать которые здесь не очень хочется, обновление было проведено сразу на боевой системе и даже без регрессионного тестирования.
Неужели в этой ситуации что-то могло пойти не так?
В Chrome (dev) реализованы будущие функции JavaScript
1 min
2.4KКомитет ECMA сейчас работает над разработкой следующей версии JavaScript, известной под кодовым названием Harmony. Он должен быть закончен к концу следующего года и станет самым большим обновлением за всю историю языка. Разработчики Chrome и V8 решили уже сейчас реализовать некоторые будущие функции JavaScript в браузере Chrome (версия для разработчиков).
Чтобы активировать новые функции, нужно в последнем релизе с dev-канала набрать
Чтобы активировать новые функции, нужно в последнем релизе с dev-канала набрать
chrome://flags
и включить флаг Experimental JavaScript features.Особенности написания и возможные фичи LR-генераторов
8 min
6.2KВведение
Добрый день.
В заключительной части про написание собственного генератора LALR-парсеров я бы хотел описать возможные особенности и фичи. Кроме того я опишу чего мне не хватало в существующих решениях и ради чего я начал писать свой велосипед.
Дабы задать контекст, сообщу, что грамматика для анализа — это ECMAScript, так же известный как JavaScript. Конкретная спецификация — ECMA-262, редакция 5.1 от июня 2011 года.
Обновление IntelliJ IDEA 11.1
2 min
14K
Вчера на сайте JetBrains стала доступна для скачивания новая версия среды разработки на Java – IntelliJ IDEA 11.1.
Как всегда IntelliJ IDEA доступна в двух версиях: Ultimate – полная платная версия, а также Community Edition – бесплатная Open-source версия. Владельцы лицензии IntelliJ IDEA 11 Ultimate имеют возможность бесплатного обновления до 11.1.
Попробуем ознакомиться с тем, что нас ждет в новой версии продукта.
WebStorm 4 — в гармонии с ECMA Script
1 min
2.3KМы продолжаем поддержку новейших технологий и улучшаем средства контроля качества. В сегодняшнем WebStorm 4.0 — ECMAScript Harmony и встроенный Code Coverage для JavaScript Unit Testing.
Кроме того:
Кроме того:
- Создание пректов на основе HTML5 Boilerplate, Twitter Bootstrap и других
- Тонкая настройка JavaScript библиотек для любого файла в проекте
- Умное упорядочивание подсказок при дополнениии JavaScript
- Сворачивание произвольных регионов кода
- Эффективное управление версиями node.js
CoffeeScript: Классы
16 min
21K
Tutorial

В ECMAScript
Содержание:
1. Основные понятия
2. Члены класса
2.1. Метод constructor
2.2. Открытые члены класса
2.3. Закрытые члены класса
2.4. Защищенные члены класса
2.5. Статические члены класса
2.6. Оператор => (fat arrow)
3. Наследование
4. Дополнительная литература
JavaScript — полезные материалы
2 min
78KХочу поделиться набором ссылок на нексолько полезных, интересных и, возможно, не самых известных материалов по JavaScript. Из них вы узнаете немного больше об истории появления языка, о его настоящем, тонкостях реализации в различных браузерах, и о будущем развития стандарта ECMAScript. О различных способах наследования в том числе об эмуляции «классического» ООП, множественном наследовании и миксинах. О функциональном стиле программирования в JavaScript: чистые функции, map, reduce, частичное применение и композиции функций. И, наконец, что если бы Хемингуэй писал на JavaScript?
Обзор ECMAScript 6, следующей версии JavaScript
6 min
98KДля начала, ликбез и несколько фактов:
Итак, что же нас ждет в новой версии JavaScript?
- ECMAScript — это официальный стандарт языка JavaScript (Слово JavaScript не могло быть использовано, потому что слово Java являлось торговой маркой компании Sun) Т.е. JavaScript — это имплементация стандарта ECMAScript.
- TC39 — комитет, развивающий стандарт ECMAScript и принимающий решения по включению фич в него.
- ECMAScript стандартов много. Самый популярный из них — ECMA-262.
- ECMAScript 5 — последняя редакция стандарта ECMA-262 (утвержден в 2009 году).
- Предыдущие версии стандарта ECMA-262 были (совсем старые не упоминаю):
- ECMAScript 3 — поддерживается большинством браузеров (утвержден в 1999 году).
- ECMAScript 4 — не принят в виду слишком радикальных изменений в стандарте. Позднее в июле 2008 году в урезанном варианте (но все же намного богаче, чем ECMAScript 3) вылился в новый проект ECMAScript Harmony.
- ECMAScript 6 (кодовое имя ECMAScript.next) должен утвердиться до конца 2013 года.
Итак, что же нас ждет в новой версии JavaScript?