AJAX против ActiveX / Flash для браузерной игры - PullRequest
4 голосов
/ 29 марта 2010

Я следил за использованием JavaScript в течение последних нескольких лет, и с выпуском чрезвычайно быстрых скриптовых движков (V8, SquirrelFish Extrene, TraceMonkey и т. Д.) Возможности JavaScript значительно возросли. Однако доля использования Internet Explorer в сочетании с полным отсутствием поддержки последних стандартов заставляет меня хотеть сбросить бомбу на штаб-квартиру Microsoft, поскольку это создает огромное количество проблем для любого веб-сайта.

Игра должна быть довольно динамичной на стороне клиента, с анимацией и другими приятными на вид вещами, но не полноценной игрой, подобной играм, которые запускаются непосредственно в ОС с использованием DirectX или OpenGL. Тем не менее, это может быть немного растянуто для JavaScript и, безусловно, будет чувствовать себя очень медленно в Internet Explorer (учитывая, что текущий движок IE может быть в сотни раз медленнее, чем SFX; нужно посмотреть, что принесет IE9), лучше было бы просто все это во Flash? Я знаю, что это означает, что мне нужен плагин, и у меня нет опыта работы с Flash (кроме просмотра YouTube: P). Это также означает, что я не могу просто выводить напрямую из PHP, мне придется использовать XML или другой формат для передачи данных в него (JSON напрямую интегрирован в JS, и PHP может легко с этим справиться).

Другая идея состояла бы в том, чтобы предоставить альтернативный интерфейс только для IE, хотя я не знаю как (возможно, ActiveX? Или с Flash, тогда почему бы просто не предоставить его всем браузерам) или полностью не поддерживать его и требовать использования других браузеров, хотя это глупо с точки зрения бизнеса.

Итак, вот я, задаюсь вопросом, какой подход выбрать, и поэтому прошу вашего совета. Как мне построить клиентскую часть? AJAX во всех браузерах, Flash во всех браузерах или микс (AJAX для «современных» браузеров и что-то еще для «дедушки»: IE).

Ответы [ 5 ]

1 голос
/ 29 марта 2010

Я рекомендую подключаемую платформу (Flash, Silverlight или Java) поверх AJAX. Наличие чистого уровня абстракции между вашей игрой и браузером клиента является большим преимуществом. В любой нетривиальной игре AJAX с нетерпением ждут бесконечные случаи, когда браузеры отличаются по производительности или реализации.

Лично я думаю, что Flash легко изучить, если вы пришли из опыта AJAX. Flash в настоящее время является самым распространенным и проверенным плагином для браузерных игр. Тем не менее, Silverlight и Java создают новый импульс. Кроме того, движок Unity стал популярным выбором для коммерческих браузерных игр.

0 голосов
/ 18 мая 2011

Как насчет использования RaphaelJs , это библиотека Javascript, которая создает динамические изображения с использованием SVG, а для IE она пытается сделать эти изображения с помощью альтернативы IE: VML. Я использую его на своей собственной WebGame , но я не делаю в нем сложной графики. Самой сложной вещью, выполненной на RapahelJs, была карта пустошей (20 * 20 тайлов) с ползунком прозрачности dinamyc. Это работает с JQuery без каких-либо проблем или конфигурации!

0 голосов
/ 01 апреля 2010

Проверьте Jmonkey. «Плагин» загружается, если у вас есть Java на вашем компьютере. Как только он кешируется, в следующий раз, когда посетитель перейдет на страницу, ваша игра загружается очень быстро. Проверьте их веб-сайт для демонстраций и посмотрите, что я имею в виду: http://www.jmonkeyengine.com/

О, я забыл сказать, что это движок Java 3D-сцены. Я просто попробовал еще раз, и он загрузился в Linux. Похоже, они проделали хорошую работу.

Не делайте этого с помощью JavaScript в браузере. И Flash действительно может быть болезненным только потому, что это закрытый исходный код, и вы не знаете, сделали ли вы ошибку или обнаружили ошибку - если говорить из опыта. Я бы никогда больше не захотел сделать еще одну флеш игру.

0 голосов
/ 29 марта 2010

Я считаю, что текущий ответ - Flash-игра.

Альтернативы:

Java-апплет: становится все менее распространенным в те дни, и на многих компьютерах его обычно не устанавливают как плагин.

SilverLight: слишком новый и может изменяться и изменяться во времени. обычно не устанавливается на многих компьютерах, и это Microsoft (которая меняет технологию каждые 2 года ...)

JavaScript / AJAX: все еще новый ребенок в блоке, он находится на подъеме, это правда со многими приятными функциями, но все еще не хватает хорошего кросс-браузера для IE, даже IE8, не может воспроизводить звуки внутри, все еще медленнее, чем другие и вы не знаете, где он будет развиваться.

В конечном итоге, вероятно, лучшим решением на данный момент является разработка Flash: Кроссплатформенный. Работает быстро Давно уже живы и имеют большую поддержку.

Я надеюсь, что этот ответ изменится в следующем году. Happy Peasach.

0 голосов
/ 29 марта 2010

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

С другой стороны, это может быть не для вас. Но на этом раннем этапе, я думаю, вам следует оценить все свои варианты, и, поскольку у вас нет опыта работы с Flash, но, похоже, у вас немного опыта программирования, вы можете чувствовать себя как дома с Java.

...