Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Графика и рисование в js (https://javascript.ru/forum/dom-window/41758-grafika-i-risovanie-v-js.html)

riva 29.09.2013 16:40

Цитата:

Каких еще классов? Нет в HTML никаких классов к сожалению.
Да при чём HTML ?) У меня естественно есть классы кнопок, скролов, меню и т.д. Вот я и решил, что начну с переноса этих классов, так как события и работа с координатами мало чем отличается. но я не нашёл класса для рисования и по этому спросил Вас.
Так же я очень хочу перенести самописные движки конструкторов, для которых как раз и нужно интерактивный холст, для drag-a обьектов и catmull-ов. Код, саму модель, я перепишу ( как я думаю ) ну или как всегда Вас спрошу) , а вот как это отобразить? Для меня очень удивительно, что у js, для которого даже TweenLite создали, нет класса рисования.
Вот на примере конструктора поставлю вопрос - как бы Вы это сделали?
Как это отображать?

И по поводу Canvas, если он такой не востребованный, то чем Вы пользуетесь для улучшения производительности? Есть какое то более лучшее решение с работой GPU?

Madzi 29.09.2013 17:02

Цитата:

Сообщение от Erolast (Сообщение 274167)
Canvas же нужен для рисования рисунков, и не более того. Это элемент html, управляемый javascript'ом. Нет, конечно же, можно с помощью него отрисовать всю страницу, но это изврат и так никто не делает.

А мужики то не знают. :)

danik.js 29.09.2013 17:03

Ну тогда тебе уже подсказали чем рисовать: HTML + CSS.
Посмотри ExtJS, DoJo, KendoUI, QooXdoo - это все DOM-based UI-фреймворки. Имеют как раз систему классов, которую можно расширять самому.
Про невостребованность я говорил об ui-фреймворке, основанном на canvas. Вот кстати нагуглил один такой: http://www.zebkit.com/

Madzi 29.09.2013 17:11

Цитата:

Сообщение от riva (Сообщение 274227)
Да при чём HTML ?) У меня естественно есть классы кнопок, скролов, меню и т.д. Вот я и решил, что начну с переноса этих классов, так как события и работа с координатами мало чем отличается. но я не нашёл класса для рисования и по этому спросил Вас.
Так же я очень хочу перенести самописные движки конструкторов, для которых как раз и нужно интерактивный холст, для drag-a обьектов и catmull-ов. Код, саму модель, я перепишу ( как я думаю ) ну или как всегда Вас спрошу) , а вот как это отобразить? Для меня очень удивительно, что у js, для которого даже TweenLite создали, нет класса рисования.
Вот на примере конструктора поставлю вопрос - как бы Вы это сделали?
Как это отображать?

Для разметки используется HTML, а для изменения внешнего вида CSS, при этом можно не пользоваться Canvas.

Советую посмотреть в сторону UI библиотек типа jQuery UI, Dojo, YUI и т.п. где всё это уже реализовано, а потом написать свою, уже основываясь на примерах.

Erolast 29.09.2013 17:14

Javascript не является главентсвующим языком в веб-программировании. Главенствующим языком является HTML. Он используется для того, чотбы задать, ГДЕ_ЧО_НАХОДИТСЯ. Именно он нужен для отрисовки. Грубя говоря, HTML - это набор классов для отрисовки браузером. Canvas - это всего-лишь один из "классов" HTML, представляющий собой динамическое изображение. Он никогда не используется для полной отрисовки страницы. Это просто динамическое изображение. Не более того.
Javascript - СРЕДСТВО_ДЛЯ_ДИНАМИЧЕСКОГО _УПРАВЛЕНИЯ_ЭЛЕМЕНТАМИ_HTML. Если нужно сделать так, чтобы при нажати на кнопку подсветился текст, надо использовать javasript. Кнопка, текст - это html. Подсветка текста, то есть, динамическое изменение цвета фона текста - javascript.

danik.js 29.09.2013 17:22

Erolast, походу то наш топик стартер хочет замутить веб-приложение а не хоумпейдж. А твой коммент явно не о веб-приложениях, где JS является ключевым элементом.

Канва вобще стоит особняком, ибо это элемент, который дает некоторой степени истинную свободу, которую познали прогеры нативных приложений. Вот только DOM им не заменить.

Erolast 29.09.2013 17:56

Видел я редактор документов, отрисовывающий все с помощью canvas. Тормозит ужасно. Не конкурент обычным html'ным, как, например, гугловский. В веб-приложениях да, javascript является ключевым, но не стоит рассматривать его в качестве главного языка веб-программирования, предназначенного для отрисовки страницы, а html и css как его расширения. Потому я и пишу, что HTML является главным, javascript же и css нужны для более глубокого управления документом.


Часовой пояс GMT +3, время: 00:06.