История AppML


В 1999 году Refsnes Data разработала первую версию AppML.

Уже тогда AppML был основан на обмене HTTP-запросами между веб-клиентом и веб-сервером. Позже этот метод стал известен как AJAX.

В сентябре 2000 года был начат проект развития для крупного норвежского заказчика. Целью проекта было преобразовать огромную информационную систему (около 300 приложений) из настольного приложения Windows в современное интернет-приложение, используя только AppML.

Система на основе AppML была запущена в 2001 году, на несколько месяцев раньше запланированного срока, как первое в мире коммерческое приложение AJAX. Проект имел огромный успех, время разработки сократилось на 75% по сравнению с обычной веб-разработкой. С тех пор были добавлены новые приложения, и теперь система охватывает более 1000 запущенных приложений.

В феврале 2015 года W3Schools перезапустили AppML в качестве нового продукта, открытого для публики.

Цели дизайна AppML:

  • Приложения AppML должны работать через Интернет
  • Приложения AppML должны быть независимыми от платформы
  • Приложения AppML должны использовать только интернет-стандарты (HTML, CSS, JavaScript).
  • Приложения AppML должны поддерживать различные потребности приложений.
  • Приложения AppML должны быть самоописываемыми
  • Приложения AppML должны быть просты в разработке, обслуживании и изменении.
  • Приложения AppML должны быть рассчитаны на будущее

В приведенных ниже параграфах описывается первоначальное видение Refsnes Data (1999 г.) будущих веб-приложений.


Исполняемые файлы умрут, JavaScript будет жить

Скомпилированные исполняемые файлы (скомпилированные из таких языков, как C или Java) не могут работать на другом оборудовании.

Исполняемые файлы (EXE-файлы, объекты ActiveX и COM, DLL-файлы) — это компоненты, препятствующие разработке приложений, которые могут работать через Интернет.

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

Наши предложения:

Пишите свои будущие приложения, используя только HTML, CSS и JavaScript.

Убедитесь, что ваши будущие приложения работают в любом веб-браузере.


Веб-приложения станут интернет-сервисами

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

Приложения должны быть гибкими, универсальными и изящно приспосабливаться к изменениям, не разрушаясь и не разрушаясь.

Приложения должны иметь возможность масштабироваться от поддержки нескольких до миллионов запросов в день.

Приложения должны иметь возможность распространяться с одного сервера на несколько или перемещаться между серверами без нарушения работы приложения.

Приложения должны иметь возможность взаимодействовать с другими приложениями.

Приложения не должны содержать больших объемов кода.

Приложения следует разбивать на более мелкие сервисы, которые легко создавать и обслуживать.

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

Приложения должны запрашивать услуги по стандартным интернет-протоколам, не поддерживая постоянное соединение с сервером. 

Наши предложения:

Пишите свои будущие приложения, используя SOA (сервисно-ориентированную архитектуру) на базе Интернета.

Сделайте службы приложений универсальными и гибкими и готовыми обслуживать различные типы запросов.


Будущие приложения будет легко создавать и редактировать

Клиенты и серверы будут обмениваться данными простым и понятным способом.

Приложения не будут кодироваться, если этого можно избежать.

Приложения будут создаваться и модифицироваться путем редактирования моделей, а не кода.

Описания приложений будут понятны людям.

Описания приложений будут самоописывающими.

Приложения будут писать пользователи, а не программисты.

Наши предложения:

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

Используйте текстовые файлы (например, файлы JSON) для описания приложений.

Используйте текстовые файлы (например, файлы JSON) для обмена данными.

Используйте HTML, CSS и JavaScript для выполнения приложений.


Три маленьких веб-разработчика...

Жили-были три маленьких веб-разработчика, разрабатывавших новый веб-сайт.

1. Первый веб-разработчик использовал AppML.

2. Второй веб-разработчик использовал свой любимый серверный язык программирования.

3. В-третьих, использовалась профессиональная среда корпоративной веб-разработки.

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

Сайт второго веб-разработчика был готов через 6 месяцев. Но WWW изменила свои требования и не была удовлетворена. Веб-разработчик не мог внести серьезные изменения в свой проект, потому что он содержал слишком много кода. Поэтому он начал разработку версии 2.

Третий веб-разработчик так и не успел завершить свою работу. Профессиональная среда веб-разработки была очень сложной в использовании, очень сложной для понимания и почти невозможной для тестирования.

Взгляните, как это сделал первый разработчик .