Pull to refresh

Comments 84

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

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

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

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

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

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

«Аффтар» — обязательно на Хабр подобный сленг приносить?
UFO just landed and posted this 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>
для YUI приведены примеры для YUI 2.x, это уже неактуально.
Шутки шутками, а переписать 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 just landed and posted this here
Пример с document.getElementsByTagName(«span»); по сути не совсем честный: он возвращает виртуальный NodeList, тогда как библиотеки действительно находят все соответствующие теги и добавляют в массив. По-хорошему итерация по полученному объекту в jQuery может быть быстрее, чем в Vanilla JS и сравнивать надо получение+итерацию, а не просто получение.
UFO just landed and posted this here
Выше написал.. Pure JS параллакс скроллинг без jQuery. При этом, в версии с использованием jQuery, кода больше. Работает во всех браузерах в которых работает jQuery-версия. В IE6 не работает только из-за CSS.
Vanilla JS — это конечно саркастическая шутка, а вот pure JS — это вполне реальность.
Sign up to leave a comment.

Articles