Подтвердить что ты не робот

Иногда нужно использовать несколько библиотек javascript?

Я новичок в веб-разработке и не совсем понимаю роль js framework в приложении. Я начал с jQuery, но люди сказали, что я должен попробовать prototype.js или node.js для моего проекта, который является многопользовательской стратегической игрой.

Важно ли сначала выбирать структуру и убедиться, что она делает все, что вам нужно, поэтому вам не нужно использовать несколько фреймворков?

4b9b3361

Ответ 1

Я новичок в веб-разработке и не совсем понимаю роль js Framework играет в приложении

Вы новичок, но вам повезло!

Несколько лет назад разработчикам очень сложно было работать над проблемами кросс-браузера с точки зрения CSS (до сих пор его бит), обработки событий, анимаций, манипуляций с DOM. Вам приходилось часто писать код differnet для каждого браузера.

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

Как правило, библиотеки JavaScript об этом заботятся или предоставляют следующие параметры:

  • Обработка броузерных браузеров
  • Анимация
  • Пользовательские диалоги и виджеты
  • Возможность писать меньший код
  • Специальный механизм выбора
  • Создание/изменение DOM
  • Обработка событий
  • Полезные функции
  • AJAX

Я начал с jQuery, но люди сказали, что я должен попробовать prototype.js или node.js для моего проекта, который является многопользовательским стратегическая игра.

По существу, они делают то же самое (упомянутое выше), вам решать, на какой из них вы поедете. Мне нравится jQuery лично, так как он легко начать с CSS и как механизм выбора.

Node.JS - совершенно другой зверь, в отличие от jQuery или Prototype, которые основаны на клиентском JavaScript, node.js - это серверный JavaScript.

Важно ли сначала выбрать структуру, и убедиться, что она делает все, что вам нужно, поэтому вам не нужно использовать несколько фреймворков?

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

Ответ 2

Роль javascript-структуры очень проста: предоставить вам набор функций более высокого уровня, чтобы вы могли создавать свое приложение без необходимости перекодировать вещи, которые были сделаны до этого, и создать структуру для разработки. Вы могли бы подумать о jQuery или prototype.js как о наборах функций, которые другие люди нашли, часто нужно писать снова и снова, чтобы они уже сделали это для вас. Такие вещи, как анимирование объектов на экране или объединение и перестановка элементов в DOM, являются общими для многих приложений, поэтому эти среды и многие другие пытаются упростить эти общие задачи. Другая приятная вещь: они решили общие проблемы для вас наилучшим образом для каждой платформы, поэтому независимо от того, какой браузер или телефон вы получаете аналогичный опыт - это не так.

Node.js - это нечто другое. Это язык на стороне сервера (конечно, язык - это javascript), но он принимает роль php или perl или python или ruby ​​(или ваш любимый серверный язык) в том, что он фактически запускает код, чтобы разговаривать с базами данных и извлекать страницы на сервер, в то время как другие обычно запускают код на компьютерах пользователей в браузерах.

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

Для вашего конкретного приложения вам понадобится как внешний интерфейс, так и его работа. Если приложение, которое вы пытаетесь построить, является веб-сайтом, то обязательно используйте одну из этих фреймворков javascript, но если вы говорите о мобильном приложении на Android или iphone, вам не нужны эти события.

Ответ 3

Просто расширив то, что было добавлено в комментарии, и разъяснив, что это за "рамки":

Вы можете использовать столько фреймворков, сколько захотите, и они должны (если они были написаны хорошо), не конфликтуют друг с другом. В некоторых библиотеках могут возникать проблемы, поскольку они назначают специальные символы, такие как $, и поскольку в javascript имеется ограниченное количество специальных символов, которые уже не используются в javascript, это почти неизбежно, но обычно более зрелые структуры идентифицировали это и написали работу вокруг, т.е. jQuery.noConflict, который в основном переназначает все, что раньше использовалось.

В отношении каждой структуры есть нагрузки, и каждая из них имеет свою собственную нишу /API, подходящую для конкретной потребности программирования, например:

Sizzle (используется в jquery) - Отличный синтаксис выбора для maniuplating DOM

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

Handlebars.js - манипуляция с шаблонами на основе шаблонов + некоторые другие хорошие MVVM (?)

Sproutcore.js, node.js... и т.д. и т.д. - прочитайте каждый из них и посмотрите, на что они нацелены.

Вы можете смешивать их вместе - вы можете найти случайный конфликт, о котором вы должны сообщить авторам, но не чувствуете себя ограниченным одним фреймворком.

Ответ 4

Легко быть сбитым с толку рядом доступных фреймворков - в наши дни это может показаться новым, каждый месяц входит в zeitgeist.

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

jQuery, например, сосредоточен вокруг DOM-манипуляции и AJAX. Да, он имеет больше аспектов, но это его точки продажи. Сравните это с, скажем, с Underscore.js, который посвящен обогащению API уровня данных, чтобы быть более похожим на что-то вроде PHP. В конце концов, JavaScript имеет традиционно ограничивающий API по сравнению с такими языками (хотя он все более богаче с последующими выпусками ECMA и специфичными для поставщиков API).

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

Я бы избегал, особенно на ранней стадии, использования нескольких библиотек, которые схожи в фокусе. Вы сталкиваетесь с проектами, которые загружаются как в пользовательском интерфейсе jQuery, так и, скажем, в extJS. Да, это дает вам больше возможностей для игры, но, учитывая перекрытие, преимущество перевешивается негативным воздействием на вес вашей страницы. Пойдите с тем, что вам нравится, и, что важно, чьи документы и сообщество вам комфортно.

Наконец, имейте в виду, что библиотеки и фреймворки на самом деле не одно и то же, хотя условия часто используются несколько нецелесообразно взаимозаменяемо. Они оба JS под капотом; библиотека ориентирована на предоставление функций и моделей, которые, по крайней мере, как правило, означает писать меньше кода, чем если бы вы делали все это в родной, или 'vanilla', JavaScript, в то время как структура связана с всеохватывающего структурой вашего кода и того, как различные части связаны или взаимодействуют.