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 (Service Oriented Architecture - Сервис-Ориентированная Архитектура).
Сделайте свои сервисы приложений универсальными и гибкими, готовыми к обслуживанию различных типов запросов.
Будущие приложения будет легко создавать и редактировать
Клиенты и серверы будут обмениваться данными простым и понятным способом.
Приложения не будут кодироваться, если этого можно будет избежать.
Приложения будут создаваться и изменяться путем редактирования моделей, а не путем редактирования кода.
Описания приложений будут доступны для чтения людям.
Описания приложений будут самоописательными.
Приложения будут писать пользователи, а не программисты.
Наши предложения:
Используйте удобочитаемые текстовые файлы для описания услуг и предоставляйте услуги, выполняя эти описания.
Используйте текстовые файлы (например, файлы JSON) для описания приложений.
Используйте текстовые файлы (например, файлы JSON) для обмена данными.
Используйте HTML, CSS и JavaScript для выполнения приложений.
Три маленьких веб-разработчика...
Давным-давно было три маленьких веб-разработчика, разрабатывающих новый веб-сайт.
1. Первый веб-разработчик использовал AppML.
2. Второй веб-разработчик использовал свой любимый язык серверного программирования.
3. Третий веб-разработчик использовал профессиональный фреймворк корпоративной веб-разработки.
Первый веб-разработчик запустил демоверсию за два дня. После совместной работы с пользователями за неделю был готов готовый прототип. И после двух недель тестирования интеллектуальный, быстрый и простой в использовании веб-сайт был готов к публикации.
Второй веб-разработчик подготовил свой веб-сайт через 6 месяцев. Но WWW изменила свои требования и не была удовлетворена. Веб-разработчик не мог внести серьезных изменений в свой проект, потому что он содержал слишком много кода. Итак, он начал разработку версии 2.
Третий веб-разработчик так и не смог завершить свою работу. Фреймворк для профессиональной веб-разработки был очень сложен в использовании, очень труден для понимания и его было почти невозможно протестировать.
Посмотрите, как это сделал первый разработчик.