В современном вебе оба везде используются, так что оба необходимы, не надо выбирать
Есть Single Page App’ы типа Инстаграма и этого форума, где много JS, но это не значит, что мало серверной части, ей тоже постоянно шлются запросы.
И сделано это не из-за слабости сервера, а по другим причинам типа удобства пользователя.
Из плюсов связанных с производительностью в SPA: быстрая загрузка, может быть (при долгом использовании) пользователь потратит меньше трафика потому что в запросах в основном возвращается только сам контент в JSON, а не вся HTML страница с кучей повторов в каждом запросе.
Основной минус SPA: сложнее разрабатывать и тестировать. Ну и возможны проблемы с SEO, ссылками и фичами браузера типа истории, “Назад” и т.п., но это решаемо.
С классическим сайтом всё просто — получил запрос, проверил, достал данные из БД, сгенерировал и вернул HTML. Об остальном позаботится браузер. А с SPA надо думать еще о куче других вещей, безопасности (что можно и что нельзя делать на клиенте), разбираться с фреймворками типа React/Vue/Angular, думать как писать автоматические тесты для клиентской части.
Поэтому лучше не делать это, если нет необходимости )
Начинайте с обычных сайтов с классической серверной частью и немного JS на клиенте для удобства, например, валидация данных форм (но на сервере она тоже нужна!), перезагрузка чего-нибудь (комменты к блогопосту, …) без обновления всей страницы.
если для слабых серверов - то JS, для оптимизации на стороне клиента - PHP
Скорее не “слабых”, а “без PHP”.
Есть хостинги для статических сайтов типа GitHub Pages, Netlify.
Для сайтов-визиток, блогов неплохо и бесплатно/дешево. (для не статики вроде бы практически нет нормальных бесплатных хостингов, разве что бесплатный план Heroku, если мало посетителей, например, учебные проекты, демо)
Например, многие используют Jekyll для генерации блогов.
Если нужны комменты к постам — сервисы типа Disqus, JustComments, комменты из issue гитхаба.
Ну то есть по сути использование чужой серверной части с PHP и т.п. Совсем без нее никак, потому что нужно где-то хранить комменты (и сразу динамически добавлять при отправке новых), юзеров, нужна аутентификация/авторизация, валидация (чтоб не было уязвимостей типа XSS), анти-спам и т.д.
Вот еще статья про некоторые сервисы и идеи, которые могут помочь обойтись без своей серверной части: