Существуют ли какие-либо фреймворки пользовательского интерфейса HTML5, которые отображают на canvas вместо использования HTML-элементов?

#html #user-interface #frameworks #canvas

#HTML #пользовательский интерфейс #фреймворки #холст

Вопрос:

Я понимаю, что некоторые люди считают безумием повторно реализовывать все функциональные возможности пользовательского интерфейса HTML в фреймворке на основе canvas (и есть несколько вопросов stackoverflow, которые предполагают это), но кто-нибудь действительно работает над такой библиотекой?

Чтобы уточнить, библиотека будет отображать все элементы пользовательского интерфейса, такие как поля редактирования, метки, кнопки, поля со списком, представления списков и т. Д., Непосредственно На холсте. Не было бы HTML или CSS.

Комментарии:

1. Это действительно безумие. Он должен повторно реализовать все, даже помимо самих элементов управления: ввод текста, выделение текста и т.д.

2. Уже не так безумно, а? 🙂 zebkit.com

Ответ №1:

Сегодня я наткнулся на эту идею. Найдена библиотека Zebra. Еще не пробовал.

https://zebkit.org/

Для веб-приложений я думаю, что это имеет смысл. HTML / CSS просто недостаточно хорош для простого создания стабильных приложений. DOM и макеты слишком причудливы, а производительность слишком низкая.

Нам нужно что-то вроде Silverlight, но без плагина. Стабильные компоненты и отличная платформа.

Приложения Canvas можно сделать такими же доступными, как веб-приложения html. Возможно, даже больше.

Возможно, WebGL даже лучше, его производительность определенно лучше, чем у Canvas, если все сделано правильно.

Комментарии:

1. ДА! ЭТО! Zebkit выглядит потрясающе! Собираюсь попробовать это для проекта, над которым я работаю. Спасибо за публикацию!

Ответ №2:

Thunderhead был экспериментом Mozilla, созданным вместе с bespin (теперь skywriter).

Из описания проекта:

Thunderhead — это эксперимент Mozilla Labs по изучению инструментария GUI на основе JavaScript, который работает с элементами DOM и canvas для отображения компонентов.

Проблема в доступности, canvas просто нет.

Комментарии:

1. Если подумать об этом подробнее, я думаю, что размер файлов .js для обработки всего этого тоже выйдет из-под контроля. Это было бы похоже на загрузку всего браузера на каждой странице, если она не была должным образом кэширована.

2. Если они упакованы в гибридное мобильное приложение, загрузка части не будет проблемой. Мы бы избавились от большинства нелепых различий в браузерах. И мы могли бы прекратить использовать HTML / CSS для создания приложений. Давайте, наконец, посмотрим правде в глаза. HTML / CSS был создан для создания семантических документов, а не приложений.

3. @MindJuice загружает браузер на каждой странице? Это определенно не рекомендуется для современного веб-«приложения». 🙂

Ответ №3:

Я только что рассмотрел zebkit.com сегодня. Удивительно и абсолютно не безумно, скорее важно. Попробуйте запустить большинство деревьев узлов DOM на мобильном устройстве, и вы скоро узнаете, что это правда. Затем, напротив, запустите демонстрацию кухонной раковины Zebkit и будьте шокированы. Возможно, вам придется пересмотреть свой подход к проектам.

Переходя с Java на HTML5, я определенно вижу некоторые приятные ООП в API Zebkit, это необходимо для предоставления простому canvas некоторой мощной структуры. Также мне очень нравится поддержка JSON, она действует так же, как формат CSS для canvas. Использование JSON таким образом хорошо вписывается в мышление веб-компонентов и практичность частичных элементов HTML. В этом API много полезностей.

В конце концов, все способы создания графики для веб-рендеринга в любом случае отображают пиксели. Возможно, мы только что добавили много абстракций между логикой, которую мы создаем, и конечным экраном, чтобы осознать этот факт. С Zebkit кажется, что вы почти работаете на родном уровне, плюс он добавляет все прелести Javascript и JSON, действительно мило. Плюс вы можете свободно смешивать и сопоставлять в DOM по желанию.

Ответ №4: