Intro
Я борюсь с выбором, который мне нужно сделать.Мы должны создать довольно сложное html-приложение, которое будет использовать множество динамических вещей, таких как сортируемые файлы jQuery, и другие изящные html5 вещи.В настоящее время у нас есть выбор между двумя вариантами.Я постараюсь описать их как можно лучше.Я хотел бы услышать ваше мнение об этом, и какой вариант вы выберете и почему.
Просто JS и HTML
Создайте все вJavaScript / HTML.Будет один HTML-файл, который будет включать другие части HTML-файлов.Так, например: index.html может включать menubar.html и news.html.Теперь я буду называть их «частичными», как в C # .NET
Это включение будет осуществляться через javascript.Мы будем использовать самодельный шаблонизатор, который будет получать частичные html-файлы с помощью вызова AJAX (jQuery).Итак, просто AJAX-вызов html-файла.Таким образом, он фактически читает текст внутри него.Затем прочитанный текст (который является html) будет помещен в index.html по указанному тегу, например;{content: menubar}
Но частичный html-файл может также содержать другие «теги», подобные этому:
Ваше имя пользователя: {username}
Каждый частичный вид будет принадлежать «viewmodel» (Мысобираюсь использовать архитектуру MVVM).Таким образом, шаблонизатор знает, в какой модели искать этот тег, и заменит этот тег соответствующим значением.
Мы также будем использовать пользовательский шаблон наблюдателя.Механизм шаблонов будет использовать наблюдателя для автоматического обновления html при изменении значения в модели.
Все данные, которые необходимо отобразить, будут получены с сервера.Мы подключимся к нему через html5 сокеты.Возвращенные данные будут в формате JSON.
Сочетание HTML / JS и PHP
Другая возможность - использовать вместо этого среду PHP.Мы будем использовать шаблонизатор фреймворков для объединения всех частичных html-файлов в index.html.Когда происходит обновление, в файл PHP будет сделан вызов AJAX.Файл PHP, скорее всего, будет возвращать данные HTML вместо JSON.Потому что в этом случае мы не будем использовать систему шаблонов в javascript.Данные HTML, конечно же, будут получены из частичных файлов HTML.PHP заполнит все необходимые данные в этом частичном html-файле.
Тем не менее, соединение веб-сокета все еще будет, но оно будет использоваться только для отправки и получения уведомлений.
Ваше мнение?
Мне бы очень хотелось услышать ваше мнение.Для меня первый звучит как хорошая идея.Но как-то не хочется.И я действительно не понимаю, как клиент может получить дополнительную выгоду от этого, когда почти все сделано на стороне клиента.По какой-то причине у меня есть ощущение, что когда мы пойдем по этому пути, возникнут еще более скрытые проблемы.
Я думаю, что второй подход был бы лучше.Для меня сокетное соединение уже является своего рода наблюдателем.Он уведомляет вас, когда произошло событие (например, другой пользователь внес изменение).Мы также можем уменьшить количество файлов JS, так как на сервере будет выполняться много всего.
Но, возможно, ответ заключается в том, что действительно не имеет значения, какой выбор мы сделаем.
Есть мысли по этому поводу?