AMP для сложной страницы

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


person cometta    schedule 09.05.2016    source источник
comment
AMP предназначен для статей. Вероятно, они должны быть в iframe.   -  person SLaks    schedule 09.05.2016
comment
Я пытаюсь получить больше информации об этом. Означает ли это, что я должен исключить другие функции (голосование, участие). Мне любопытно узнать, что заставит посетителей предпочесть просматривать страницы с AMP по сравнению с обычными страницами, поскольку на нем отсутствуют функции, о которых я упоминал, и отображаются только статьи. Другими словами, если у нас есть 2 версии страниц, пользователям все равно не нужно будет просматривать страницы AMP.   -  person cometta    schedule 09.05.2016


Ответы (1)


Это зависит от того, насколько сложен ваш веб-сайт, но вы, вероятно, захотите последовать примеру GitHub и спрятать некоторые дополнительные функции на настольном сайте. Я думаю, что страницы AMP должны быть сокращены до содержания статьи, по крайней мере, до тех пор, пока проект AMP не предложит пользовательский элемент для форм. Вверху или внизу страницы должна быть четкая ссылка/кнопка «Использовать настольный веб-сайт», чтобы те, кто хочет в полной мере взаимодействовать с веб-сайтом, могли это сделать.

Это позволяет предоставлять основной контент мобильным пользователям в оптимизированной форме и с оптимальной скоростью, а мобильные пользователи часто находятся в пути, поэтому они могут не возражать против того, чтобы дождаться, пока они окажутся на своем рабочем столе, чтобы прокомментировать или проголосовать за что-то. Затем те пользователи, которые используют мобильное устройство, но все еще хотят комментировать или голосовать на своем мобильном устройстве, могут по-прежнему делать это, переключаясь на сайт для настольных компьютеров.


Я говорю это, потому что я думаю, что GitHub имеет очень много потенциальных взаимодействий с редактированием кода, обсуждением проблем / PR и так далее, и это может быть излишним для загрузки на мобильном устройстве, учитывая, что не так много людей собираются использовать эти вещи на мобильное устройство. Они будут читать сообщения и код, но не обязательно будут взаимодействовать в этот момент.

Я также говорю это, потому что я разрабатывал доску объявлений/форум, используя только AMP-HTML (и Perl на серверной части), чтобы проверить, что на самом деле возможно с использованием iframes для форм с использованием amp-iframe.

Хорошая новость в том, что это можно сделать, это работает. Я смог использовать iframes для публикации новых тем, ответов и так далее. Плохая новость - реализация...

План, который я придумал, состоял в том, чтобы загружать элементы form и input через iFrame, передавая важные параметры, такие как номер сообщения и идентификатор автора, через строку запроса в URL-адресе src iFrame, который будет создан программно с использованием языка шаблонов. Это уже некрасиво.

Затем я использую JavaScript внутри iFrame, чтобы получить параметры из строки запроса и добавить их в элементы input (type="hidden" вместе с атрибутом name и URL-адресом action, на который отправляется форма).

Затем я устанавливаю target="_top" на form, чтобы он перезагружал всю страницу при отправке. Чтобы все это работало, вам потребуются следующие атрибуты элемента AMP-IFRAME: allow-scripts allow-forms allow-top-navigation.

Мне пришла в голову мысль использовать AJAX, но в дальнейшем это стало еще более запутанным из-за какой-то проблемы с CORS, которую я, честно говоря, не удосужился исправить. Мне также пришла в голову мысль, что я, вероятно, все делаю неправильно, и, вероятно, есть какой-то супер простой способ сделать это.

Этот метод позволяет мне создавать полезные формы, при этом проходя проверку AMP. Вопрос: действительно ли оно того стоит? Очевидно, что вы можете использовать любую технологию на стороне сервера, которую захотите, но она, вероятно, будет сильно отличаться от реализации вашего текущего веб-сайта для настольных компьютеров, и может потребоваться немало времени для разработки, тестирования и повышения безопасности с точки зрения безопасности.

Я лично считаю, что это не стоит дополнительного времени. Я считаю, что проект AMP в конечном итоге будет включать amp-form пользовательский элемент, когда они разработают достаточно средств для ограничения их использования.

person amdouglas    schedule 09.05.2016
comment
Спасибо за объяснение @amdouglas. Я до сих пор сомневаюсь, стоит ли все это делать. - person cometta; 09.05.2016