Может ли HTML5 canvas работать с такими сложными играми, как Flash? - PullRequest
4 голосов
/ 09 сентября 2010

Кроме того, поскольку стандарту для таких вещей, как HTML, требуется так много времени, возможно, что <canvas> в HTML5, хотя его нельзя заменить в спецификациях, будет часто обновляться в браузере, чтобыон может становиться все лучше и лучше, как Flash делал / делает в различных итерациях?

Другими словами, у нас может быть <canvas> через десять лет, но холст сегодня не будет холстом пяти лет, кроме как по названию?

Ответы [ 2 ]

7 голосов
/ 09 сентября 2010

Краткий ответ, в настоящее время и в обозримом будущем, нет .

Во-первых, вы должны понимать, что речь идет не только о HTML5.Javascript также необходим для анимации, игровой логики, 2D / 3D-движка и т. Д. И хотя производительность ActionScript очень низкая, производительность Javascript ужасна по сравнению с , что .Кроме того, у Flash есть зрелая и развитая среда IDE и набор инструментов для рисования, которые позволяют создавать сложные векторные графики и анимации.Насколько мне известно, таких вещей для <canvas> не существует.

Что касается спецификации, опять же, невозможно.Adobe контролирует IDE, языковые спецификации и проигрыватель на стороне клиента для Flash.В основном это означает, что они могут делать с ним все, что хотят.Если вам не нравятся какие-либо изменения, не покупайте / не используйте их продукт.Это означает, что они могут развивать свой продукт в любом направлении, которое они считают нужным, и в таком темпе W3C никогда не сможет сравниться.

HTML, с другой стороны, сильно отличается.W3C должен встретиться с основными поставщиками браузеров, а также послушать веб-разработчиков и конечных пользователей.И хотя яркие, интересные функции, такие как <audio> и <canvas>, находятся в начале списка пожеланий каждого веб-разработчика, обратная совместимость также невероятно важна для спецификаций.Это одна из причин, по которой разработка спецификаций идет так медленно - спецификации зависят не только от их развертывания W3C - это также производители браузеров, принимающие спецификации, веб-разработчики, использующие эти функции, и конечные пользователи, обновляющие свои браузеры.Ничто из этого не изменится в HTML5, так почему вы ожидаете, что скорость разработки возрастет?

1 голос
/ 17 октября 2012

Нет.

Если вам нужно использовать canvas поверх Flash, стоит проверить, что Grant Skinner сделал с пакетом Create.js - Easel.js - очень хорошая попытка смоделировать или приблизить модель отображения Flash (контейнеры, параметры и т.д.), и с приличной JS IDE (хммм) вы можете добиться хороших результатов, но если вы Flash-разработчик, то опыт зачастую довольно удручающий, это все равно что вернуться на десять лет назад и писать сложные программы на JavaScript? Приготовься к серьезной боли.

С точки зрения производительности, холст прошел долгий путь, но вам все равно придется кодировать в JS, вам не хватает Flash IDE, которая экономит недели разработки. Надеемся, что если нам действительно понадобится перенести этот большой беспорядок на Flash, Adobe Edge поможет с этим.

Кроме того, поддержка звука в HTML5 жалкая. Опять же, Grant Skinner и Audio.JS могут избавить от многих трудностей, но, как и в случае с дисплеем, большие фрагменты набора функций флэш-памяти просто не существуют в HTML5, и пока нет способа приблизить их, как, например, Yi Jiang указывает (вы можете спокойно игнорировать другой ответ) любые существенные изменения занимают долго время, чтобы прийти!

...