Во-первых, я не собираюсь ни враждебности, ни пренебрежения, просто хочу знать мысли людей. Я смотрю на двунаправленную связь между клиентом и сервером; клиент, являющийся веб-приложением. На данный момент у меня есть несколько вариантов: проприетарное связывание MS, ненадежное и неестественное: кометы и веб-сокеты (для поддерживаемых браузеров).
Я знаю, что этот вопрос здесь задавался другими способами, но у меня есть более конкретный вопрос к подходу. Учитывая, что веб-сокеты на стороне клиента, клиентский код находится в JavaScript. Это действительно намерение построить большой кусок приложения непосредственно в JavaScript? Почему W3C не делал этого в веб-сервисах? Не было бы проще, если бы мы могли использовать SOAP для предоставления контракта и определения событий вместе с существующим обменом сообщениями? Просто похоже на короткий конец палки до сих пор.
Почему бы не упростить и не воспользоваться преимуществами динамической природы JS и не оставить большую часть кода там, где он принадлежит .... на сервере?
Вместо
mysocket.send("AFunction|withparameters|segmented");
мы могли бы сказать
myServerObject.AFunction("that", "makessense");
и вместо
...
mysocket.onmessage = function() { alert("yay! an ambiguous message"); }
...
мы могли бы сказать
...
myServerObject.MeaningfulEvent = function(realData) { alert("Since I have realistic data...."); alert("Hello " + realData.FullName); }
...
HTML 5 занял целую вечность ... мы потратили много сил в неправильном направлении? Мысли?