Тритий (язык программирования)

Язык сценариев для эффективного преобразования структурированных данных, таких как HTML, XML и JSON.
Тритий
РазработаноХэмптон Кэтлин
Расширения имени файла.ts
Веб-сайттритий.io
Под влиянием
XSLT , Sass (язык таблиц стилей)

Tritium — это простой язык сценариев для эффективного преобразования структурированных данных, таких как HTML , XML и JSON . Он схож по своему назначению с XSLT, но имеет синтаксис, на который повлияли jQuery , Sass и CSS, в отличие от синтаксиса XSLT, основанного на XML.

История

Tritium был разработан Хэмптоном Кэтлином, создателем языков Sass и Haml , и в настоящее время входит в состав мобильной платформы Moovweb . [1]

Как и в случае с Sass (созданным для устранения недостатков в CSS) и Haml (созданным для устранения недостатков в кодировании HTML-шаблонов), Кэтлин разработал Tritium для решения проблем, которые он видел в XSLT, сохраняя при этом основные преимущества языка трансформации. Большая часть этого была основана на его предыдущем опыте портирования десктопного сайта Википедии в мобильный веб. [2]

Open Tritium [3] — это реализация языка Tritium с открытым исходным кодом. Она была представлена ​​на O'Reilly Open Source Convention 2014 [4] , а компилятор реализован на Go .

Концепция

Tritium принимает в качестве входных данных документы HTML, XML или JSON и выводит данные HTML, XML или JSON, преобразованные в соответствии с правилами, определенными в скрипте Tritium. Как и jQuery, идиоматический код Tritium структурирован вокруг выбора коллекции элементов с помощью селектора CSS или XPath , а затем связывает ряд операций над ними. [5]

Например, следующий скрипт выберет все элементы таблицы HTML с атрибутом idof fooи изменит их widthатрибуты на 100%.

# Выберите все узлы HTML, которые являются элементами таблицы с идентификатором foo.# Функция $$() принимает обычный селектор CSS $$ ( “table#foo” ) { # изменить атрибуты ширины на атрибут “100%” ( “width”, “100%” ) }  

Хотя Tritium поддерживает селекторы XPath и CSS через функции $()и $$()(соответственно), предпочтительным является использование XPath. Например, приведенный выше код, переписанный для использования эквивалентного селектора XPath, будет выглядеть так:

# Выберите все узлы HTML, которые являются элементами таблицы с идентификатором foo.# $() использует XPath $( “//table [ @id = 'foo' ]) { # изменить атрибуты ширины на “100%” attribute ( “width”, “100%” ) }  

Сравнение с XSLT

И Tritium, и XSLT предназначены для преобразования данных. Однако Tritium отличается в ключевых аспектах, чтобы сделать его более знакомым и простым в использовании для веб-разработчиков: [6]

  • Знакомый синтаксис: синтаксис Tritium похож на CSS и jQuery, поэтому он более знаком и удобен для чтения веб-разработчикам, чем основанный на XML синтаксис XSLT.
  • Императивный стиль: Tritium использует императивный стиль программирования вместо функциональной и рекурсивной модели обработки XSLT. Хотя функциональное программирование имеет ключевые преимущества, оно менее знакомо веб-дизайнерам, чем императивное программирование.
  • Прозрачность ввода: в XSLT любые элементы ввода, которые не указаны в правиле преобразования, удаляются из вывода. Tritium меняет это поведение: любые элементы ввода, которые не указаны в правиле преобразования, передаются на вывод без изменений.
  • Совместимость с HTML: Tritium был разработан для обработки HTML, XML и JSON, тогда как XSLT работает только с XML.

Ссылки

  1. ^ C. Coyier, D. Rupert. (2013-05-30). "Эпизод 070". ShopTalkShow . Получено 2013-07-10 .
  2. ^ D. Nugent (2013-05-07). "Интервью с Хэмптоном Кэтлином". Конференция разработчиков HTML5 . Получено 2013-07-10 .
  3. ^ "Open Tritium". Moovweb. 2014-07-24. Архивировано из оригинала 2015-01-19 . Получено 2015-01-19 .
  4. ^ «Разработка мобильных и многофункциональных веб-приложений с помощью Tritium». O'Reilly. 2014-07-24 . Получено 2015-01-19 .
  5. ^ И. Ананд (2013-04-30). «От настольного компьютера к мобильному». Future Insights Live — Лас-Вегас, 2013. Получено 2013-07-10 .
  6. ^ И. Ананд (2014-02-06). «Применение преобразований к адаптивному веб-дизайну». Smashing Magazine . Получено 2014-02-07 .
  • Открытый сайт Тритий
  • Страница Open Tritium на GitHub
  • Официальный сайт Трития
  • Применение преобразований к адаптивному веб-дизайну
  • Вопросы с тегом Tritium на Stackoverflow
Взято с "https://en.wikipedia.org/w/index.php?title=Тритий_(язык_программирования)&oldid=1127488571"