Преимущества / Недостатки веб-сайтов, созданных с помощью 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 выглядит круто из-за разделения пользовательского интерфейса и логики , но это совершенно неэффективно на практике