Помогает ли мне использование фреймворка освоить JavaScript? - PullRequest
9 голосов
/ 27 ноября 2009

Как бы я стал мастером JavaScript, если бы я всегда использовал фреймворки и ничего не делал сам?

Я задал вопрос по JavaScript, и все рекомендуют использовать фреймворк (который не покажет мне реальное ядро ​​JS!) Вместо кодирования вручную.

  1. Кодировали ли вы свои собственные так называемые фреймворки, открывая JS для себя?
  2. Вы использовали фреймворки вроде jQuery?
  3. Можете ли вы теперь считать себя мастером JS?

Ответы [ 13 ]

14 голосов
/ 27 ноября 2009

Да: фреймворки, как правило, скрывают многие сложные части JavaScript. Но вопрос в том, станете ли вы худшим JavaScript-кодером, если знаете, как эффективно использовать его с фреймворком? Конечно, нет. Эффективное использование подмножества любого языка программирования часто лучше, чем плохое использование каждого актива языка.

Нет: фреймворки, как правило, скрывают многие сложные части JavaScript. Используя фреймворк, просматривая его код во время отладки, понимание фреймворка делает вас настоящим мастером в JavaScript. Фреймворки часто показывают методы, о которых вы никогда не задумывались. Посмотри на код. Это часто хорошо комментируется или даже документируется и становится мастером.

Итак: использует JavaScript-фреймворки для упрощения кодирования и обучения в процессе.

** PS: ** Чтобы ответить на ваш последний вопрос. Я занимался программированием на JavaScript с момента его появления в первые годы существования Netscape. Да, наверняка мы сделали свои собственные доморощенные фреймворки и библиотеки. Sarissa - одна из таких «фреймворков» (или библиотек) для JavaScript, которую я активно помогал разрабатывать. Но разве мы обычно не собираем часто используемые функции при написании на любом языке, который в конечном итоге может превратиться в каркас?

Обновления: только что исправлены некоторые ужасные ошибки при наборе текста, не перечитывайте; -)

4 голосов
/ 27 ноября 2009

Это обоюдоострый меч. Если у вас есть роскошь, чтобы просто учиться, то вы можете избежать рамок и делать все вручную. Фреймворки, как правило, делают вас более продуктивными, поскольку они заботятся обо всех тонкостях совместимости браузера и т. Д. Это фактически аргумент, который идет о всех уровнях абстракции.

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

У Джоэла есть очень хорошая статья об этом .

3 голосов
/ 27 ноября 2009

Я разорвался, я начал кодировать javascript еще во времена Netscape Navigator 4 и Internet Explorer 5, еще в эпоху соответствия стандартам браузеров и задолго до того, как были созданы jQuery или MooTools. Обычной практикой было либо заключать в строку (document.all) ? /* ie code */ : /* nn code */; почти каждую строку кода, либо поддерживать отдельные сценарии для каждого браузера. Хотя я очень расстраиваюсь, я определенно думаю, что это сделало меня лучшим программистом.

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

Больше знаний никогда не повредит, если у вас есть время, чтобы узнать о методах javascript dom и поэкспериментировать. Это не так болезненно, как раньше, большинство сценариев, даже больших и сложных, будут работать во всех современных браузерах с незначительными хитростями. Я также думаю, что важно понимать, что именно добавляет jQuery, чтобы вы понимали, что это метод jQuery, а не часть javascript. Исключительно полагаться на то, что библиотека всегда будет там, - нехорошо, потому что однажды вы окажетесь в ситуации, когда вы не сможете ее использовать, и не захотите тупо смотреть на своего босса, как олень в фары, говорящие «да что ты имеешь в виду, я не могу использовать jquery?».

3 голосов
/ 27 ноября 2009

Кодировали ли вы свои собственные так называемые фреймворки, открывая JS для себя?

Да . Это трудный путь, но очень полезный для личного образования.

Вы использовали фреймворки как jQuery?

Да . Но когда это действительно необходимо .

Не могли бы вы теперь считать себя мастером JS?

Нет . Есть так много вещей, которые нужно выучить, особенно в контексте развивающихся веб-стандартов и браузера.


Причины использования JavaScript-фреймворков упрощают такие задачи, как:

  • Кросс-браузерная поддержка
  • Работа с объектной моделью документа Document Browser
  • Реализация богатых пользовательских интерфейсов
  • и т.д.

Таким образом, в условиях обучения JavaScript Фреймворки не не позволяют вам быть JS gury.

Но с точки зрения реального мира JS всегда используется с такими вещами, как DOM, CSS и т. Д., И, не понимая этого, вы не можете быть реальным JS guru-dev.

Так что вы можете выучить простой JavaScript и использовать фреймворк, да, да, можете. Но это будет вне контекста и почти бесполезно.

В результате вам нужно выучить не только JS как язык, но и JS для Интернета.
И рамки мешают это сделать.

Итак, подведем итог: избегайте использования Frameworks, если вы не можете выполнить работу без него или усилия выполнения работы без Framework слишком высоки.

Что касается усилий. Он включает в себя поддержку кросс-браузер. Итак, например , если мне нужно реализовать страницу, которая будет использовать AJAX или должна позволить пользователю перетаскивать элементов на странице, то есть я не могу сделать это вручную (усилие слишком велико). Я выберу jQuery или что-то еще для этого.
Просто выберите тоже самое для работы . Ни один инструмент не является инструментом.


ДОБАВЛЕНО: Главный вопрос был:

Как бы я стал мастером JavaScript, если я всегда использовал фреймворки и ничего не сделал сам?

Вы можете выбрать сложный путь - разработать свой собственный фреймворк и поддерживать его в актуальном состоянии . Вы столкнетесь со всеми возможными проблемами и будете вынуждены понимать все скрытые части. Вы, вероятно, не захотите переопределять jQuery, а вместо этого создадите платформу, связанную с бизнесом. Примером такого может быть «ProductJS»: предоставление разработчикам архитектуры для управления продуктами на вашем веб-сайте, их комментирования, сравнения и т. Д.

1 голос
/ 27 ноября 2009

Как бы я стал мастером JavaScript, если бы я всегда использовал фреймворки и ничего не делал сам?

Если вы ничего не сделали, кроме , использовали фреймворк, тогда я не думаю, что вы могли бы стать "главным" JavaScript-кодером. Если, с другой стороны, вы посмотрите на то, как инфраструктура реализует определенную функциональность, и спросите, почему / как она была реализована, то вы можете начать очищать лук, который является JavaScript.

Я задал вопрос по JavaScript, и все рекомендуют использовать фреймворк (который не покажет мне реальное ядро ​​JS!) Вместо ручного кодирования.

В связи с проблемами совместимости браузера, как правило, разумнее использовать каркас / библиотеку для сложных частей. Зачем заново создавать колесо? Однако, если ваше намерение состоит в том, чтобы на самом деле узнать , как сделать что-то без каркаса, лучше сказать об этом в ваших будущих вопросах.

  1. Кодировали ли вы свои собственные так называемые фреймворки, открывая JS для себя?

Это, наверное, первое, что я сделал. JavaScript, когда я впервые столкнулся с этим, значительно отличался от того, к чему я привык, в том, что я хотел создать среду, которая бы выглядела как Java / C #. В процессе этого, однако, я понял, что был довольно глуп, и обнаружил, что предпочитаю, как JavaScript обрабатывает многие вещи. Это не значит, что я не создал свой собственный набор часто используемых функций.

  1. Вы использовали фреймворки как jQuery?

Не сначала, но я использовал их с тех пор. Когда у вас есть то или иное время для завершения проекта, а срок истекает, гораздо проще / умнее использовать библиотеку / фреймворк. У меня раньше было несколько проблем с ними, и если бы я не знал, как / почему JavaScript работает, я бы никогда не смог решить указанные проблемы.

  1. Не могли бы вы теперь считать себя мастером JS?

Из языка, да. Из языка внутри браузера не обязательно.

1 голос
/ 27 ноября 2009

Я думаю, что существует путаница между языком Javascript, который просто удивителен и заслуживает изучения для каждого программиста, и браузерными "объектными моделями" и css, которые являются грязными, ошибочными и уродливыми. Хорошая библиотека в функциональном стиле (угадайте, какую я имею в виду) поощряет вас использовать чистый Javascript во всей его красоте и защищает вас от всего этого грязного и скучного браузера.

1 голос
/ 27 ноября 2009

Да, просто посмотрите на все вопросы jQuery, которые люди задают, которые не имеют ничего общего с jQuery.

Есть еще много, но их трудно найти.

0 голосов
/ 15 июля 2015

Это всего лишь мое мнение, но я бы предложил использовать оба! Вот руководство и почему:


Для личных проектов (например, работа в классе, мастеринг или что-то, что можно добавить в ваше портфолио JS), программа на чистом JavaScript .

Великие разработчики (мнение) учатся на практике, а не только на работе. Они улучшают свои языковые навыки, продолжая программировать, находясь вдали от работы или класса. Это лучшее время для тестирования в чистом или "ванильном" JavaScript. Вы можете сломать вещи, и все в порядке. Ваш код может не быть на 100% кросс-браузерным, но по крайней мере ваш ведущий инженер не будет заставлять вас исправлять код для IE8 и старше:)


Однако для производственного кода на вашей работе, если вы все еще начинающий инженер JavaScript, тогда Я рекомендую использовать jQuery .

Почему? Итак, давайте вернемся очень быстро. JQuery не может быть лучшим инструментом для каждого случая использования приложения. Ваша пользовательская база может быть в основном на мобильных устройствах или в регионах с более низкой скоростью соединения, поэтому, возможно, лучшим вариантом будет одностраничная прикладная среда. Это действительно зависит. Но есть вероятность, что если вы новичок в JavaScript, то, вероятно, вы еще не программируете с каркасом приложений JS.

Итак, с учетом вышесказанного, я рекомендую использовать jQuery, потому что у него длинная история с JavaScript для веба, он широко кроссбраузерен, использует очень простое средство выбора и использования, в котором повторно используются ваши знания CSS-селектора, и вы использовать его снова и снова в вашей карьере. Большой является кросс-браузерная поддержка. Программирование простое, и дети могут его забрать. Однако разработка продукта JavaScript, который интерпретируется в нескольких различных реализациях JavaScript (браузерах) и на разных типах экранов, является сложной задачей - будут появляться ошибки. Использование jQuery не даст вашему боссу посылать вам много исправлений ошибок. Вот отличная статья на эту тему: Что вы никогда не должны делать, часть I, Джоэл Спольски


Ответы на ваши вопросы:

Кодировали ли вы свои собственные так называемые фреймворки, открывая JS для себя?

Нет ...? Может быть...?! Я не помню, если честно. Сделайте много своих собственных проектов, и вам, возможно, не нужно помнить ни того, ни другого.

Вы использовали фреймворки вроде jQuery?

полностью? Нет. Большая часть пути? Смущающе, да, но вы все еще развиваете навыки, используя их.

Можете ли вы теперь считать себя мастером JS?

Даже после 3 лет разработки JS я все еще говорю нет. Всегда. Держать. Учусь! С учетом того, что сегодня JavaScript используется в мобильном Интернете, на серверах, в базах данных и даже для разработки собственных мобильных приложений (см. React Native), есть все больше и больше для изучения. JS 2009 года, когда был задан этот вопрос, сильно отличается от JS 2015 года (я это печатал), и он продолжает развиваться. Но если ты продолжишь возиться, однажды ты станешь великим.


Итак, в итоге : делайте и то, и другое! Самое главное, тратить свое свободное время на программирование на чистом JavaScript, пока не станешь джедаем JavaScript. Удачи.

Другие забавные чтения Прохладный Front-End разработчик от Matt Zabriskie и Скучный front-end разработчик от Adam Silver

0 голосов
/ 27 ноября 2009

Как бы я стал мастером JavaScript, если я всегда использовал фреймворки и ничего не сделал сам?

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

0 голосов
/ 27 ноября 2009

Лично я думаю, что что-то вроде jQuery может поднять вашу игру как программиста JavaScript, если вы посмотрите на это как на возможность изучить, как Джон Резиг думал о дизайне и реализации.

Его ненавязчивый стиль JavaScript стоит подражать.

Обязательно используйте jQuery. Но также читай, изучай, подражай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...