natusimmortal
@natusimmortal

Возможно ли передавать только json и потом парсить?

Идея такая: передавать с сервера только данные в json'e, а после парсить их с помощью js. Ну и далее строить сайт на асинхронных запросах.
Возможно кто-то сталкивался и вопросы возникают такие:
1. быстрее ли (и на сколько быстрее) будет загружаться страница;
2. как себя будет вести поисковый робот - подозреваю, что совсем плохо :(
  • Вопрос задан
  • 2487 просмотров
Пригласить эксперта
Ответы на вопрос 5
Такая практика становится все более популярной. RESTful API можно помимо фронтенд приложения использовать, скажем, с мобильным приложением или открыть в public для создания альтернативных приложений. В общем, гораздо более гибко получается. На UI для работы с такой архитектурой существует уже достаточно много фреймворков. В частности, Angular.js, Ember.js, Backbone.js и др. Мне больше нравится Ember.
1. Страницы, естественно, загружаются быстрее. Причем не только за счет того, что передается меньше данных, но и за счет более быстрой работы сервера. Ему уже не нужно выполнять кучу дополнительных действий, необходимых для формирования страницы, он отвечает только на то, о чем его спрашивают.
2. Голое SPA-приложение не будет индексироваться поисковыми системами. Тут Вам может помочь prerender.io
Ответ написан
Комментировать
fornit1917
@fornit1917
> быстрее ли (и на сколько быстрее) будет загружаться страница;
Далеко не всегда.

> как себя будет вести поисковый робот - подозреваю, что совсем плохо :(
Да, если не принимать дополнительных мер. Обычно делают для аякс-запросов отдачу json-а, а для не ajax-запросов поисковых ботов по той же самой ссылке отдают нормальную html-страницу.
Ответ написан
Комментировать
@artnazarov
1. Однократная передача данных от сервера к клиенту быстрее, порция данных-то меньше, меньше запросов сопряжено с действием... А вот про окончательный рендеринг интерфейса сказать однозначно нельзя. Если базовый интерфейс загрузился, то конечно субъективное время загрузки на каких-то дальнейших запросах будет мало, вы же изменения отображать будете, т.е. масса запросов отсеется, что-то прокешируется. Инициализация же базового интерфейса может занять больше времени (пример: открытие нескольких новых вкладок).
2. Необходимо следовать рекомендациям поисковой системы, у яндекса это в документе https://help.yandex.ru/webmaster/robot-workings/aj... описано.
P.S. Неоправданное использование AJAX в принципе может ухудшить юзабилити, на поведенческом факторе сказаться, были и такие публикации.
Не отвергаю AJAX, но предлагаю внедрять его вдумчиво, по ситуации.
Ответ написан
Комментировать
@sainttechnik
Frontend developer, в прошлом админ
Возможно. Идея не нова. Сейчас работаю над довольно большим проектом с такой архитектурой.
Работает намного быстрее, чем полная перезагрузка страниц. Очень желательно начинать разработку с применением какого-то JS фреймворка (Backbone, Ember, Angular и т.д.).
О том как подружить такой ресурс с поисковым роботом не подскажу - не изучал этот вопрос.
Ответ написан
Комментировать
DaFive
@DaFive
3 кабинета наших проектов настроены под такое дело. Работаем с knockoutjs.
У нас объем данных для юзера такой, что просто невыгодно грузить все и сразу, скрывая и показывая в зависимости от ситуации. Индексация кабинета юзера нас не беспокоит вообще. MVVM мощная штука, не знаю как раньше без нее обходились. Если у вас всё упирается в индексацию поисковиками - тут не могу подсказать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 22:30
200000 руб./за проект
24 апр. 2024, в 22:11
2000 руб./за проект
24 апр. 2024, в 21:49
10000 руб./за проект