Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Я решил отказаться от JQuery
Форумы портала PHP.SU » » Вопросы новичков » Я решил отказаться от JQuery

Страниц (2): [1] 2 »
 

1. ПТО - 25 Декабря, 2014 - 21:27:31 - перейти к сообщению
Мой ответ 3. Объясню, почему так:

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

В общем, переписал сайт на чистом JS без каких-либо фреймворков. Изучить можно на девелопер.мозилла.

Да. Я свободен. Без фреймворков намного удобнее Закатив глазки
2. Мелкий - 25 Декабря, 2014 - 22:27:03 - перейти к сообщению
Это инструмент, к которому тоже надо читать changelog.
Можно и на PHP жаловаться, что это они всякие магические кавычки удаляют, mysql_* объявляют deprecated и прочие полезные изменения последних лет.
3. DeepVarvar - 26 Декабря, 2014 - 03:14:49 - перейти к сообщению
Бред.
Поехали по всем пунктам.

1) Кроссбраузерность, если ты асилил нативный js, то должен понимать - достигается парой условий, да и то не везде, а только в некоторых случаях, в остальном же одинаково для всех браузеров.

2) Чтобы видеть где что, пишут $varName для указания что переменная содержит объект jquery и varName что это нативный js.

3) Практически ничего не поменялось. А если претензия твоя только к live() то ты бредишь, т.к. live() жрет немеряно ресурсов, когда on() можно вешать на родителя и слушать одним ивентом события на потомках (event.originalTarget)

4) Все зависит от ситуации. Попадется тебе проект в котором все на jquery, ты что, откажешься его дорабатывать? А переписывать на чистый будет ох как долго.

Если ты реально запробуешь написать хотябы основное: события, очереди, анимацию, работу с DOM, аякс - то поймешь, что кода у тебя будет хотя и меньше чем в jquery, но это будет глючный, не гибкий, не оттестированый сотнями тясяч людей код.

И кому будет нужно твое поделие?
Хотя, если учитывать твой уровень знаний (судя по топикам на этом форуме) - ты просто ниасилишь написать вменяемую библиотеку.
Докажи делом что я не прав.
4. RickMan - 26 Декабря, 2014 - 10:38:23 - перейти к сообщению
Не так уж и частно появляются обновления которые заставляют менять радикально код, даже скажу больше, такие обновления краааайне редко происходят. И вообще, обновляться надо часто, дабы не возникало таких ситуаций.
И логку чуток не понял. Значит переписать с live() на on() вам было лень, а переписать весь код на читый js с кроссбраузерностью стало не лень?
В любом случае, все уже понимают, что с нынешними браузерами, никому эта кроссбраузерность jquery не нужна, так как относительно js не имеет уже таких радикальных отличий при смене браузера. Плюсы же совсем в другом. Это как писать код на чистом php и в каждом проекте писать все по новой, или использовать symfony с готовой пачкой бандлов. Вроде если не использовать то ты дофигаНезависимыПрограммист, но толку с этого будет мало.
Имхо.
5. armancho7777777 - 26 Декабря, 2014 - 11:24:05 - перейти к сообщению

Новичок пишет:
Я не люблю котят.

Профи пишет:
Ты просто не умеешь их готовить...
6. DelphinPRO - 26 Декабря, 2014 - 12:10:50 - перейти к сообщению
ПТО пишет:
Без фреймворков намного удобнее

Мой мир перевернулся с ног на голову.....
(Добавление)
Добавлю по поводу live()
Он не был удален неожиданно. Сначала был объявлен deprecated, по-моему в 1,7, и только в 1,9 был удален.
К тому же еще в 1,4 появилась .delegate(), странно, что так долго использовали live().
В общем следим за новостями, читаем release notes и стараемся идти в ногу со временем.
7. MAXUS - 27 Декабря, 2014 - 09:58:00 - перейти к сообщению
Памоему, jq - это библиотека, которая дала мощный толчок популяризации js. Там есть очень много чему поучиться. Но я jq не люблю, потому что:
- начал с нативного js
- соответственно, никак не асилю приготовление котят в микроволновке, хотя это и быстрее
- но в основном это политическое предубеждение, поскольку постоянно встречаю фразы типа начал изучать js с просьбой пояснить, как тут в jq избы строят, а еще больше раздражает, когда напишешь ченить элементарное на js, а тебя спрашивают - это че такое, не давайте на jq!!!
8. Bio man - 27 Декабря, 2014 - 17:48:29 - перейти к сообщению
MAXUS пишет:
библиотека, которая дала мощный толчок популяризации js.
Думаешь? Почему ты так думаешь?
MAXUS пишет:
начал с нативного js
все начинают с нативного JS. jQuery тоже нативный JS, если что. Не нативный JS это, например, Coffee Script (других не знаю). Но я понял о чём ты. И не считаю это аргументом, так как иначе никак.
MAXUS пишет:
соответственно, никак не асилю приготовление котят в микроволновке, хотя это и быстрее
собственно для этого и делался jQ, что бы облегчить работу и избавить от изобретения своего jQ.
MAXUS пишет:
но в основном это политическое предубеждение
Радость
MAXUS пишет:
поскольку постоянно встречаю фразы типа начал изучать js с просьбой пояснить, как тут в jq избы строят, а еще больше раздражает, когда напишешь ченить элементарное на js, а тебя спрашивают - это че такое, не давайте на jq!!!
это не повод отказываться от jQ или его не любить. В первую очередь jQ для разработчиков, и если какой то чайник ничего в этом не смыслит - это его проблемы.

Глупо отказываться от jQ, но и глупо лепить где попало и как попало используя jQ. Всё зависит от задачи.
9. nerv - 27 Декабря, 2014 - 23:44:31 - перейти к сообщению
ПТО пишет:
часто меняются функции

и на трамвае ты ездить не будешь, т.к. кондукторши там разные
и хлеб с молоком перестанешь покупать, т.к. их стоимость пляшет
Улыбка

а вообще... предновогодний вброс засчитан Ха-ха
10. esterio - 29 Декабря, 2014 - 01:43:28 - перейти к сообщению
Bio man пишет:
Глупо отказываться от jQ, но и глупо лепить где попало и как попало используя jQ. Всё зависит от задачи.

а я поддержу например такое
CODE (javascript):
скопировать код в буфер обмена
  1. $('#checkbox').on('change', function(e){
  2.         if($(this).prop('checked')){
  3.                 // ... bla bla bla
  4.         }
  5. });

если можна напрямую
CODE (javascript):
скопировать код в буфер обмена
  1. $('#checkbox').on('change', function(e){
  2.         if(this.checked){
  3.                 // ... bla bla bla
  4.         }
  5. });

деплят куда попало jq по надобности и без. и мой пример не вершина айзберга, потмоу что можна еще согласиться с тем что нужно писать в одном стиле. но примеров достаточно
11. IllusionMH - 29 Декабря, 2014 - 03:17:04 - перейти к сообщению
Bio man пишет:
Думаешь? Почему ты так думаешь?

Во-первых, это позволило писать код который отработает во всех браузерах во времена IE6, FF3 ит.д.
Во-вторых, основной их девиз - писать меньше, что тоже сыграло. Как минимум их sizzle, т.к. без querySelector жизнь была не мила. Куча вариантов получения объекта для работы с Ajax для старых ИЕ которые приходилось копипастить.
В-третьих, куча встроенных функций которые скрывали за собой десятки строк кода либо удобнее нативных.

ИМХО это позволило подтянуть кучу народа, которые могли начать с jQ (я знаю человек 5 если не больше которым пришлось объяснять что jQ это не отдельный язык, а просто либа, и пора учить тот язык на котором она написана, при этом с использование jQ они реально могли сделать простенькие действия, которые на чистом кроссбраузерном JSе им и не снились) т.к. он упрощал жизнь и позволял добиться быстрых результатов.

Bio man, если не это, тогда что?

Обратная сторона этой монеты - "программисты на jQuery", говнокод как в примере esterio из-за не понимания основ и т.д. Так это можно решить кодревью + tech-talks в рамках проекта/отдела.

Сам выбрал 4 пункт. В куче проектов сталкивался с jQ, писал кастомные плагины под проект. Если не страдать фигней, то отличная либа. Особенно если заморочиться и выкинуть лишние модули.
12. MAXUS - 29 Декабря, 2014 - 05:54:06 - перейти к сообщению
Bio man пишет:
MAXUS пишет:
библиотека, которая дала мощный толчок популяризации js.
Думаешь? Почему ты так думаешь?


Могу ошибаться в хронологии... Но хотя бы потому, что в js появились queryselector-ы, которые работают с dom так, как это делал до них jq. Т.е. как в гонках передовые решения запустили в серию.
13. tato - 29 Декабря, 2014 - 07:28:29 - перейти к сообщению
ПТО пишет:
Да. Я свободен. Без фреймворков намного удобнее


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

Я прям вижу как Вы мучаетесь, пишете одно и тоже раз за разом, а потом
создаете тему "Своя CMS" или что-то подобное, где пишете, что все существующее какашка, а вот Ваше творение реально "крутяк".
не надо так...
14. tuareg - 29 Декабря, 2014 - 07:59:36 - перейти к сообщению
querySelector это конечно очень даже хорошо, но http://blog[dot]jquery[dot]com/ (пост о релизе 2.1.3) А если еще глянуть внутрь самой библиотеки, то там есть куча интересных моментов, когда заставить нативный js работать единообразно во всех браузерах + мобилках и т.д ой как тревиальная задача.
А так давайте честно, ну использует кто-то
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#checkbox').on('change', function(e){
  3.         if($(this).prop('checked')){
  4.                 // ... bla bla bla
  5.         }
  6. });
  7.  

Ну кто-то может привести пример, когда это станет "узким" местом? Это как статья на хабре, Почему вам НЕ стоит использовать AngularJs (http://habrahabr.ru/post/246905/)
(Я сам AngularJs сам не использую вообще никогда, ну не нравится он мне)
Есть инструмент, а использовать его или нет это "личная боль" каждого разработчика.
P.S Где-то выше написали, если не надо все, сделайте свою сборку jQuery
P.S.S Сам я тоже начинал с jQuery, причем, сейчас вижу/знаю людей, которые тупо ненавидят js именно из-за косяков с кросбраузерностью.
15. MAXUS - 29 Декабря, 2014 - 11:01:17 - перейти к сообщению
tuareg пишет:

P.S.S Сам я тоже начинал с jQuery, причем, сейчас вижу/знаю людей, которые тупо ненавидят js именно из-за косяков с кросбраузерностью.


Радикально другая сторона медали. Как можно ненавидеть js? Можно тогда ненавидеть html, напримерУлыбка За косяки с кроссбраузерностью логично ненавидеть браузеры, которые не поддерживают стандарты и Майкрософт особенно, но js-то причем?

Не, реально не воткну... Как можно писать на jq и ненавидеть js...

 

Powered by ExBB FM 1.0 RC1