Только что зашёл ради интереса на проверялку скорости от MooTools, проверился в двух браузерах - в Firefox 2 и в Conkeror’е (который суть XULRunner - тот же движок, что и Firefox 3).
И вот что интересно: несмотря на относительно немалое отставание jQuery в обоих браузерах (ну, ценим мы его не за это :D - плюс там старый 1.2.1 тестируется ещё), наблюдаются интересные результаты: в Conkeror’е отставание меньше, чем в FF2!
Сами результаты:
FF2 Conkeror
Prototype 307 240
MooTools 295 220
jQuery 808 591
Хотя только что взял и посчитал соотношение - jQuery против MooTools выходит 2,74 против 2,67. Лучше считать абсолютную разницу, куда интереснее. ;-)
В принципе, идея лежит на поверхности: JSON - такой формат, который легко понимается и серверными языками, и джаваскриптом, и часто человеком. Потому хранить какие-то маленькие кусочки информации в виде словаря в одной куке бывает очень даже удобно.
Но есть один момент, который будет неочевиден любому, кто не сильно часто сталкивается с джаваскриптом и вообще особенностями разных браузеров (к примеру, мне ;-) - обязательная экранизация строк. Так, как они экранизуются в урлах. А то FF и IE нормально воспринимают, а Опера и Сафари - нет. ;-)
Напоминание, на всякий случай: в Python для этого есть urllib.quote и unquote, а в JS - escape и unescape.
Сегодня прикрутил последнюю, похоже, часть в цепочке от написания поста до его отображения - highlight.js. И теперь пост проходит markdown, typogrify и уже в браузере код расцвечивается хайлайтом. :)
Правда, сначала он показал мне баг в smartypants (который входит в состав typogrify) - он превращал кавычки в красивые (“”) не только в тексте, но и в коде. А я хорошо помнил, что он уже два года не обновлялся, и просто чуял, что придётся мне сейчас рыться в его коде. :( Но всё же не поленился залезть в гугль, и увидеть что автор после двухлетнего перерыва обновил его и этот баг починен. :)
Вообще, из всего этого набора больше всего мне не нравится именно markdown, потому что он однозначно рассчитан на английский язык - квадратных скобочек (для расставления ссылок) в русской раскладке нету. И ещё не нравится выделение кода четырьмя пробелами перед ним - неудобно в обычном текстедите их вставлять. :( Но альтернативы не вижу - Textile хуже имхо, а ReST - ничем не лучше маркдауна, у него обратные апострофы используются, которых точно также нету в русской раскладке. :(
Хе-хе, вчера написал вечером про то, что комментарии можно редактировать, изменения в репозиторий закоммитил, а обновить блог - забыл. :) Теперь всё на месте и работает.
Только, правда, оно как-то не слишком быстро меняет на текстареа и обратно. Это похоже потому, что текстовое поле создаётся (и убирается) после AJAX-запроса… Не представляю, можно ли ускорить. А ещё немного анноит то, что я не знаю, как создать текстовое поле высотой ровно в комментарий, чтоб не слишком изменялась высота страницы - вот эта штука меня слегка напрягает. :)
JavaScript - это такая злая и непонятная мне штука, и только jQuery помогает мне его побороть. Без этого фреймворка я бы просто забил бы, наверное, на все аяксовые и джавоскриптовые примочки, потому что мне самому дзен такой дряни не даётся ни в какую. :)