Подтвердить что ты не робот

Знаете ли вы, что у вас слишком много возможностей для HTML5?

Какая лучшая фреймворк (вроде jquery, extjs и т.д.) для использования, если я хотел бы интенсивно использовать все самые свежие технологии стека HTML5, предоставляемые современными браузерами (Firefox 7, Safari 5, Chrome 14) и абсолютно не нужно поддерживать какие-либо устаревшие браузеры (в том числе нет необходимости в поддержке IE вообще и нет необходимости в Firefox или Chrome до последних стабильных выпусков)? Я хотел бы получить всю новейшую доступную доброту, не имея (даже абстрагированного библиотечным слоем) строки кода, означающей просто совместимость с предыдущими версиями или сохранение любых вещей, связанных с наследием.

Чтобы смягчить фильтр, принимая очень скромную надежду на то, что такая идеальная новая инфраструктура существует, наименьший (максимальный уровень поддержки устаревших), я бы хотел согласиться, не поддерживает версии IE старше IE8, или лучше просто не поддерживая IE вообще.

4b9b3361

Ответ 1

Мне действительно сложно смириться с этой идеей после серьезной мысли. Предполагая, что такая структура существует, она будет только такой же хорошей, как текущий статус реализации в любом браузере. Скажем, есть только два браузера, и статус реализации HTML5 выглядит следующим образом:

Browser | Feature X | Feature Y
-------------------------------
 A      | ✔         | ✘
 B      | ✘         | ✔

Тогда ваше самое кровоточащее приложение HTML5 может иметь X или Y, но не оба. Если функции, необходимые для вашего приложения, доступны в последних версиях большинства основных браузеров, то эта функция не является кровоточащей. Это было бы кровотечением год назад.

Таким образом, в зависимости от объема и целей проекта большинство приложений B-E, которые могут быть написаны, будут соответствовать одному браузеру (тот, который предлагает все/большинство функций, необходимых для вашего приложения).

Если вы пишете для одинокого браузера и не хотите исправлять какие-либо отклонения в реализации от спецификации (поскольку спецификация еще не завершена), тогда она в основном пишет код для выбранного браузера, независимо от каких-либо спецификаций.

Если это так, то каркас - это в основном дополнительный багаж для перевозки. Вместо этого ярлыки для наиболее часто используемых API и других общих упрощений были бы лучшим способом.

Тем не менее, если вы хотите создать фреймворк, который значительно упрощает API-интерфейсы HTML5, не обращая внимания на то, где стоят браузеры сегодня, я хотел бы внести свой вклад в этот проект.

Ответ 2

Sproutcore - это еще один вариант, который соответствует вашему описанию открытия "Как мы создаем невероятно быстрые веб-приложения для настольных компьютеров?". Apple заинтересована в этом, и я слышал хорошие отчеты.

Другим подходом будет Яблок Dashcode. Он использует html (5) css (3) и JavaScript для создания как Mac Widgets, так и веб-сайтов. По сути, поскольку он имеет мало или вообще не имеет наследия, он будет эффективно работать только в Safari и Google Chrome, что менее эффективно в Firefox и вовсе не в IE.

Чтобы использовать Cappuccino (упомянутый в другом ответе и хорошей идее, чтобы посмотреть) и Sproutcore вы будете более продуктивными на Mac, а Dashcode определенно нуждается в Mac, поскольку вам нужно будет установить Xcode, чтобы получить Dashcode

Ответ 3

Как насчет Капучино? Я не знаю, сколько HTML5/CSS3 он поддерживает, но он требует минимум IE7. Он ориентирован на разработку веб-приложений, а не на создание сайтов, поэтому, возможно, это не то, что вы ищете в этом отношении.

Ответ 5

Не совсем ответ, но я думаю, что это будет полезно для обсуждения:

подход GWT (кросс-компиляция Java на JavaScript с отложенная привязка) соответствует вашей точке зрения о получении минимального количества JS-кода, без бремени создания всех абстракций браузера в коде на стороне клиента и переноса всего веса этого кода плюс вес старого браузера код поддержки.

Я не уверен, что текущий уровень детализации, с помощью которого он создает оптимизированные версии для браузера, - это тот, о котором вы говорите, но технология позволяет это.

Кроме того, не уверен в том, что из-за недостатка в выпуске Chrome 5 поддерживается поддержка, но опять же - можно написать такие библиотеки (если их еще нет), и они получат выгоду от того же механизма отложенного привязки, и вы можете скомпилировать только для перестановок браузера, которые вы хотите поддержать.