Тритий (язык программирования)
Разработано | Хэмптон Кэтлин |
---|---|
Расширения имен файлов | .тс |
Веб-сайт | tritium.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]
Открыть тритий [3] — это реализация языка Tritium с открытым исходным кодом. Он был представлен на конференции O'Reilly Open Source Convention 2014. [4] а компилятор реализован на Go .
Концепция
[ редактировать ]Tritium принимает в качестве входных документов HTML, XML или JSON и выводит данные HTML, XML или JSON, которые были преобразованы в соответствии с правилами, определенными в скрипте Tritium. Как и jQuery, идиоматический код Tritium структурирован вокруг выбора набора элементов с помощью селектора CSS или XPath и последующего объединения в цепочку операций над ними. [5]
Например, следующий скрипт выберет все элементы таблицы HTML с помощью id
из foo
и изменить свои width
атрибуты 100%
.
# Select all HTML nodes that are table elements with ID foo.
# The $$() function takes a regular CSS selector
$$(“table#foo”) {
# change the width attributes to “100%”
attribute(“width”, “100%”)
}
Хотя Tritium поддерживает селекторы XPath и CSS через $()
и $$()
функций (соответственно), предпочтительно использовать XPath. Например, приведенный выше код, переписанный для использования эквивалентного селектора XPath, будет выглядеть так:
# Select all HTML nodes that are table elements with ID foo.
# The $() uses XPath
$(“//table[@id=’foo’]”) {
# change the width attributes to “100%”
attribute(“width”, “100%”)
}
Сравнение с XSLT
[ редактировать ]И Tritium, и XSLT предназначены для преобразования данных. Однако Tritium имеет ключевые отличия, которые делают его более знакомым и простым в использовании для веб-разработчиков: [6]
- Знакомый синтаксис: синтаксис Tritium похож на синтаксис CSS и jQuery, поэтому он более знаком и удобочитаем для веб-разработчиков, чем синтаксис XSLT на основе XML.
- Императивный стиль: Tritium использует императивный стиль программирования вместо модели функциональной и рекурсивной обработки XSLT. Хотя функциональное программирование имеет ключевые преимущества, оно менее знакомо веб-дизайнерам, чем императивное программирование.
- Прозрачность ввода. В XSLT любые элементы ввода, не указанные в правиле преобразования, удаляются из вывода. Tritium меняет это поведение на противоположное: любые входные элементы, не указанные в правиле преобразования, передаются на выход без изменений.
- Совместимость с HTML: Tritium был разработан для обработки HTML, XML и JSON, тогда как XSLT работает только с XML.
Ссылки
[ редактировать ]- ^ К. Койер, Д. Руперт. (30 мая 2013 г.). «Эпизод 070» . МагазинTalkShow . Проверено 10 июля 2013 г.
- ^ Д. Ньюджент (07 мая 2013 г.). «Интервью с Хэмптоном Кэтлином» . Конференция разработчиков HTML5 . Проверено 10 июля 2013 г.
- ^ «Открытый тритий» . Moovweb. 24 июля 2014 г. Архивировано из оригинала 19 января 2015 г. Проверено 19 января 2015 г.
- ^ «Веб-разработка для мобильных устройств и нескольких устройств с помощью Tritium» . О'Рейли. 24 июля 2014 г. Проверено 19 января 2015 г.
- ^ И. Ананд (30 апреля 2013 г.). «От настольного компьютера к мобильному» . Взгляд на будущее в прямом эфире — Лас-Вегас, 2013 г. Проверено 10 июля 2013 г.
- ^ И. Ананд (06 февраля 2014 г.). «Применение преобразований в адаптивном веб-дизайне» . Разрушительный журнал . Проверено 7 февраля 2014 г.