The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

05.11.2014 13:42  Google развивает AtScript, вариант JavaScript с аннотациями типов

Miško Hevery, один из основателей JavaScript-фреймворка AngularJS, ныне работающий в Google, представил проект AtScript, в рамках которого развивается расширенный вариант языка JavaScript, поддерживающий определение информации о типах через добавление аннотаций, что позволяет существенно увеличить эффективность работы JIT-компилятора и оптимизатора.

AtScript обеспечивает совместимость с кодом существующих проектов и JavaScript-движков за счёт использования допустимого в спецификации ECMAScript 4 синтаксиса ":", например, вместо "methodA(name)" можно указать "methodA(name:string):int", а также элементов, развиваемых в стандарте ECMAScript 6. Кроме аннотаций типов в AtScript реализована поддержка аннотаций полей и аннотаций метаданных. Аннотации полей позволяют явно определить используемые в классе поля перед их использованием. Для определения полей также применяется выражение ":", например "class Point { x:int; y:int; }".

Аннотации метаданных дают возможность использовать методы декларативного программирования и привязать к коду дополнительную информацию, например, указать необходимые фреймворкам сведения для подстановки зависимостей. Для определения метаданных предлагается использовать символ '@', например, "@Component({selector: 'foo'})". Также в AtScript предусмотрены механизмы интроспекции для определения типа объекта во время выполнения программы и доступа к данным о типах. Таким образом, AtScript можно рассматривать как ECMAScript 6, расширенный поддержкой типов, аннотаций и интроспекции.

В отличие от развиваемого компанией Miсrosoft языка TypeScript, в AtScript добавлена поддержка интроспекции и аннотаций метаданных, при этом AtScript совместим с TypeScript, так как использует ту же схему указания типов через выражение ":", и может смешиваться с кодом на TypeScript. Похожие методы также применяются в языке Dart. При этом TypeScript и Dart требуют предварительной компиляции кода в JavaScript-представление. AtScript пытается избавиться от данной фазы и остаться максимально приближенным к JavaScript. Такой подход напоминает Asm.js от Mozilla, но предлагаемая в Asm.js система определения типов в специальных комментариях не слишком удобна при разработке вручную и больше предназначена для автоматической компиляции в JavaScript.

В настоящее время AtScript находится в стадии формирования экспериментального прототипа. На GitHub размещена подборка тестовых сценариев, которые можно использовать для экспериментов с AtScript. Кроме того, для работы с AtScript можно использовать JavaScript компилятор Traceur, позволяющий транслировать в обычный JavaScript (ECMAScript 5) некоторые экспериментальные возможности ECMAScript 6 (AtScript завязан на поддержке классов и модулей, которые появятся в будущем стандарте ECMAScript 6). В том числе для Traceur подготовлены настройки, обеспечивающие преобразование AtScript в код на языке Dart или код ECMAScript 5, который может выполняться в обычном браузере. Для загрузки модулей AtScript предлагается использовать фреймворк RequireJS. Первым крупным проектом, использующим AtScript станет web-фреймворк Angular, выпуск 2.0 которого планируется полностью переписать на AtScript.

  1. Главная ссылка к новости (http://www.theregister.co.uk/2...)
  2. OpenNews: Выпуск языка программирования Dart 1.7, развиваемого Google для замены JavaScript
  3. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  4. OpenNews: Релиз Firefox 22 с поддержкой Asm.js
  5. OpenNews: Выпуск языка программирования Rust 0.12, развиваемого проектом Mozilla
  6. OpenNews: Увидел свет TypeScript 1.0, продвигаемый Microsoft в качестве альтернативы JavaScript
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: javascript, atscript, typescript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.2, Аноним, 14:27, 05/11/2014 [ответить] [смотреть все]
  • +4 +/
    NIH синдром + мания велосипедостроения
     
     
  • 2.13, Аноним, 15:19, 05/11/2014 [^] [ответить] [смотреть все] [показать ветку]
  • +3 +/
    Нет В отличие от нечитаемого asm js используется нормальный человеческий синтак... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.18, А, 15:59, 05/11/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    Тот у которого больше.
     
  • 3.24, inferrna, 16:46, 05/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    asm js вообще немного не то Это на 90 asm и лишь 10 js - там даже управление ... весь текст скрыт [показать]
     
     
  • 4.41, cmp, 00:09, 06/11/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Это очень мягкое определение asm, любители костылей из мозилы родили очередной ш... весь текст скрыт [показать]
     
     
  • 5.45, Аноним, 05:49, 06/11/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Так оно для машины, машинам все-равно А парсить и выполнять так быстрее И мест... весь текст скрыт [показать]
     
     
  • 6.53, cmp, 00:43, 07/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Так для машин полным полно протоколов передачи данных, и http НЕ один из них, та... весь текст скрыт [показать]
     
     
  • 7.54, Аноним, 02:59, 07/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    А теперь посмотрим на HTTP 2 aka SPDY Где ваш бог теперь ... весь текст скрыт [показать]
     
     
  • 8.56, cmp, 13:25, 07/11/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    Где ваш spdy где ipv6, где tcpmp web - это сильно, и сочетание html js css htt... весь текст скрыт [показать]
     
     
  • 9.57, arisu, 13:42, 07/11/2014 [^] [ответить] [смотреть все]  
  • +4 +/
    да прямо вот, работают учитывая их костыльность и мерзопакостность 8212 наве... весь текст скрыт [показать]
     
     
  • 10.69, cmp, 17:27, 08/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Наверняка, но не в этом измерении, запаса прочности ip4 и http хватит еще на дол... весь текст скрыт [показать]
     
     
  • 11.70, arisu, 17:31, 08/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    здравствуй, испытатель криокамер добро пожаловать в XXI-й век ... весь текст скрыт [показать]
     
     
  • 12.71, cmp, 00:35, 10/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    ой, да ладно, ну-ка раскажите нам о повсемесно используемой технологии которой м... весь текст скрыт [показать]
     
     
  • 13.72, arisu, 01:06, 10/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    какое это имеет отношение к теме?
     
     
  • 14.75, cmp, 07:02, 10/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Да очень простое, вы изобретаете палку, и все ею пользуются чтобы мамонтов гонят... весь текст скрыт [показать]
     
     
     
    Часть нити удалена модератором

  • 16.77, cmp, 11:01, 10/11/2014 [ответить] [смотреть все]  
  • –1 +/
    Не всем же быть таким маргинальным быдлом как вы.
     
     
  • 17.78, arisu, 11:08, 10/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    ты прав нам, быдлу, недоступна чарующая сила упарывающей химии p s а всё-таки... весь текст скрыт [показать]
     
     
  • 18.79, cmp, 00:13, 11/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    https ru wikipedia org wiki Аллегория Книжки читать надо, логическое мышление ... весь текст скрыт [показать]
     
     
  • 19.80, arisu, 00:20, 11/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    смотри в камень, пожалуйста. дОвление твоей мудрости почти невыносимо.
     
  • 3.44, Аноним, 05:47, 06/11/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Нормально было бы закончить уже выделываться и если уж хочется нормальных прилож... весь текст скрыт [показать]
     
     
  • 4.81, Аноним, 11:49, 16/11/2014 [^] [ответить] [смотреть все]  
  • +/
    1 В chromium уже давно PNaCl встроен Работает быстрее любого asm js плюс подде... весь текст скрыт [показать]
     
  • 1.3, Аноним, 14:29, 05/11/2014 [ответить] [смотреть все]  
  • +/
    не понятно поведение Гугла если они ведут развитие Яваскрипта, то их попытки пр... весь текст скрыт [показать]
     
     
  • 2.16, manster, 15:47, 05/11/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Невольно возникает вопрос - как же дарт Поматросили и бросили Нежели у гугла т... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, arisu, 15:50, 05/11/2014 [^] [ответить] [смотреть все]  
  • +8 +/
    > Невольно возникает вопрос - как же дарт. Поматросили и бросили?
    > Нежели у гугла такие неограниченные ресурсы?

    пока что тут есть человек, который занимается полулюбительским проектом. при этом человек работает у гугеле, что даёт повод одним идиотам писать «гугель делает новый язык», а другим идиотам некритично это проглатывать.

     
     
  • 4.22, MPEG LA, 16:36, 05/11/2014 [^] [ответить] [смотреть все]  
  • –3 +/
    да неважно кто его делает, важно что вместо запилить пару этих фич в tsc, сырцы ... весь текст скрыт [показать]
     
     
  • 5.23, arisu, 16:37, 05/11/2014 [^] [ответить] [смотреть все]  
  • +3 +/
    тебе мсоподелие интересно? иди и запиливай.
     
     
  • 6.25, MPEG LA, 16:50, 05/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    типа мс большее зло чем гугл компилер под APL - почему не контрибютить, учитыва... весь текст скрыт [показать]
     
     
  • 7.26, arisu, 16:55, 05/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    где тут гугл, а вот поэтому, навреное, и не хотят потому что 171 сообщество ... весь текст скрыт [показать]
     
     
  • 8.29, MPEG LA, 17:07, 05/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    а где тут ms предлагаете всем заниматься написанием языков если что-то не устра... весь текст скрыт [показать]
     
     
  • 9.47, Аноним, 09:29, 06/11/2014 [^] [ответить] [смотреть все]  
  • +/
    Гугловый компилятор, traceur, был доступен на google code задолго до первого рел... весь текст скрыт [показать]
     
  • 5.43, Аноним, 01:00, 06/11/2014 [^] [ответить] [смотреть все]  
  • +/
    traceur был раньше ts, туда недавно добавили типы - остальное уже было просто д... весь текст скрыт [показать]
     
  • 4.36, Аноним, 18:55, 05/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Dart - аналогичная полулюбительская поделка, только развиваемая не одним, а неск... весь текст скрыт [показать]
     
     
  • 5.40, Аноним, 22:40, 05/11/2014 [^] [ответить] [смотреть все]  
  • +/
    Это есть хорошо или плохо к чему клоним что у Гугла нет стратегии в данном нап... весь текст скрыт [показать]
     
  • 1.9, Бутират, 15:06, 05/11/2014 [ответить] [смотреть все]  
  • –1 +/
    Если оно реально будет компеляться через traceur, то может и выстрелит и angular 2.0 вы
     
     
  • 2.10, Бутират, 15:09, 05/11/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    выйдет в приемлимые сроки, не успев состариться еще до выхода Однако, лучше... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.14, Аноним, 15:28, 05/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Это MS то Такое и даром не надо ... весь текст скрыт [показать]
     
     
  • 4.51, ПолковникВасечкин, 17:51, 06/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    у тебя есть альтернативы?
     
     
  • 5.55, Аноним, 03:57, 07/11/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Для начала MS в вебе никто и звать никак Технология которая пропихивается тольк... весь текст скрыт [показать]
     
  • 1.19, manster, 16:17, 05/11/2014 [ответить] [смотреть все]  
  • +/
    аннотации это конечно хорошо, не попахивает мегакостылями
     
     
  • 2.37, Crazy Alex, 18:59, 05/11/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Мегакостылями оно в принципе попахивает из-за наследственных болезней JS Увы - ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, Аноним, 21:28, 05/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    > Дарт, как выяснилось, не лучше.

    можно с этого места поподробней, с прувами

     
     
  • 4.60, Crazy Alex, 19:15, 07/11/2014 [^] [ответить] [смотреть все]  
  • +/
    Тут же на опеннете в пределах месяца меня просветили насчет той же кривизны опер... весь текст скрыт [показать]
     
  • 4.61, Crazy Alex, 19:20, 07/11/2014 [^] [ответить] [смотреть все]  
  • +/
    Вот http www opennet ru cgi-bin openforum vsluhboard cgi quote not_empty az p... весь текст скрыт [показать]
     
  • 3.58, manster, 17:39, 07/11/2014 [^] [ответить] [смотреть все]  
  • +/
    js, не смотря на кучу недостатков прекрасен и оказался живуч Направление развит... весь текст скрыт [показать]
     
     
  • 4.59, arisu, 17:44, 07/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    js неимоверно уродлив даже бидон лучше, чем это недоразумение 171 живуч 187... весь текст скрыт [показать]
     
  • 4.62, Crazy Alex, 19:29, 07/11/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Хм, ну, уже за меня ответили насчет живуч А язык, который не принуждает к мо... весь текст скрыт [показать]
     
     
  • 5.64, arisu, 19:48, 07/11/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    но 8212 справедливости ради 8212 Брэндан тогда не предполагал, что на ЭТОМ... весь текст скрыт [показать]
     
     
  • 6.67, Crazy Alex, 22:52, 07/11/2014 [^] [ответить] [смотреть все]  
  • +/
    Разумеется.
     
  • 5.65, arisu, 19:51, 07/11/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    при всём этом на планете существуют идиоты, которые добровольно выбирают ту же н... весь текст скрыт [показать]
     
     
  • 6.66, Crazy Alex, 22:52, 07/11/2014 [^] [ответить] [смотреть все]  
  • +/
    Ну, тут палка о двух концах Когда на обеих сторонах один язык - это таки удешев... весь текст скрыт [показать]
     
     
  • 7.68, arisu, 10:17, 08/11/2014 [^] [ответить] [смотреть все]  
  • +/
    ну, похапэ да, а бидон и руби таки лучше чёрт, там хотя бы модули есть, одно эт... весь текст скрыт [показать]
     
  • 1.39, Аноним, 22:03, 05/11/2014 [ответить] [смотреть все]  
  • +/
    Да запарили вы уже своими "улучшенными" JS и Java.
     
     
  • 2.42, Led, 00:16, 06/11/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Эти улучшенными полезны хотя бы тем, что вызывают такой батхэрт у быдлокодеров... весь текст скрыт [показать] [показать ветку]
     
  • 1.48, Mirraz, 10:07, 06/11/2014 [ответить] [смотреть все]  
  • +2 +/
    Сначала придумываем себе проблем с динамически типизированными языками, а потом героически их решаем.
     
  • 1.49, xPhoenix, 10:50, 06/11/2014 [ответить] [смотреть все]  
  • +1 +/
    Каждые полгода Google придумывает новый язык, который заменит JavaScript. Каждые, мать его, полгода... Вы вдумайтесь, какие масштабы!
     
     
  • 2.52, ПолковникВасечкин, 17:53, 06/11/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Департаменту инноваций как-то нужно оправдывать свое существование... весь текст скрыт [показать] [показать ветку]
     
  • 2.63, Crazy Alex, 19:37, 07/11/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Гугл так делает уже много лет - вываливает гору инноваций, потом смотрит - что в... весь текст скрыт [показать] [показать ветку]
     
  • 1.50, Аноним, 11:11, 06/11/2014 [ответить] [смотреть все]  
  • –2 +/
    внезапно, Dart-окапец
     
  • 1.73, Аноним, 01:30, 10/11/2014 [ответить] [смотреть все]  
  • +/
    Uber FTS!
     
  • 1.74, Аноним, 02:06, 10/11/2014 [ответить] [смотреть все]  
  • +2 +/
    Смахивает на синдром отмены строгих типов, у тех кто недавно начал писать на JS ... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor