Який сучасний стан бібліотек та фреймворків JavaScript у полотні HTML? [зачинено]


107

Наразі я досліджую варіанти роботи з полотном у новому додатку HTML 5 і мені цікаво, який сучасний стан сучасних бібліотек та фреймворків JavaScript у HTML полотні?

Зокрема, чи існують рамки, які підтримують такі речі, необхідні для розвитку ігор - складна анімація, керування графічними сценами, обробка подій та взаємодія користувачів?

Також готові розглянути як комерційні, так і продукти з відкритим кодом.


Якщо ви використовуєте графіки сцен та обробляєте події, чи SVG не підходить вашим потребам?
Joeri Sebrechts

Ну, це частина причини, про яку я прошу. Полотно, безумовно, має імпульс імпульсу, тому намагається з’ясувати, що можливо, а що ні. SVG не має масштабів особливо добре, коли мова йде про складні анімації.
Toby Hede,

Ви спеціально шукаєте 3D-графіку, або 2D, або одну?
LarsH

Ще одна приємна демонстрація тут: kevs3d.co.uk/dev/asteroids . Не впевнені, чи створена створена ними бібліотека доступна для всіх. Хороший приклад полотна, хоча.
Кастрохендж

jsfiddle.net/user/zlatnaspirala/fiddles спробуйте цю рамку візуально JS.
Микола Лукич

Відповіді:


96

Скріншот Fabric.js

Я працював над fabric.js - бібліотекою полотен, щоб допомогти саме в цьому - маніпулювати об'єктами на полотні, обробляючи події та взаємодії користувачів. Це ще не випущено, але подивіться просту демонстрацію попереднього перегляду .

Ви також можете бачити його в дії в цьому редакторі дизайну , для якого він був створений спочатку.

Редагувати: Проект тепер доступний на github (відкритий доступ під ліцензією MIT)

Для початку перевірте:

Як тканина порівнюється з іншими бібліотеками полотна Javascript? Ось таблиця порівняння .


Що це робить на IE? ExplorerCanvas?
Саша Чедигов

14
Це феноменальний демонстраційний, надзвичайно вражаючий проект
відключений

3
@musicfreak Так, ExplorerCanvas. До речі, він проходить всі ~ 900 тестів в IE9 (4-й попередній перегляд), використовуючи свою рідну підтримку полотна.
кенгакс

4
Чи є десь сторінка проекту для fabric.js? Мені досить цікаво дізнатися більше про це.
Arne Roomann-Kurrik

О, тільки що мені потрібно ... Мене насправді було засмучено, як важко було керувати функціями, якими ця бібліотека так бездоганно обробляє!
Шувік

17

Я здивований, що ніхто не згадував WebGL та побудовані на ньому рамки. Я вважаю це високим у списку найсучаснішої для 3D-графіки, прискореної графічним процесором та складної анімації на HTML-полотні / javascript.

WebGL - це крос-платформний, безкоштовний веб-стандарт для графічного інтерфейсу 3D-графіки низького рівня, заснований на OpenGL ES 2.0, відкритий через елемент HTML5 Canvas як інтерфейси Модель об’єкта документа. ...

WebGL приносить 3D-модуль без додатків до Інтернету, реалізований прямо у браузері. Основні постачальники браузерів Apple (Safari), Google (Chrome), Mozilla (Firefox) та Opera (Opera) є членами робочої групи WebGL.

WebGL дуже міцний у підтримці графіки, прискореної графічним процесором. Ознайомтеся з цими демонстраціями шейдерів GLSL . :-) І див. ChemDoodle як приклад взаємодії з користувачем.

Я працюю над додатком, використовуючи рамку O3D Google , яка керує графіком сцени, і використовує WebGL для візуалізації (раніше використовувався власний плагін). O3D - це незавершене виробництво, і його документація не є повністю оновленою, але вона знаходиться в стадії активного розвитку, і там є кілька хороших демонстрацій . 3D-басейн може бути більшою частиною вашої алеї. Розробники Google дуже реагують на питання групи обговорень.

Існує ряд інших фреймворків, побудованих на WebGL; дивіться тут . Серед тих, хто згадує про розробку ігор та графіки сцен, є Copperlicht, SceneJS, X3DOM.

WebGL працює в останніх розробках, створених кількома браузерами , але не IE. Я використовував Firefox ("Minefield") і Chromium з хорошими результатами. Вам знадобиться одна з них для запуску вищезгаданих демонстраційних версій

Однак якщо ваші вимоги полягають у тому, що він не повинен мати залежності від полотна / js HTML 5, WebGL може бути не правильним вибором. Схоже, незабаром IE підтримає його .

Оновлення: після надання великого опору, MS вирішили підтримати WebGL в IE 11 .


Three.js запускається на webgl
JqueryToAddNumbers

@nube: хороший момент. Three.js може відображати на WebGL, SVG або звичайному (2D) полотні.
LarsH

15

tri.js , від mr. doob , це фантастичний 3d-движок для javascript, який включає в себе сценограми (як програмне забезпечення, так і версії для WebGL / апаратних прискорених програм), затінення, частинки, анімацію зі шкіри (я думаю) та освітлювальні ефекти. Перевірте це, він супер талановитий хлопець.

Додам, що для перегляду більшості демонстраційних версій вам потрібен найновіший Google Chrome або еквівалент. Один із моїх улюблених: http://mrdoob.github.com/three.js/examples/webgl_materials_cars.html


1
Ця демонстрація насправді ще краща: carvisualizer.plus360degrees.com/threejs
П'єр Генрі

13

KineticJS - це нова бібліотека, яка може створювати та анімувати окремі "шари" на полотні для високої продуктивності.

http://www.kineticjs.com/


github.com/ericdrowell/KineticJS/#mothballed каже: " Я більше не буду підтримувати цю репо або офіційний веб-сайт KineticJS, тому що я перейшов на інші підприємства та проекти ", і GitHub повідомляє про 147 відкритих питань
xmojmr

8

CAKE.js більше не підтримується, але є досить потужною основою - http://code.google.com/p/cakejs/

Демо тут - http://glimr.rubyforge.org/cake/canvas.html , http://glimr.rubyforge.org/cake/missle_fleet.html


2
Дивовижно. Виглядає досить витончено. А в світі ОС ви лише один ентузіаст, який не підтримується активно :)
Toby Hede,

6

Подивіться на processingjs рамки. Також майбутні версії 2.0 мають проект для роботи з полотном


3
ProcessingJS - це цікавий підхід до проблеми, але, по суті, це процедурний DSL, реалізований у JavaScript, не впевнений, що він може мати масштаб до нетривіальних програм. Перевіримо параметр MooTools.
Тобі Хеде

Так, обробка є мовою прототипування даних. Той факт, що є порт Javascript, є акуратним, але це навряд чи робить його рамкою HTML 5.
Пітер Бейлі

Питання полягало в тому, що платформа не є html5, а ось що таке JS.
Andreas Köberle

Вибачте мою семантичну помилку. Canvas Framework - це те, до чого я потрапляв.
Пітер Бейлі

6

Рафаель здається досить гарною бібліотекою з полотнами; це на основі SVG (або на основі VML в Internet Explorer) і, таким чином, підтримує безліч подій користувачів. Він досить маленький (60 кбіт gzipped), тому не надто велика залежність.
Здається, він має і хороший твінер: http://raphaeljs.com/reference.html#animate ( приклади див. Тут і тут ).

Для прикладу того, що він може зробити, подивіться на цю розумну маленьку демонстрацію .

Сподіваюся, це допомагає!


10
SVG - це не те саме, що і полотно
Toby Hede,

4

Я виявив дві бібліотеки надзвичайно конкурентоспроможними і набагато кращими, ніж тканинні.

Kinetic.js і easel.js мають надзвичайно гарну обробку подій, групування та загальну абстракцію форми. Ви знайдете багато чого полюбити в обох; Мовляв, мольберт має більше орієнтації на зображення та фільтрацію.

Ручки подій Fabric набагато гірші за будь-який з цих - в основному він розглядає все полотно як один великий перетворювач подій і повідомляє вам, коли на щось натиснуто "Щось". Він не приєднує події до окремих фігур або груп фігур.


2
FWIW, Fabric тепер дозволяє приєднувати події безпосередньо до об'єктів і має загальний груповий функціонал.
кенгукс


3

Крім того, молода, але непогана рамка Javascript, і це (складна анімація, керування графічними сценами, обробка подій та взаємодії з користувачем) все про нього - jCanvaScript . Може бути, за винятком "керування графіками сцен".


3

Працюючи з bHive для створення графіків та переміщення заголовків сайтів, здається вражаючим та потужним, на відміну від інших, здається, розробляється. Adobe Edge також вартий розсилки, хоча суворо не Canvas.

http://www.bhivecanvas.com

і

http://labs.adobe.com/technologies/edge/


2

Aves Engine справді чудово: http://www.dextrose.com/en/projects/aves-engine

Також Акіхабара здається гарною: http://www.kesiev.com/akihabara/


Aves не випускається і, очевидно, не використовує полотно. Хоча досить вражаючі демонстрації.
Toby Hede,

Aves взагалі не використовує полотно, погляньте на це: paulbakaus.com/2010/07/19/…
alcuadrado

2

Якщо ви хочете використовувати Javascript, Dojo - це чудовий шлях. Він має компактний, багатопластовий (SVG, VML, Canvas, Silverlight) векторний графічний API, який є дуже потужним. Ви можете знайти його в dojo.gfx та dojox.gfx.

Ми використовували це для створення інтерактивного викладача з фізики, який дозволяє студентам малювати вектори, еліпси тощо (навіть додавати зображення) та виконувати на них всілякі перетворення. Ви можете побачити, що ми зробили на веб- сайті http://gideon.eas.asu.edu/web-UI/login.html - просто увійти з будь-яким ім'ям користувача.

Я подивився на fabric.js і dojox.drawing робить багато однакових речей. Якщо ви подивитеся на тести в наборі інструментів (як тільки ви отримаєте його dojox / малюнок / тести /), ви знайдете приклади всього, від векторної графіки до зображень до програмно створених тіней.


1

Я вражений Акіхабарою як ігровим двигуном. У ньому є фантастична документація у вигляді навчальних посібників та api. Я навіть бачив, як на деяких дошках оголошень говорили про випуск akihabara 2. На жаль, все, про що говорять, - приблизно один рік і більше. Я дуже сподіваюся, що цей двигун все ще розробляється.


1

Я щойно випустив першу ітерацію нової бібліотеки малювання та підрівнювання, спрямованої на людей із фоном розвитку AS3 / Flash. Поки моя війна ще не підтримує складних контурів малювання чи графіків, я сподіваюся, що це допоможе людям швидко намалювати та оживити основні примітиви звичним способом.

Відгуки та коментарі вітаються. http://www.quietless.com/kitchen/introducing-js3/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.