Мы отделяем логику от представления. И в случае с небольшой таблицей нам проще ее отрисовать полностью, чем писать более сложный код, так как ресурсов устройства будет затрачено не много на подобную операцию.
Могу посоветовать курс на hexlet.io. И если язык не принципиален, то там же есть про ООП в PHP.
По JS книгу посоветовать не могу. А вот по PHP Зандстра - там есть хорошие примеры. Язык хоть и другой (для начала чтения книги его практически не нужно знать) , но смысл один и тот же.
yakovlevq , Антон Р. прав. Нужно делать на стороне сервера Разбирая HTTP_USER_AGENT
По коду.
Значение переменной type лучше присвоить через тернарный оператор
let type = width < 1000 ? 'mobile': 'pc'
Из функции loaderSite лучше убрать if/else. Вы в качестве параметра передаете type, можете это значение подставить в url и data. Тогда код у вас сократится вдвое.
Kovalsky, потому что их можно масштабировать без потери качества и векторная графика лучше отрисовывается. Вектор можно стилизовать, не только однотонный, но и многоцветный. С растром придется иметь несколько вариантов оформления.
Спасибо.
Если вы собрались умничать, то делайте это правильно. Есть клавиатуры без кнопки Win и это не Apple.
А если у вас нет ответа по существу вопроса, то лучше не пишите.