Его стоит использовать, когда он нужен. Если вы его держите ради одной-двух функций — не нужно, напишите их сами или подключите специальные микрофреймворки для этого.
Небольшое отступление: на днях мне понадобился небольшой слайдер. Я уже пошёл искать плагин jQuery, но вспомнил муки с jScrollPane и махнул рукой на плагин — пошёл и написал его сам.
Возвращаясь к случаям, когда не стоит юзать jQuery. Например, ради движка селекторов. Не смейтесь, часто jQ подключают только ради него. А нужно смотреть, в большинстве случаев достаточно querySelectorAll. А если вдруг почему-то недостаточно — Sizzle, Sly и ещё миллион движков селекторов. Или анимация. Если не можете написать сами или использовать css-transitions / animations — целая куча спец. микрофреймворков, например emile. И для ajax есть куча микрофреймворков.
Нужно использовать jQuery только если вы постоянно его используете (причём сразу в нескольких направлениях — селекторы, анимация, удобный DOM, ajax...).
Ну на самом деле всё проще — Haskell сложный. Или скорее необычный. Или и то, и другое.
C-программист может понять программу на JS, с C++ (без знания его) могут возникнуть проблемы, но в принципе понятно. Аналогично JS-программист может понять программу на Python (не будем сейчас брать сложности типа ссылок / интерфейсов / специфических функций и возможностей), на Pascal, на Basic.
О внутренностях jQuery уже писал кстати TheShock на хабре.
А вообще предложите своим кандидатам написать свой jQuery. Причём весь, включая анимацию и ajax. (всякие дополнения вроде deferred или callbacks не нужно, движок css-селектором тоже не обязательно, можно Sizzle взять, другой какой или querySelectorAll). Такое задание здорово прокачивает (помимо прочего) знание js.
> Именно из-за свойства length многие почему-то заблуждаются и думают о том, что это — на самом деле массив
Подобных объектов в js много, например arguments.
JHC (если не против, назову так связку JS — HTML — CSS) очень сильно отличается от Java и Objective-C. В первую очередь тем, что интерпретаторы этой связки уже есть для всех популярных платформ. В приложениях Mozilla будет лишь несколько дополнительных API, которые не слишком сложно воссоздать в других браузерах и сделать таким образом JHC единой платформой, работающей на всех ОСях сразу.
Уже есть агрегаторы социальных сетей, сервисы типа Loginza — а почему же нет агрегаторов комментариев?.. Чтобы комментарии из Вк, Fb и прочих выводить вперемешку (с единым стилем)?..
Ну так да. Сам же перепечатывал HSL, HSV, XYZ, Lab когда-то.
Ещё круче — это взять работающий код, посмотреть что он делает и написать аналог. Я когда-то написал аналог jQuery (с блекджеком и классами), изредка подсматривая в код самого jQuery, Mootools и Prototype.
По-моему, тогда я и вышел из стадии новичка.
Ладно, давайте не будем тут разводить спор о грамотности :)
Мысли «куда катится мир» были всегда и есть сейчас, пока что катимся в направлении… не знаю, верном или нет, но прикатились к огромной куче книг, к Интернету и т.д… Вроде бы неплохо.
> Хотя не забывайте что начинал я это всё почти 4 года назад, когда ни Easel.js, ни Kinetic.js, и тем более ни Paper.js ещё не было даже в задумке.
Ну тогда да, вы имеете право на неё претендовать.
> Важно качество
Согласен полностью.
Что касается JCScript, он выглядит интересно, но довольно-таки сыроват… и не очень, в общем. Что касается SVG-парсера — это хорошо, но всё-таки зачем он так нужен?..
LibCanvas — да, кстати сам TheShock, если не ошибаюсь, работает в области игр. ES5-аксессоры — это не баг, а фича :). Ведь в IE<9 canvas-а и так нету, а юзать разные excanvas — те ещё костыли. Если уж так, можно взять dojox.gfx, который для рисования юзает кроме canvas ещё и vml, svg и silverlight :).
Ну в общем да, Fabric тоже выглядит здорово.
P.S. Кстати я тоже занимаюсь своим фреймворком для canvas :).
Ну FF OS — это примерно как Chrome OS, только для мобильников. По самой своей идее, но не по внутренностям (я сейчас не про Linux). Даже не знаю как объяснить… Но пользуясь Chrome OS, вы всегда видите браузер, т.е. Chrome OS — это система-браузер, а вот FF OS — это система, которая интегрирует браузер в систему. Внутри браузер, но вы можете этого не знать.
То есть, она не предлагает очень уж коренных отличий от других мобильных систем. Chrome OS предлагает (от десктопных систем). А FF OS — это самая обычная мобильная система, просто приложения пишутся на HTML5 / JS. И всё что из этого следует: встроенный в браузер эмулятор, открытость кода приложений, широкие возможности кастомизации… И не более.
Ну во-первых, внутри тега source другие теги не работают, поправьте пожалуйста.
Во-вторых, вы так говорите, как будто Fabric.js очень уникален. На самом деле canvas-библиотек с объектной моделью куча. Да хотя бы LibCanvas, JCScript, PaperJS. Первые две кстати от хабраюзеров TheShock и asavin. Что касается уникальности — уникален Fabric своей интеграцией с SVG и интерактивом, хотя конечно насчёт последнего можно поспорить. У PaperJS интерактив вполне можно реализовать: да хотя бы paperjs.org/examples/path-simplification/. LibCanvas тоже: libcanvas.github.com/ui/projective-image.html.
Небольшое отступление: на днях мне понадобился небольшой слайдер. Я уже пошёл искать плагин jQuery, но вспомнил муки с jScrollPane и махнул рукой на плагин — пошёл и написал его сам.
Возвращаясь к случаям, когда не стоит юзать jQuery. Например, ради движка селекторов. Не смейтесь, часто jQ подключают только ради него. А нужно смотреть, в большинстве случаев достаточно querySelectorAll. А если вдруг почему-то недостаточно — Sizzle, Sly и ещё миллион движков селекторов. Или анимация. Если не можете написать сами или использовать css-transitions / animations — целая куча спец. микрофреймворков, например emile. И для ajax есть куча микрофреймворков.
Нужно использовать jQuery только если вы постоянно его используете (причём сразу в нескольких направлениях — селекторы, анимация, удобный DOM, ajax...).
C-программист может понять программу на JS, с C++ (без знания его) могут возникнуть проблемы, но в принципе понятно. Аналогично JS-программист может понять программу на Python (не будем сейчас брать сложности типа ссылок / интерфейсов / специфических функций и возможностей), на Pascal, на Basic.
А вот Haskell — непонятно.
А вообще предложите своим кандидатам написать свой jQuery. Причём весь, включая анимацию и ajax. (всякие дополнения вроде deferred или callbacks не нужно, движок css-селектором тоже не обязательно, можно Sizzle взять, другой какой или querySelectorAll). Такое задание здорово прокачивает (помимо прочего) знание js.
> Именно из-за свойства length многие почему-то заблуждаются и думают о том, что это — на самом деле массив
Подобных объектов в js много, например arguments.
// в одном из штатов число пи однажды законом приравняли к 4
Ещё круче — это взять работающий код, посмотреть что он делает и написать аналог. Я когда-то написал аналог jQuery (с блекджеком и классами), изредка подсматривая в код самого jQuery, Mootools и Prototype.
По-моему, тогда я и вышел из стадии новичка.
И поэтому надо закрыть российские и близ-российские сайты.
Мысли «куда катится мир» были всегда и есть сейчас, пока что катимся в направлении… не знаю, верном или нет, но прикатились к огромной куче книг, к Интернету и т.д… Вроде бы неплохо.
По вам тоже не скажешь, что вы читатель.
Ну тогда да, вы имеете право на неё претендовать.
> Важно качество
Согласен полностью.
Что касается JCScript, он выглядит интересно, но довольно-таки сыроват… и не очень, в общем. Что касается SVG-парсера — это хорошо, но всё-таки зачем он так нужен?..
LibCanvas — да, кстати сам TheShock, если не ошибаюсь, работает в области игр. ES5-аксессоры — это не баг, а фича :). Ведь в IE<9 canvas-а и так нету, а юзать разные excanvas — те ещё костыли. Если уж так, можно взять dojox.gfx, который для рисования юзает кроме canvas ещё и vml, svg и silverlight :).
Ну в общем да, Fabric тоже выглядит здорово.
P.S. Кстати я тоже занимаюсь своим фреймворком для canvas :).
То есть, она не предлагает очень уж коренных отличий от других мобильных систем. Chrome OS предлагает (от десктопных систем). А FF OS — это самая обычная мобильная система, просто приложения пишутся на HTML5 / JS. И всё что из этого следует: встроенный в браузер эмулятор, открытость кода приложений, широкие возможности кастомизации… И не более.
Во-вторых, вы так говорите, как будто Fabric.js очень уникален. На самом деле canvas-библиотек с объектной моделью куча. Да хотя бы LibCanvas, JCScript, PaperJS. Первые две кстати от хабраюзеров TheShock и asavin. Что касается уникальности — уникален Fabric своей интеграцией с SVG и интерактивом, хотя конечно насчёт последнего можно поспорить. У PaperJS интерактив вполне можно реализовать: да хотя бы paperjs.org/examples/path-simplification/. LibCanvas тоже: libcanvas.github.com/ui/projective-image.html.