XForms все еще является стандартом, который внедряется и разрабатывается, или есть альтернатива на месте или разрабатывается?

XForms была и / или является разметкой XML, которая поддерживает структурированные данные формы. Это стандарт, разработанный на основе XML и предназначенный для легкой интеграции с другими текущими языками разметки, такими как XHTML, ODF или SVG или любым "подходящим языком разметки", а также с поддержкой нескольких платформ и нескольких браузеров. Другие цели проекта объявляются на странице рабочей группы, которую я привел ниже.

Когда я занимался исследованием работы с формами с помощью php, я заметил, что страница PHP Features предлагает поддержку обработки XForms в php, но, увы, я не знал, что такое XForms, поэтому поиск начался.

На странице рабочей группы XForms на веб-сайте W3C (создатели веб-стандартов) написано, что "Рабочая группа форм была официально закрыта 2015-04-08". В нем также говорится, что работа может продолжаться через группу сообщества пользователей XForms, но группа пользователей не была официально опубликована с октября 2015 года, за исключением тех, кто интересуется продолжением XForms.

Похоже, что группа работала над версией 2.0 XForms, но, похоже, она так и не была выпущена, поскольку на странице стандартов W3C версия 2.0 представлена ​​в виде черновика с августа 2012 года, а версия 1.1 является последней версией, выпущенной в 2009 году. также связано ниже.

Чтобы лучше понять, какие альтернативы могут заменить XForms, на странице XForms на веб-сайте W3C указано, что основное отличие XForms от HTML-форм, помимо того, что XForms находятся в XML, - это отделение данных, собираемых от разметки контроли, собирающие отдельные ценности ". Таким образом, в качестве примера на странице XForms вместо жесткого кодирования HTML в форме для визуализации определенным образом используется схема XForms, а устройство, браузер или приложение обнаруживают тип данных в форме и отображают данные в соответствии с платформу, такую ​​как типы ввода данных формы "select", "input", "secret", "upload" и другие, определенные командой XForms.

Кто-нибудь знает, продолжается ли еще работа над XForms или это устаревший стандарт, который должен быть устаревшим и заменен будущим программным обеспечением?

Кроме того, кто-нибудь знает о каких-либо альтернативах, которые были созданы или разрабатываются для замены XForms и подобного программного обеспечения?

Спасибо за помощь. Я не специалист по XForms или его использованию, поэтому, если я дал какую-либо дезинформацию, поправьте меня. Кроме того, я не могу опубликовать более 2 ссылок в этом сообщении, поэтому я оставлю другие связанные ссылки в комментариях.

РЕДАКТИРОВАТЬ: Я также чувствовал, что аналогичный вопрос, заданный в 2011 году по этой теме, был устаревшим и не оборудован, чтобы найти альтернативы программного обеспечения в сообществе.

Аналогичный пост: XForms все еще живой стандарт?

Возможности PHP: http://php.net/manual/en/features.php

W3 XForms 2.0 Draft: https://www.w3.org/TR/xforms20/

4 ответа

Решение

Фон

Я пишу как бывший член рабочей группы XForms и текущий член группы сообщества XForms (см. Ниже). Ниже приведено личное мнение.

Состояние XForms и XForms 2.0

Большая часть информации о XForms на сайте W3C устарела, поэтому я не буду воспринимать все (если вообще что-либо), что вы читаете там, как Евангелие, но верно, что W3C закрыл рабочую группу XForms (и они сделали это с довольно немного неуважения, я мог бы добавить).

Некоторое время группа не была на месте, надеялась на перезарядку, но этого не произошло. Я должен сказать, что любая деятельность XML в W3C является очень низким приоритетом для организации на данный момент, даже для относительно более успешных технологий, таких как XSLT и XQuery.

Однако с 2016 года продолжается работа над XForms 2.0 в контексте группы сообщества XForms. Это небольшая группа, которая, хотя и размещается на W3C, не является официальной рабочей группой W3C. Любой может присоединиться к этой группе. Мы проводим еженедельные звонки и надеемся завершить спецификацию XForms 2.0 в этом году. Вы можете найти текущий проект спецификации здесь:

Как только спецификация сделана, если есть интерес, можно создать новую Рабочую группу, но это не само собой разумеющееся. Это был бы необходимый путь для того, чтобы сделать XForms 2.0 официальной Рекомендацией W3C.

Если этого не произойдет, то проект XForms 2.0 все равно будет доступен для ознакомления и реализации. У него нет силы Рекомендации, но эта сила всегда была очень относительной.

Что отличает XForms?

Следующее не является полным, но это некоторые из главных аспектов, которые, я думаю, выделяют XForms:

  • будучи спецификацией, а не реализацией
  • использование XML для модели данных и других спецификаций, связанных с XML
  • фокусирование на формах (а не на полноценной разработке приложений)
  • отделение внешнего вида управления от реализации
  • Предоставление электронной таблицы, как модель зависимости данных
  • быть в целом очень декларативным по своей природе, в том числе давать советы, помогать и предупреждать нативные концепции

Кроме того, XPath 2.0/3.x обеспечивает удивительно гибкий язык для привязки свойств, вычислений и элементов управления к моделям данных. Я думаю, что сейчас трудно победить.

Текущие реализации XForms

Существует несколько текущих реализаций XForms, включая XSLTForms и Orbeon Forms (над которыми я работаю).

Хотя в начале 2000-х общепризнанная цель состояла в том, чтобы XForms в конечном итоге заменили HTML-формы, и с этой точки зрения были разработаны плагины для браузера и реализация Firefox, но эта идея давно не актуальна.

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

Альтернативы XForms

Я не знаю каких-либо близких альтернатив XForms, основанных на пунктах, перечисленных выше.

Слон в комнате - то, что XForms основан на стеке технологий XML, и есть доказательства, что XML больше не захватывает мир штурмом (это преуменьшение). Но XML все еще широко используется во многих контекстах, и об этом нужно помнить.

Если вы имеете дело с данными XML или, по крайней мере, не возражаете против XML, XForms останется современным решением в 2016 году. Вы можете изучить существующие реализации или реализовать свои собственные (хотя это не совсем тривиально).

Если вы вообще не заботитесь о XML или сильно его не любите, то XForms не будет хорошим решением (по крайней мере, пока он не обеспечит поддержку дополнительных моделей данных и языков связывания, таких как JSON / JavaScript). Выбор одной из текущих платформ пользовательского интерфейса будет правильным выбором, но по-прежнему он во многих отношениях не дотягивает.

Существует множество UI-фреймворков, использующих различные базовые технологии (JavaScript, пожалуй, номер один здесь, но вы также можете сосчитать TypeScript, Elm, Scala и другие), которые находятся в постоянной эволюции. Их можно считать альтернативами в том смысле, что они позволяют создавать пользовательские интерфейсы и сложные формы. Некоторые фреймворки действительно хорошо поддерживают такие вещи, как зависимости, некоторые фокусируются на предоставлении хороших элементов управления UI, некоторые на модели обновления UI и т. Д.

Но я еще не нашел фреймворк, который бы охватывал все основы так же хорошо, как XForms, хотя ничто не мешает этому случиться в будущем.

Тот факт, что работа над разработкой стандарта прекращается, не означает, что стандарт мертв, а значит, он стабилен. Например, нет активной работы по разработке самого XML, что в основном означает, что существует консенсус в отношении того, что стандарт в его нынешней форме соответствует его требованиям. Вероятно, больше стандартов выиграют, если люди узнают, когда пришло время прекратить добавлять навороты.

XForms - это один из тех стандартов, который был очень успешно внедрен инновационным меньшинством пользователей, но по какой-то причине никогда не завоевывал популярность в массах. Это, конечно, не мертвый стандарт. Жаль, что он не поддерживается изначально браузерами, но есть хорошие реализации на стороне клиента и на стороне сервера, и многие пользователи, которые подтвердят преимущества производительности, это приносит по сравнению с ручным кодированием одного и того же материала в Javascript.

Работая в качестве давнего председателя групп XForms, мне не нужно добавлять намного больше к тому, что Эрик уже сказал о рабочей группе и спецификации.

Однако стоит немного рассказать о том, как он используется, и о некоторых преимуществах, поскольку, когда вы используете веб-сайт, вы никогда не сможете сказать, что он использует XForms.

Невозможно определить, когда компания использует XForms, поэтому я знаю только о том, когда кто-то в организации упоминает об этом мне. Некоторые из тех, о которых я слышал:

Несколько правительственных департаментов Нидерландов, несколько правительственных департаментов Великобритании, Департамент автотранспорта США, Британская национальная служба здравоохранения, BBC, метеорологическая служба Голландии, Земельный кадастр Нидерландов, страховая индустрия Великобритании, EMC, NASA, CMC, ВМС США, Немецкие судостроители, Xerox, Yahoo. Список очень длинный.

Есть и хорошие истории. Один из них поступил от Национальной службы здравоохранения Великобритании, которая запустила проект для системы медицинских карт:

  • В нем приняли участие 70 человек
  • Это стоило 10 миллионов фунтов стерлингов.
  • Стоимость аппаратного обеспечения составляла 5 фунтов на пациента.
  • Это не удалось.

Затем один человек создал систему замены, используя XForms:

  • Стоимость аппаратного обеспечения составляет 1 пенсов на пациента
  • Это работает на Raspberry Pi's
  • В настоящее время он работает в 5 больницах NHS.

Есть много других примеров того, как XForms экономят огромные суммы денег.

Есть много активных реализаций, в том числе:

  • CM Pro (Нидерланды),
  • Inventive Designers (Бельгия),
  • BetterForm * (Германия),
  • XSLTForms * (Франция),
  • Джаду (Великобритания),
  • Orbeon * (США),
  • Энкето (США).

XForms также является частью OpenOffice* и LibreOffice *

* = с открытым исходным кодом

У нас есть ежегодный День XForms в Амстердаме. Следующий будет в мае. Я буду публиковать подробности на моей домашней странице, которую вы можете найти, покинув мое имя.

Стивен Пембертон

Если вы ищете работающее программное обеспечение, эти инструменты представляют собой зрелые реализации XForms с широкой поддержкой их создателей и / или сообщества:

  • XSLTForms: плагин Javascript для любого браузера с поддержкой XML и JavaScript
  • betterFORM: решение на стороне сервера на основе Java. Интегрировано в eXist-db
  • Orbeon Forms: коммерческое решение с версией с открытым исходным кодом
  • Enketo: это движок XForms, включенный в Open Data Kit, он имеет некоторые отличия от стандарта XForms.
Другие вопросы по тегам