Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Стоит ли изучать нативный js? Или JQuery проще? (https://javascript.ru/forum/offtopic/57542-stoit-li-izuchat-nativnyjj-js-ili-jquery-proshhe.html)

EmperioAf 08.08.2015 13:13

Стоит ли изучать нативный js? Или JQuery проще?
 
Начал верстать слайдер и для перемещения вместо обычного изменения свойства left с помощью js, я решил попробовать изменять transform: translate(x); и наткнулся на матрицы значений:
http://www.w3schools.com/jsref/prop_style_transform.asp
А в JQuery это выглядит так:
http://louisremi.github.io/jquery.transform.js/
Подозреваю, что это далеко не первая заморочка и потому вопрос:
стоит ли парсить значения css свойств нативного js или лучше использовать JQuery?
(ведь в вакансиях в основном требуется владение JQuery, а не нативным JS)

kobezzza 08.08.2015 13:32

Ну, если хочешь нормально зарабатывать, то стоит.

moron 08.08.2015 13:36

Вобще не понимаю такие вопросы. Зачем изучать что-то одно?
Или вопрос с чего начать?

EmperioAf 08.08.2015 13:53

Цитата:

Сообщение от moron (Сообщение 383210)
Вобще не понимаю такие вопросы. Зачем изучать что-то одно?

Читать чужой код на JQuery я итак могу примерно также как тексты по англ. языку на неизвестные мне темы. И мне до сего времени хватало знаний JS, ибо я как то не сталкивался с более сложным парсингом чем примерно такой:
headerSliderHolder.style.left = parseInt(headerSliderHolderStyle.left) - 566 +'px';


А чтобы писать свой код на JQuery мне надо много раз напечатать каждую функцию ручками (потратить своё время и забить голову может быть почти бесполезной инфой).

Приведу ещё одну аналогию. Допустим вы легко читаете и переводите все документации по разным фреймворкам. Т.е. вы свободно читаете по английски. Но вот поехать жить в Индию для вас будет жутко некомфортно, т.к. нужно будет разговаривать на английском языке и придётся "думать" на англ. языке соответственно. Вопрос: стоит ли вам потратить 2-3 месяца чтобы научиться свободно разговаривать на англ. языке на случай если вы захотите уехать жить в другую страну?

Короче говоря, я уверен, что смогу в будущем избежать писанины большого кол-ва кода на JQuery. Настолько ли он повсеместен? Или я заблуждаюсь и избежать кода на JQuery мне не удасться?

moron 08.08.2015 14:06

Цитата:

Сообщение от EmperioAf (Сообщение 383212)
избежать кода на JQuery мне не удасться?[/b]

Не удастся. Он действительно распространен и вообще маст хев, как и нативный.

Erolast 08.08.2015 14:25

Ерунду какую-то обсуждаете.
Что значит "изучать jQuery, но не изучать JS"? С какой стати при использовании jQuery не придется писать на нативном JS? Чем вообще jQuery не "нативный JS"?

EmperioAf 08.08.2015 14:41

Цитата:

Сообщение от Erolast
Что значит "изучать jQuery, но не изучать JS"?

Я об этом и не говорил. Наоборот я говорил, что столкнулся с трудностями парсинга в JS коде и спросил насчёт JQuery: мол может я слишком плохо о нём думаю и мне всё таки стоит начать писать обработчики событий на нём.
Цитата:

Сообщение от Erolast
С какой стати при использовании jQuery не придется писать на нативном JS?

есть люди которые планируют всю жизнь верстать страницы на которых скрипты нужны только для анимаций и обработки событий
Цитата:

Сообщение от Erolast
Чем вообще jQuery не "нативный JS"?

я как то читал парня, который в статье 2012 года писал, что он в 2007 году познакомился с JQuery и пользовался до тех пор, пока не научился всё то же самое делать на нативном JS и поэтому он не советует изучать JQuery. Если думать глобально, то конечно JQuery это библиотека написанная на нативном JS. Но вообще то код на JQuery выглядит чуть-чуть по-другому чем на JS и чтобы свободно писать на JQuery то, что я пишу на JS мне нужно 1-2 недели пописать на JQuery каждый день по 1-2 часа

Erolast 08.08.2015 14:56

Цитата:

я как то читал парня, который в статье 2012 года писал, что он в 2007 году познакомился с JQuery и пользовался до тех пор, пока не научился всё то же самое делать на нативном JS и поэтому он не советует изучать JQuery. Если думать глобально, то конечно JQuery это библиотека написанная на нативном JS.
Задам вопрос немного по-другому: в чем отличие использования jQuery от использования нативного JS?

EmperioAf 08.08.2015 15:02

Цитата:

Сообщение от Erolast
в чем отличие использования jQuery от использования нативного JS?

вот мне нужно двигать слайдер и в js у меня получился вот такой код

rightClick.onclick = function(){
      var headerSliderHolder = document.querySelector('.headersliderholder');
     var headerSliderHolderValue = headerSliderHolder.getAttribute('number');
      if (headerSliderHolderValue == 3)
        return;
      var headerSliderHolderStyle = getComputedStyle(headerSliderHolder);
      if (headerSliderHolderValue < 3) {
        console.log(headerSliderHolderValue);
        if (+headerSliderHolderValue === 1)
          leftClick.style.opacity = '1';
        if (+headerSliderHolderValue === 2) {
          rightClick.style.opacity = '0.6';
        }
        headerSliderHolder.setAttribute('number',+headerSliderHolderValue + 1+'');
        headerSliderHolder.style.left = parseInt(headerSliderHolderStyle.left) - 566 +'px';
      }
    }


а вот суть того, что мне надо на JQuery:
$(elem).animate({
  transform: 'translateX(566px)'
});

я думаю отличие вы видите :)

cyber 08.08.2015 15:14

EmperioAf, ну юзай jquery, кто тебе запрещает

EmperioAf 08.08.2015 15:17

Цитата:

Сообщение от cyber
ну юзай jquery, кто тебе запрещает

спасибо, я пока что буду продолжать избегать JQuery. Мне кажется обезьяна дело говорит :(
Тему можно закрывать.

Erolast 08.08.2015 15:19

Цитата:

в js у меня получился вот такой код
А, вот оно что... Это не нативный JS. Это DOM API, который должен реализовываться браузерами согласно стандартам W3C; в той же ноде его нет, что в общем-то, логично.

Если стандартного API для решения какой-то цели недостаточно и требуется использовать абстракцию - пожалуйста, хоть "швейцарский нож" jQuery, хоть набор минимодулей с ограниченной ответственностью (мне лично больше второй подход нравится). Достаточно - не юзай абстракции. В чем проблема?

EmperioAf 08.08.2015 15:25

Цитата:

Сообщение от Erolast
В чем проблема?

я очень ленивый, и поэтому прежде чем подробно изучать что то новое я много сомневаюсь.

Safort 08.08.2015 15:54

А вариант изучать оба варианта совсем не подходит?)

EmperioAf 08.08.2015 16:11

Цитата:

Сообщение от Safort
А вариант изучать оба варианта совсем не подходит?)

ну так названия то функций весьма похожи и я буду путаться и это сильно замедляет написание кода. А гуглить по каждому поводу мне уже надоело.

Safort 08.08.2015 16:33

Цитата:

Сообщение от EmperioAf (Сообщение 383237)
А гуглить по каждому поводу мне уже надоело.

"Гуглить по каждому поводу" это часть рабочего процесса программиста.

Rise 09.08.2015 02:37

EmperioAf, стоит, только не просто на уровне API, а и сам код библиотеки, как там что реализовано, заодно и нативный подтянешь, DOM постигнешь и овладеешь кроссбраузерностью))

KosBeg 09.08.2015 11:25

Цитата:

Сообщение от EmperioAf
я как то читал парня, который в статье 2012 года писал, что он в 2007 году познакомился с JQuery и пользовался до тех пор, пока не научился всё то же самое делать на нативном JS и поэтому он не советует изучать JQuery.

Я знаю jQuery. И что?
Оно? У меня в закладках лежало

По теме: лучший фреймворк который я знаю - это VanillaJS)

KosBeg 09.08.2015 11:30

Цитата:

Сообщение от EmperioAf (Сообщение 383223)
я думаю отличие вы видите :)

конечно вижу!
но что мешает сделать "обгортку" для своего метода что-бы сделать его удобней?
Ты показал как это делается при помощи плагина на jQ, но внутри самого плагина практически такой же код)
а тот код который написан тобой тоже можно красиво "обгорнуть")

nerv_ 09.08.2015 12:26

Цитата:

Сообщение от Erolast
Ерунду какую-то обсуждаете.

бОльшая часть тем такая, привыкай :)

---

Жаль тех, кто сейчас js учить начинает: не успев понять es5, надо браться за es6)

javaQest 09.08.2015 12:26

KosBeg,
Тот парень (хоть я не читал) прав, по факту. Путь через жеквери -- это путь через жопу. Его учат, чтобы в один перкрасный день начать все с нуля. А начинать с нуля, после того, как ты уже себя возомнил профи -- очень сложно, практически невозможно.

Это как в той истории, когда другой парень тратит время на изучение навороченной IDE, а потом, спустя годы, понимает, что IDE мешает писать ему код. Со скрипом в зубах он перебирается на текстовый редактор, но инерцию мышления перебороть ой как трудно. Большинство так и остатеся в этой трясине.

EmperioAf 09.08.2015 12:55

Цитата:

Сообщение от KosBeg
Оно? У меня в закладках лежало

Да, оно.

Deff 09.08.2015 12:58

Не оч согласен javaQest,
1. jQuery удобен в качестве кроссбраузерного серфинга по DOM, в этом его главное преимущество.
2. Кросбраузерное решение в Aякс и событиях
3. Сокращение объема и наглядность кода, всё это основа той же популярности JQ
4 Никто не мешает двигаться нативному js к JQ по серфингу по DOM, ксать именно с возросшей популярностью JQ появилось querySelectorAll, querySelector
5. При реализации в JQ красивой обработки событий postMessage c привязкой к Окнам(табам) и WEB Worker вообщем-то функционально законченный фреймворк для фронтенда. js остаётся лишь математика
6. Кто мешает сделать нативный JQ ? Разработчики ?
7. Зачем делать трудозатратно в обучении, некроссбраузерно, если можно менее затратно и кроссбраузерно.
8. Языковая ограниченность браузера одним нативно-встроенным языком js пока скована лишь Инет-скоростью (возрастающий объём загрузки обновлений и самого движка и пока еще ограниченность объёма и скорости оперативки, желательно чтобы браузер не жрал более 12%)
Хотя я помню времена когда браузеры весили 8-15Mb, сейчас уже под 100. Думаю, что и до возможности двух трёх языковой обработки дойдут, ибо удобно быстро разворачивать сайт за 20 мин. В Инете уже достаточно много сайтов одного создателя на один день. Выполнил задачу и нафиг. Смысл там думать о той же взаимоорганизации js библиотек ?

Сейчас пока конторы-разработчики браузеров больше заняты не удобством развертывания новых средств ресурсо проектирования в Инете, а прибыльным расширением мобильных приложений и сбором инфы от пользователя(многие браузеры разрабатываются поисковиками, есть и внешние заказчики этой инфы).

javaQest 09.08.2015 13:04

Deff,
Я лишь одно могу сказать

Цитата:

"Syntactic sugar causes cancer of the semi-colons"
Алан Перлис

Если Вы это еще не поняли, значит у Вас все впереди.

Конечно, для ынтырпрайза знание не требуется, но для себя нужен правильный путь.

жыэс и без того разжирел безо всякой меры, это все отвратительно.

Deff 09.08.2015 13:08

javaQest,
Пофег кто и что говорит,
Ты против второго нативного JQ(или Angularа) в браузере ?
======================
Потом изучая что-то пол-жизни становишься фаном - не замечал ?

javaQest 09.08.2015 13:11

Deff,
И вот еще что, по поводу "удобного серфинга". Знание чистого позволит Вам реализовать на коленке любую жеквери фичу на коленке менут за 20, с блекджеком и шлюхами. Но это, конечно тоже не ынтырпрайзное решение. Ынтырпрайз стремится к унификации, поэтому ему нужны жеквери и прочие квери и жекверисты к ним в комплект. Благодаря этому можно съэкономить на спецах. Это связывает нормальному программисту руки.

javaQest 09.08.2015 13:12

Цитата:

Сообщение от Deff
Ты против второго нативного JQ(или Angularа) в браузере ?

Я против любых свистелок.

javaQest 09.08.2015 13:15

Цитата:

Сообщение от Deff
Потом изучая что-то пол-жизни становишься фаном - не замечал ?

Изучать надо не абы что, а основы, и только их.

Deff 09.08.2015 13:20

Цитата:

Сообщение от javaQest
И вот еще что, по поводу "удобного серфинга". Знание чистого позволит Вам реализовать на коленке любую жеквери фичу на коленке менут за 20, с блекджеком и шлюхами. Но это, конечно тоже не ынтырпрайзное решение.

Зачем мне как пользователю, создателю собственного сайта на полдня лазить неделями по Инету дабы написать двадцать строк ?
Есть разные задачи и разные потребности, не всегда есть возможность привлекать спецов за 20$ в час для поделки скворечников!

javaQest 09.08.2015 13:24

Цитата:

Сообщение от Deff
как пользователю

Вот пользователи пусть и пользуют. Мы же тут вроде, о профессиональном обучении говорим?

А для пользователя и жеквери не особо надо, есть сервисы с гуями для создания сайтов-визиток и прочего говна

Deff 09.08.2015 13:26

javaQest,
Ну каждый о своём, о женском, - мну теходдержка на сервисе под миллион форумов. Типично люди далеки от js. но быстро обучаемы.
Js трудоёмок для однократного использования

KosBeg 09.08.2015 14:07

Цитата:

Сообщение от nerv_
Жаль тех, кто сейчас js учить начинает: не успев понять es5, надо браться за es6)

хах, ну не скажи)
мне кажется что мало кто из новичков будет сейчас учить es6 и юзать babel, этим занимаются в основном опытные
последние недельки две я сам пытаюсь перейти на es6 при помощи babel, но лично я не вижу в этом смысла, мне почему-то не очень нравится,
можно смело писать код на es5 и обьявлять свой код es6(крутой вариант кстати :D), так как обратная совместимость сохранилась)

javascriptus-maximus-∆ 10.08.2015 20:26

неужели так уж сложно выучить жаваскрипт?
надо просто тупо захотеть все уметь делать сам с нуля
быть самостоятельным независимым разрабом
хош в апсторе торговай. хош с гуглсторе. миллиарды хомячков готовы сожрать твой софт подешовке

только тупые ленивые кодеры не учат свой язык
и мало того что тупые и ленивые - дак еще и мечтают работать в офисе - чтобы им кнонибудь обязательно еб мозги ))

неважно какая страна - везде офисная культура это культ бабла и понтов и пожирание друг друга

Erolast 10.08.2015 20:32

Цитата:

только тупые ленивые кодеры не учат свой язык
Сам такой. Я вот тоже DOM API наизусть не знаю. И чо? Какое отношение это имеет к самому JS? Может, я серверный программист и он мне нахрен не нужен? Может, я просто использую всякие ангуляры/бэкбоны/реакты и обращение к нему ограничивается редкими кейсами-исключениями?

javascriptus-maximus-∆ 10.08.2015 20:36

я же только про чистый жаваскрипт говорю, и ничего такого сложного в обьектах типа Element нет

я к тому что только ленивые люди учат жиквери до жаваскрипта, и сейчас уже жиквери совсем не нужен

и гореть им всем а аду ))

впринципе офисная работа это ад, так что уже горят

Erolast 10.08.2015 20:44

Цитата:

я же только про чистый жаваскрипт говорю, и ничего такого сложного в обьектах типа Element нет
Лол, какое отношение объекты типа Element имеют к чистому JS?) Это и есть DOM API.

Deff 10.08.2015 22:49

javascriptus-maximus-∆,
Редко кто программирует серьёзные проекты на чистом js DOM API.
Пишут свои мало-мальские приличные библиотеки для серфа по DOM!
Так что хочешь- не хочешь, в конце концов серфинг по DOM будет нативно всё более сближаться как минимум с JQ! А далее настанет очередь перевода в натив более высокоуровневой обработки событий(Ну длиннота сейчас там, хошь не хочешь всё одно боль мень сложную обработку выполняют вызовом минимум двух функций, даже для однократного события). Ну отслеживайте историю развития языка. Задача языка - лаконичность, привязанная к логике

Jakim 06.06.2017 23:16

А кто отменял keyframe?
 
Вопрос, зачем вообще заваливать сайт скриптом если можно анимировать на css3 это и легче и быстрее в плане быстродействия и css отлично кешируются и не нужно выдумывать велосипед.


Часовой пояс GMT +3, время: 18:08.