https://pikabu.ru/story/desktopshchik_poznaet_veb_chast_vtor... предыдущая часть
Н - новичок, П- программист
…
Н: Слушай, у меня такой вопрос. У меня есть Api, с которых я беру данные, для отображения на странице. И вот, я настроил шапку сайта с картинкой, боковую навигацию, подвал с картинкой, и оно у меня на всех страницах одинаковое. И меня расстраивает, что при переходе с одной страницы на другую приходится постоянно загружать вместе с контентом их. А контент составляет только текст. Можно ли как-то это ускорить, чтобы только контент подгружался, а остальное нет. Ajax’ом можно это сделать, но при большом количестве страниц появляется лапшичный код и поддерживать все это нереально. Может фреймы использовать?
П: Не-не-не. То, что ты хочешь, называется SPA, или одностраничные приложения. Ты что-нибудь слышал о библиотеках React Vue, компонентах?
---
Н: О, опять что-то новое изучать. Ну, давай, рассказывай, как его подключать, как пользоваться компонентами. И что это за расширение .vue, это не похоже на расширение JavaScript’a .js. Это точно JavaScript?
П: Ну, вначале тебе нужно установить Nodejs, это серверная платформа для работы с JavaScript.
Н: Чего? Зачем?
П: Чтобы собрать модули для сборки и запуска Vue приложения, запустить web-сервер и на нем открыть наш проект.
Н: ЭЭЭЭ… ммм… Я хотел уточнить. А, мы точно еще находимся во фронтенде? Просто, я ведь сейчас работаю с HTML CSS и JavaScript. Я же хочу только принимать данные с Api и отображать их на сайте. Разве одного браузера недостаточно?
П: Ну... Уже нет. Браузер не понимает расширение *.vue. И да, теперь с помощью NodeJs на JavaScript можно программировать на бэкенде.
Н: Ну вот что это такое! Я просто хотел добавить функциональности к своему сайту, а теперь придется создавать новый проект. Ладно, нам не привыкать. Устанавливать через командную строку VueClI? Создатели NodeJS явно любили Линукс. Так пакеты собрались, смотрим размер. 80Мб! Я даже еще “Hello world”не написал, а проект уже весит 80Мб, Карл. Что там столько весит. OMG! Папка node_modules! 12500 файлов, 1800 папок. Куда их столько? Зачем столько модулей. Что там на главной странице написано. Производительный, всего 20Кбайт!
П: Ну, это только JS файл, если без модулей.
Н: Хорошо, буду изучать. Как никак, хочу работать в вебе, надо привыкать. Чувствую себя вечным студентом.
…
П: Здорова, как настроение? Устроился на работу.
Н: Ага, в одну крупную компанию. Дали работать над старым проектом, который приносит основной доход компании, который все еще развивается и поддерживается. Написан он на WebForms, а веб-компоненты на Ext.NET; (WebForm – это попытка Microsoft передать опыт разработки десктопной разработки в веб). Вот зачем это я все изучал, если на практике может оказаться… вот такое.
П: Оу… (Не нравится ищи другую работу). Ну а что ж поделать, старые проекты тоже ж надо поддерживать. У меня тоже есть проект, у которого база данных записывается в текстовой файл, а не в БД. Программистом работать, дело это такое – и новые технологии изучать, и старые проекты поддерживать.