Преимущества / Недостатки веб-сайтов, созданных с помощью Javascript

два хороших примера будет google и facebook.

в последнее время я размышлял о мотивации этого подхода. Мое лучшее предположение было бы почти полностью отделяет логику между вашим внутренним языком и разметкой. Создание массива для отправки в формате JSON кажется аккуратным способом поддержания кода, но какие другие элементы я здесь пропускаю?

Какие преимущества / недостатки этого подхода, и почему такие крупные компании это делают?

5 ответов


основным недостатком является то, что у вас есть некоторая боль с индексацией контента вашего сайта.

для Google вы можете где-то решить проблему, используя схему обхода. Google поддерживает обход, который позволяет индексировать динамически (без перезагрузки страницы) генерируемый контент вашей страницы.

для этого ваши виртуальные ссылки должны быть такими адресами:http://yoursite.com/#!/Регистрация/. В этом случае Google запрашивает http://yoursite/register/ индексировать содержимое адреса.

при нажатии на виртуальную ссылку нет перезагрузки страницы. Вы можете предоставить это с помощью onclick:

<a href='http://yoursite.com/#!/register/' onclick='showRegister()'>Register</a>

виртуальное преимущество заключается в том, что содержимое страницы меняется без перезагрузки страницы. В моей практике я не использую JavaScript generation для этого, потому что я строю свой интерфейс в фиксированных положениях. Когда страница перезагружает пользователь ничего не замечает, потому что элементы интерфейс появляется в ожидаемых местах.

Итак, мое мнение, что использование динамической генерации страниц-большая боль. Я думаю, что Google сделал это не для разделения разметки и бэкэнда (это не настоящая проблема, для этого вы можете использовать сложную структуру бэкэнд-интерфейса), а для использования преимуществ удобного и приятного представления для пользователей.


преимущества

  • состояние просмотра сохраняется на клиенте (удаление нагрузки с сервера)
  • частичное обновление страниц
  • серверу не нужно знать о HTML, что приводит к сервис-ориентированной архитектуре

недостатки

  • закладок (состояние в URL) труднее реализовать
  • сделать его доступным для поиска по-прежнему выполняется работа
  • нужна отдельная схема для поддержки не-JS пользователи

Я не на 100% понимаю ваш вопрос, но я постараюсь сделать все возможное здесь...

Google и Facebook широко используют JavaScript на всех своих веб-сайтах и продуктах. Каждый крупный веб-сайт использует его.

JavaScript-это технология, используемая для изменения поведение сайтов.
HTML = > определяет структуру и элементы

CSS = > укладка элементов

языки сценариев => динамически генерирующие элементы и заполнение их данными

JavaScript => изменяет все вышеперечисленное, взаимодействуя с DOM, реагируя на события и элементы стиля на лету

Это "подход", как вы называете его на каждом веб-сайте в интернете сегодня. Альтернативы JavaScript/HTML/CSS нет. Вы можете изменить используемую базу данных или язык сценариев, но JavaScript / HTML / CSS является константой.


Рассмотрим пример простой проверки формы ...

клиент отправляет запрос на сервер ... сервер выполнит код на стороне сервера, содержащий логику проверки и в ответе ...сервер отправляет результат клиенту ....

Если у клиента есть возможность выполнить / обработать (это может быть выполнено на стороне клиента ... форма ...(выполните проверку)..клиенту не нужно будет отправлять запрос на сервер ...и ждать ответа сервера на эту просьбу ...


Я предлагаю вам взглянуть на Google Page Speed best practice http://code.google.com/intl/it-IT/speed/page-speed/ чтобы увидеть, какие факторы делают хорошую страницу ... создание страницы на JavaScript выглядит круто из-за разделения пользовательского интерфейса и логики , но это совершенно неэффективно на практике