Задать вопрос

Стоит ли делать фреймворк?

Делал фреймворк, довольно давно забросил, сейчас вспомнил из этого топика. Там были ясно описаны проблемы html5:
— игры на HTML5 требуют гораздо больше времени и ресурсов на разработку.
— игры на HTML5 имеют открытый код, что неприемлемо для бесплатных игр, залоченных на один портал.
— отсутствие адекватной упаковки игры в один файл для дистрибуции на разных порталах.
— отсутствие адекватной векторной графики, так как SVG не юзабелен.

Когда-то задумавшись над этим, я и начал разработку данного фреймворка, пытаясь что-то исправить. И хотелось бы спросить: а стоит продолжать? Для подробностей опишу фреймворк.
На страницу вставляем что-то такое:
html5engine.start('cnv', 'test.js');

Где cnv — id некоторого canvas-а, test.js — js-файл. В котором может быть, например:
ctx.fillText('Hello, world', 10, 10);


— любой скрипт жёстко крепится к определённому canvas-у и не может управлять DOM страницы (в целях безопасности, чтобы можно было что попало себе на сайт пихать). При этом можно назначать обработчики событий на canvas и работать с обоими контекстами — 2D и WebGL. Ну и дополнительные возможности.
— специальные классы для упрощения жизни — одни математические, другие — работают с… В общем: Vector, Matrix, Rectangle, Ajax, Class, Color…
— дополнительные возможности по работе с разными audio и video.
— при любом ajax-запросе отправляется дополнительный заголовок, через который его можно распознать (в целях безопасности от всякого рода CSRF) — реализуется путём подмены XMLHTTPRequest, где оригинальный xhr хранится в нёдрах замыкания.
— ну и куча дополнительных функций-утилит, типа Array#each #first #last, String#camelize и т.д…
  • Вопрос задан
  • 2736 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Aquahawk
нет, не стоит. Фреймвёрки так не делаются. Вот вы сделайте игру, разочаруйтесь в подходе и архитектуре и сделайте вторую. Потом когда будете делать третью выделите из фторой фреймвёрк и на нём сделайте третью. Вот тогда оно станет нормальным фремвёрком.
Ответ написан
@egorinsk
> любой скрипт жёстко крепится к определённому canvas-у и не может управлять DOM страницы (в целях безопасности

Уверены, что сможете реализовать? Плюс, не понимаю, зачем это нужно.

> специальные классы для упрощения жизни

лишние тормоза

> при любом ajax-запросе отправляется дополнительный заголовок, через который его можно распознать (в целях безопасности от всякого рода CSRF)

Ерунда какая-то.

> ну и куча дополнительных функций-утилит, типа Array#each

Они и так есть в W3C браузерах. А в ИЕ нет канваса.

Лучше скажите, как вы будете поддерживать ИЕ7/8, как решать проблемы несмовместимости канваса в разных браузерах, проблемы с производительностью. На флеше делать ферму гораздо проще, она будет работать во всех браузерах, выпущенных за последние 10 лет и на рынке труда флешера найти проще чем грамотного HTML5-кодера.

Думаю, пока у вас нет четкого понимания способа решения этих проблем, бессмысленно что-то делать.
Ответ написан
Прочитал внимательно ваш вопрос (2 раза прочитал!) — Вы не на тот тип игр ориентируетесь. Вы ориентируетесь на маленькие каузуальные игры, а Вам надо бросить свой взгляд на независимые крупные браузерки.

Флеш, это конечно, хорошая платформа для написания игр, но и она имеет ряд проблем.
Игры на Canvas или WebGL оригинальны, но не «эффективны» — они никогда не создадут полноправную конкуренцию Flash.
А вот «стандартные» крупные браузерные игры основанные на спрайтовой анимации и игровых js-движках скоро начнут возраждаться, т.к. HTML5 открыл для них очень много новых возможностей. Вот тут место вашему фреймворку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы