войти зарегистрироваться

JavaScriptISO 8601 и ECMAScript — головная боль от разночтения стандартов

Разрабатываем мы тут некоторый сервис интеграции с очень сторонней системой. Сам сервис работает на Node.js. И всё бы хорошо, но только недоступность сервера во время сборки мусора очень нервировала стороннюю систему.

В канун нового года было решено сделать серверу подарок — обновить Node.js с версии 0.4.8 до 0.6.6 В силу ряда организационных причин, обсуждать которые здесь не очень хочется, обновление было проведено сразу на боевой системе и даже без регрессионного тестирования.

Неужели в этой ситуации что-то могло пойти не так?

Веб-разработкаРазработчики IE высказались против Google Dart

Прошло полтора месяца с момента официальной презентации нового языка программирования Google Dart, который позволит создавать быстрые и высокопроизводительные веб-приложения. Он также позиционируется в качестве замены/альтернативы JavaScript, якобы страдающего от «фундаментальных изъянов».

Для развития Google Dart очень важно, чтобы во все браузеры была встроена поддержка трансляции из Dart в JavaScript, а в будущем Dart был реализован в браузере как основной нативный клиентский язык. Понятно, что с Chrome проблем не будет. Но вот разработчики других браузеров пока не спешат поддержать революционную инициативу Google, а группа разработки Internet Explorer высказалась категорически против нового языка программирования. По их мнению, JavaScript вполне может эволюционировать для создания больших масштабируемых веб-приложений.

Блог компании MicrosoftПрототипы новых расширений стандарта JavaScript

Современные тенденции таковы, что платформа HTML5 становится все более функциональной, веб-приложения становятся все более богатыми и сценарии, которые требуют взаимодействие с серверной стороной для выполнения тривиальных задач становятся все более нудными. Если мы взглянем на клиентский код, то можем заметить некоторый дефицит возможностей JavaScript.

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

Что мы предлагаем

В этом выпуске мы предлагаем следующие расширения для встроенных JavaScript-библиотек:

image

Для того, чтобы проиллюстрировать приведем следующий код:

БраузерыIE10 platform preview 2

image

Буквально несколько минут назад на официальном сайте была выложена вторая превьюшка IE10.

А в блоге появилось подробное описание изменений и обновилась техническая информация для разработчиков на тему этого выпуска.

JavaScriptОпасности необязательных аргументов в JavaScript

Моя последняя тема про “минус ноль” вызвала много интереса. По этому сегодня я собираюсь описать ещё одну особенность JavaScript, на что меня так же вдохновил твит:
Без попытки повторить это в браузере, что вернет следующий код?
["1", "2", "3"].map(parseInt);

Персональные блоги Изменения Jscript и DOM в IE9 preview 3

image

ECMAscript 5 и Jscript


Наибольшей новостью является та, что IE9pre3 имеет (почти) полную поддержку ES5. Под «полной поддержкой» подразумевается то, что уже сейчас включено большинство нового API, такого как, например, Object.create, Object.defineProperty, String.prototype.trim, Array.isArray, Date.now и много других дополнений. На сегодняшнее время IE9 поддерживает наибольшее количество методов, даже большее, чем последние версии Chrome, Safari и Firefox. Невероятно, не правда ли? :)

Internet ExplorerInternet Explorer 9: наиболее полное руководство разработчика (и не только), часть 4

что еще нового в IE9 PP3, кроме canvas и video? Огромное описание, масса картинок.

HeaderLeft[1]

23 июня строго по графику (период 8 недель) вышла третья тестовая сборка IE9. На Хабре уже успели написать про этот релиз и в самых общих словах обрисовать нововведения. Кроме того, тут же на Хабре успели сравнить производительность canvas в IE9 и Chrome.

Этот пост раскроет значительно больше деталей третьей тестовой версии Internet Explorer 9 и расскажет о нововведениях в браузер, которые будут важны для разработчиков.

Это четвертая статья из серии статей про нововведения в IE9 для разработчиков. Ознакомится с предыдущими частями можно здесь: часть 1 (CSS3, HTML5, DOM), часть 2 (SVG, GPU), часть третья (профили ICC, форматы изображений, Javascript).

JavaScriptВикторина для тех, кто любит Javascript больше ECMAscript

Викторина для тех, кто любит Javascript больше ECMAscript. Главный приз: пирожок на полке.

Update: Пояснение. Для тех кто совсем не в теме. ECMAscript — это стандарт языка, на котором основаны реализации Javascript в современных браузерах. Именно этот стандарт определяет поведение программ в этой статье. Javascript является «надстройкой» над ECMAscript.

Пояснение номер 2. Глюки IE не имеют прямого отношения к викторине поскольку это ошибки (ну или «особенности») реализации стандартов.

OperaЗачем Опере свой JS движок?

Давно было интересно: зачем Опере писать собственный интерпретатор Javascript, когда есть открытые альтернативы? SpiderMonkey, допустим, может быть проблемой из-за LGPL, но v8 — это BSD лицензия, для проприетарного ПО годится. Поинтересовался мнением людей. Говорят, самая вероятная причина — не хотят зависеть от стороннего разработчика. При этом Opera уже использует сторонний Aspell, хотя он, конечно, не является жизненно важной функцией.

Решил выяснить официальное мнение. JL ответил, что, с технической точки зрения, интеграция такого объёма чужого кода — большая работа. Поддержка всех операционных систем, на которых работает Opera, требует определённого проектирования и повышает требования к коду, и очень вероятно, что разработчики основного движка отказались бы принимать странные модификации в больших количествах, что привело бы к перманентному форку. Что возможно, но затраты сопоставимы с разработкой своего движка. Звучит разумно, хотя я и не знаю, на скольких платформах используется Carakan — кажется, мобильная Opera получает с сервера, грубо говоря, скриншоты с отмеченными ссылками, и скрипты там не работают?

Веб-разработкаГармония ECMAscript

Создатель языка 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 теперь сам себе хозяин.