Планирование программного обеспечения для такой продолжительности жизни сложно, потому что мы не знаем, что нас ждет в будущем. Немного контекста: Java была опубликована в 1995 году, 21 год назад. Впервые XmlHttpRequest стал доступен как собственное расширение для Internet Explorer 5, опубликованное в 1999 году 17 лет назад. Прошло около 5 лет, пока он стал доступен во всех основных браузерах. 20 лет, которые вы пытаетесь заглянуть в будущее, - это время, когда даже существуют богатые веб-приложения.
Некоторые вещи, конечно, остались прежними с тех пор. Были предприняты серьезные усилия по стандартизации, и большинство браузеров хорошо соответствуют различным стандартам. Веб-сайт, который работал во всех браузерах 15 лет назад, будет по-прежнему работать одинаково, при условии, что он работал, потому что он нацелен на общее подмножество всех браузеров, а не потому, что он использовал обходные пути для каждого браузера.
Другие вещи приходили и уходили - наиболее заметно Flash. У Flash были различные проблемы, которые привели к его упадку. Самое главное, что она контролировалась одной компанией. Вместо конкуренции внутри платформы Flash была конкуренция между Flash и HTML5 - и победил HTML5.
Из этой истории мы можем собрать пару подсказок:
Сделайте это просто: делайте то, что работает прямо сейчас, без использования обходных путей. Такое поведение, вероятно, останется доступным в будущем по причинам обратной совместимости.
Избегайте использования собственных технологий и предпочитайте открытые стандарты.
Мир JavaScript сегодня относительно нестабилен с большим потоком библиотек и фреймворков. Тем не менее, почти ни один из них не будет иметь значения через 20 лет - единственная «структура», которая, я уверен, к тому времени будет использоваться, - это Vanilla JS .
Если вы хотите использовать библиотеку или инструмент, потому что это действительно значительно упрощает разработку, сначала убедитесь, что она построена на основе хорошо поддерживаемых современных стандартов. Затем вы должны загрузить библиотеку или инструмент и включить их в свой исходный код. Ваш репозиторий кода должен включать в себя все необходимое, чтобы система работала. Все внешнее - это зависимость, которая может сломаться в будущем. Интересный способ проверить это - скопировать код на флэш-накопитель, перейти на новый компьютер с другой операционной системой, отключить его от Интернета и посмотреть, сможете ли вы заставить свой интерфейс работать. Пока ваш проект состоит из простого HTML + CSS + JavaScript и, возможно, некоторых библиотек, вы, скорее всего, обойдетесь.