Pull to refresh

Comments 84

«При максимальной комплектации фреймворк будет весить:
Несжатый: 0 байт, сжатый: 25 байт.»

Дайте два несжатых!
Меня за эту картинку НЛО на месяц забанило недавно :(
За нецензурную лексику.
Картинка как раз отлично выражает мои эмоции по этому поводу.
«Вступление» написано вполне серьёзно, а Vanilla JS — лишь удачная иллюстрация :)
Да уж. Я вначале как увидел перечень «Кто использует Vanilla JS?», чуть челюсть не уронил.
Я не удивлюсь если найдутся люди которые станут искать Vanilla JS на полном серьезе)
А чего искать-то, ссылка на официальный сайт есть в посте. Да и подключать его в проект проще простого, особенно на продакшне :)
UFO landed and left these words here
UFO landed and left these words here
Я вот не понял) Вы так шутите?) или правда не поняли, о чем в статье речь?)
UFO landed and left these words here
Чем больше стороннего кода — тем сложнее поддерживать проект.

Ох, не сказал бы… Конечно, если речь идет о куче неизвестно кем написанных плагинов для jQuery — то да, поддерживать сложно. А приличные библиотеки пишутся и тестируются кучей людей, каждый из которых как минимум не хуже пользователей этих библиотек.
Если что, юмор статьи я уловил.
Частично соглашусь, но это актуально тогда, когда фреймворки\библиотеки и правда нужны.
Например, jQuery на более-менее крупном проекте будет использоваться по-полной — и всевозможные селекторы, и анимация, и AJAX, и эвенты различные.
Поржал. Это уже второй пост про Ваниллу за последние две недели. В прошлый раз обошлось топиком ссылкой — Ванилла лучший в мире =)))
Я может чего не понимаю, это флэшмоб такой?)
Вообще странная тема.
За рубежом топики не менее абсурдно звучат
Vanilla JS Used On More Sites Than jQuery

Vanilla JS — simply the best JS framework
1 апреля? :)

Красавцы. Это прям как та компания в США, которая начала продавать воду и под крана, когда эту самую воду вывели на уровень питьевой воды.
UFO landed and left these words here
Первая мысль была такой: «Наверное какие-то русские эмы сделали фреймворк с таким названием, не зная что оно назначает на самом деле» :)
Порадовал список плагинов к ванилле
Это сумасшествие какое-то с этой ванилой, уже второй топик =)
А можно ссылку на первый? Я честно пытался сначала найти поиском по хабру.
НЛО забрало на исследования.
Р-р-ребята, у меня не получается скочать фреймворк, там пустой файл! ЧЯДНТ!?
Попробуйте установить браузер.
А что хороший фреймворк! Я уже на него свои проекты перевожу ))). Быстрый и легковесный.
Vanilla JS
document.getElementById('test-table');
12,137,211

Аффтар — это чистй JS.
Вы гений. Остальные не догадались.

«Аффтар» — обязательно на Хабр подобный сленг приносить?
UFO landed and left these words here
Суть в том, что многие «учат фреймворки» и не знают самого языка, и в том месте, где можно было бы использовать встроенные возможности, они подключают тяжёлые библиотеки.
Авторы Vanilla JS недалеки от истины.

На этой странице Хабра
document.getElementsByTagName('span') 10000 раз выполняется за 27мс,
jQuery('span') те же 10000 примерно 1300мс

Vanilla JS примерно в 50 раз быстрее :)
Ну с Vanilla я не спорю, я про скрытую рекламу других фреймворках, откуда же эта статистика) кто-то же её нарисовал, реклама именно так и работает)
Я было повелся… пока примеров кода не увидал. Все-таки .getElementById — слишком толсто.
Тут уже требуется что-то типа function ge(a){return document.getElementById(a)}
Ну тогда вес фреймворка в несжатом виде очень сильно увеличится=)
Да и не получится подключить такой фреймворк простым методом указанным в статье:

 

Придется добавлять костыли=)
Не вижу ничего плохого в том, чтобы подцепить jQuery даже ради пары-тройки функций.
Конечно, ничего плохого не произойдет, кроме того, что ваша страница прибавит в весе лишних пару десятков кило,
а еще кроме того, что вашему браузеру понадобится больше времени, для того, чтобы обработать это прибавление.

Не прибавит, если грузить с CDN.
В этом случае jQuery с большой вероятностью уже окажется в браузерном кеше.

И, да, $('#myid') существенно приятнее для глаза, чем document.getElementById('myid').
Зато если CDN внезапно упадёт (даже у мировых гигантов типа Гугла и российских типа Яндекса бывает), либо вам перекроют к ним доступ — ваш сайт перестанет работать (полностью, либо частично).
Ну вообще-то есть методики отката на локальную версию, на случай недоступности CDN.
А теперь вопрос: стоит ли оно того ради замены
document.getElementById('myDiv')
на
$('#myDiv')
?
Скажите, когда Вы последний раз писали проект, где использовался ТОЛЬКО getElementById?
Ну, не сказал бы, что зациклил.

В исходном комментарии речь шла о паре-тройке функций, а не об одном getElementById.
Тот же fadeOut (используемый в качестве примера на сайте Vanilla) на чистом JS выглядит достаточно устрашающе.
Джиквери ради такого не подключают, если джаваскрипт ограничивается двумя-тремя jQuery функциями, то зачастую можно наблюдать нечно вроде:
function $(id) {return document.getElementById(id); }
Кто подключает, кто нет.
Пример отката:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.0.min.js"><\/script>')</script>
Шутки шутками, а переписать parallax scrolling demo на Vanila JS было не так сложно. Работает во всех нормальных браузерах и IE7+. Кода получилось почти столько же, как и в jQuery-версии, и он получился более читаемый и универсальный.
vanilla ruby:

vanilla php:

vanilla erlang:

все, три новых проекта заопенсорсил
Сам с превеликим удовольствием использую сей фреймворк и другим рекомендую!
Кроссбраузерность страдает, к сожалению
Моя демка написана с использованием DOM4 и ES5, работает в IE7+ и остальных.
Там конечно не 0 КиБ, а 24 КиБ для IE7, 14 КиБ для IE8 и 8 КиБ для всех остальных (gzip). Всё просто работает и можно писать на Vanila JS
Внезапно для себя узнал что неплохо владею VanillaJS.
Спасибо )
читал, думал новая религия)))) а оказывается — очередной разводняк))

vapor родил semicolon, semicolon родил vanilla…
Сходил по ссылке, посмотрел, а потом перечитал ваш комент и хорошо посмеялся :))))
Да, следовал точно тому же маршруту =)
уже несколько лет его как использую и даже не знал как он называется
Это очень смешной пост. Даже для непрофессионала в JS
А профи я думаю вообще плачут от смеха читая его.

Но даже допустим я поверил и повелся на написанное здесь и перешел на сайт Ваниля… Блин. Моей первой реакцией было уйти оттуда сразу же. Для «крутого» фреймворка, как то стремно сделан сайт.

автор, покажи где на фейсбуке есть ваниль!? Я не нашел… Хотя я и не сильно искал.
Есть, продакшен-способом подключен.
(function(){
	(s.opacity -= .1) < 0
		? s.display = "none"
		: setTimeout(arguments.callee, 40)
})();

Это безусловно восхитительный фреймворк, даже если его код вот так разминимизировать. Но чаще встречается как-то вот так:
var My_Interval = window.setInterval("if(document.getElementById('thing').style.opacity == 0.1){ document.getElementById('thing').style.display = 'none'; window.clearInterval(My_Interval); }else{ document.getElementById('thing').style.display.opacity = document.getElementById('thing').style.display.opacity - 0.1; }", 40);

Да, в одну строку. А иногда даже интервал не очищают =)
А если серьезно, то от фреймворков в наши дни сложно отказываться даже с такими отношениями в скоростях. Ведь нужно пару минут чтобы вспомнить какой бы то ни было проект, не использующий виджетов, будь то всплывающий календарь, пипетка (color picker) или валидация полей формы. Отказаться красиво, и можно даже написать кучу быстрого кода, но когда отрефакторишь и избавишь код от конкретных id/class, чтобы вдруг использовать код на других страницах, то получишь тот же самый самописный фреймворк. Который, ко всему прочему не развивается, пока у тебя не выдадутся выходные.
UFO landed and left these words here
Пример с document.getElementsByTagName(«span»); по сути не совсем честный: он возвращает виртуальный NodeList, тогда как библиотеки действительно находят все соответствующие теги и добавляют в массив. По-хорошему итерация по полученному объекту в jQuery может быть быстрее, чем в Vanilla JS и сравнивать надо получение+итерацию, а не просто получение.
UFO landed and left these words here
Выше написал.. Pure JS параллакс скроллинг без jQuery. При этом, в версии с использованием jQuery, кода больше. Работает во всех браузерах в которых работает jQuery-версия. В IE6 не работает только из-за CSS.
Vanilla JS — это конечно саркастическая шутка, а вот pure JS — это вполне реальность.
Sign up to leave a comment.

Articles