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

Где я могу начать изучать все технологии и библиотеки JavaScript?

Я создаю сайт, который представляет собой нечто среднее между StackOverflow и Digg (только для другого жанра). Как правило, в прошлом я бы просто построил его с помощью веб-форм ASP.Net. Однако я хочу использовать этот проект в качестве способа изучения новых технологий. Я использую ASP.Net Mvc, который действительно замечательный, но мне нужно изучить/использовать некоторые библиотеки javascript.

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

Итак, мой вопрос - с чего начать? Я чувствую, что меня обстреливают так много вариантов, и я не уверен, с чего начать или даже то, что они есть. Может кто-то выпрямить меня и дать какое-то объяснение и направление?

  • JSON
  • JQuery
  • MS-АЯКС

Я уверен, что есть куча других, о которых я могу вспомнить в данный момент.

4b9b3361

Ответ 1

Вы должны обязательно начать с основ Javascript. Начните с таких вещей, как печать "Hello World" на странице. Переходите к основным языковым функциям, таким как переменные, циклы, условные обозначения и функции. Я рекомендую W3Schools Введение в Javascript. Не пытайтесь сделать объектно-ориентированное программирование в Javascript. Это болезненно и запутанно, даже для некоторых опытных программистов Javascript.

Далее я настоятельно рекомендую учиться использовать кросс-браузерную библиотеку Javascript, а не пытаться делать все вручную (в частности: взаимодействуя с DOM, выполняя XmlHttpRequests, а также вызовы AJAX и т.д.). Я рекомендую jQuery library. Он обеспечивает прочную основу для всех интересных приложений AJAX-y, которые вы хотите сделать, и есть грузы plugins доступно для него.

jQuery - это структура Javascript, которая позволяет легко и надежно взаимодействовать с Document Object Model (DOM). Проще говоря, DOM представляет собой представление всех элементов HTML на веб-странице. DOM немного отличается от браузера к браузеру, и взаимодействие с ним "вручную" утомительно и подвержено ошибкам. jQuery решает эту проблему, выполняя всю тяжелую работу за кулисами. На самом деле это намного мощнее, но это основная особенность. Он также обеспечивает поддержку событий страницы, настраиваемых событий, плагинов, манипуляций с CSS и т.д.

JSON - еще один термин, который вы упомянули. Это означает JavaScript Object Notation. JSON - это просто облегченный способ представления структур в Javascript (и на других языках тоже). Честно говоря, Статья Wikipedia JSON дает гораздо лучшее резюме того, как JSON используется с AJAX, чем я когда-либо мог, так что вы можете захотеть дайте ему прочитать.

Вот основной порядок событий:

  • Ваш Javascript-код вызывает вызов AJAX на веб-страницу. Вы можете сделать это, используя функции AJAX в jQuery.
  • Результатом, созданным этой веб-страницей, является объект JSON. Например, он может создать строку, которая выглядит так: { 'firstname':'Robert', 'lastname':'Smith' }
  • Результат получен вашим вызовом AJAX и оценен с использованием специальной функции JavaScript "eval".
  • У вас остается собственный объект Javascript, с которым вы можете работать в своем коде. Затем вы можете делать такие вещи, как: document.write('Hello ' + result.firstname + ' ' + result.lastname)

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

Самое важное, что нужно запомнить: узнать, делая. Эксперимент. Попробуйте новые вещи. Сделайте кучу доказательств концептуальных страниц. С Javascript, это действительно лучший способ получить ваши ноги мокрые. Удачи!

Ответ 2

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

Затем, возьмите хорошую фреймворк, это поможет вам выполнить DOM-манипуляции, для чего обычно используется Javascript. Структура позволит сэкономить много времени на различиях между браузерами и обеспечить хорошую основу для разработки. Здесь много выбора, и вы будете хорошо справляться с любым из популярных вариантов. Лично я бы выбрал jQuery для его сжатого API и отличной библиотеки плагинов.

По пути вы узнаете определения отдельных функций/обозначений, таких как JSON (что означает Javascript Object Notation и используется для определения переносимых структур данных в Javascript). По любым конкретным вопросам, которые у вас есть, вы всегда можете google или вернуться к SO;)

Ответ 3

Я всегда находил, что книга rhino является моим другом при работе с javascript. Несмотря на то, что он не охватывает кричащие рамки, он чувствует себя всегда там как справочник/справочник с действительно надежным освещением всего. Последние выпуски также охватывают вещи ajax.

У меня есть не менее 3 выпусков этой книги, и все они выглядят изношенными и хорошо используемыми.

Ответ 4

Короткий ответ: я думаю, вы начинаете с jQuery.

Длинный ответ: JSON - это не библиотека, а формат данных, и простой в этом. Если вы знакомы с javascript вообще, это должно произойти естественным образом - важно научиться, но это не займет много времени. jQuery получает стремление стать де-факто стандартной библиотекой и включает в себя MS и других крупных игроков. Это довольно просто начать, и вы найдете массу поддержки сообщества, не в последнюю очередь здесь.

Ответ 5

JSON

JSON - это формат данных, например XML, но он является родным для Javascript. Вы можете eval() его, и он становится фактическим объектом (более буквально, хэш-таблицей). Это идеальная замена для XML для асинхронного посылки данных на странице, поскольку для этого не требуется синтаксический анализатор и потому, что он имеет меньший размер. Для серверной части существует ряд JSON-библиотек, таких как JsonFx Serializer, которые помогают вам сериализовать/десериализовать JSON на сервере. Дополнительная информация, включая ссылки на несколько библиотек JSON на http://www.json.org/. Обратите внимание, что есть также несколько дополнительных Javascript-библиотек для работы с JSON, также на json.org.

JQuery

jQuery быстро становится последней библиотекой инструментов Javascript. Это буквально одно из первых, если не первое, стороннее программное обеспечение с открытым исходным кодом, которое Microsoft приняло и перешло в свою линейку продуктов разработки в качестве основного компонента (для Visual Studio 2010 и для ASP.NET AJAX 4.0). Это определенно библиотека, которую вы хотите изучить, но не раньше, чем вы полностью поймете основы Javascript.

MS-AJAX

Microsoft ASP.NET AJAX - это в основном набор расширений для веб-форм ASP.NET, которые облегчают функциональность AJAX, выполняя обратные передачи на сервер без обновления всей страницы. Там больше, чем это; он также имеет обширную библиотеку Javascript (Microsoft AJAX Library, я полагаю, она называется, что означает "MS-AJAX" ), которая предоставляет много возможностей OOP для .NET как Javascript, и для этого не требуется ASP.NET AJAX. Библиотека Microsoft AJAX (библиотека Javascript) не является НЕОБХОДИМОЙ для изучения, но это необязательно. ASP.NET AJAX, однако, основан на веб-формах ASP.NET, и поэтому он несовместим с ASP.NET MVC. Вы можете использовать Javascript-библиотеку, но не в полной мере; опять же, это не обязательно, вы можете многое сделать, просто зная основы Javascript очень хорошо и хорошо знаете jQuery (и jQuery плагины).

Вкратце, изучите сам Javascript (если вы еще этого не сделали), изучите основы DOM/основы DHTML, а затем изучите jQuery, и я думаю, что вы все настроитесь.

Ответ 6

Не пропустите этот: http://ajaxpatterns.org/

Он содержит всестороннее освещение всех концепций и шаблонов проектирования, которые вы можете использовать в разработке AJAX в любой библиотеке lib. Он также включает обзор всех библиотек AJAX. Этот сайт даст вам большую картину, а не просто научит вас определенной библиотеке.

Лично мне нравится ExtJS AJAX Lib http://extjs.com. Я использовал его в течение 6 месяцев в исследовательском проекте после обзора рынка. Мне особенно понравился его отличный набор пользовательских виджета. Проверьте их демоверсии. Эта библиотека первоначально была основана на пользовательском интерфейсе Yahoo, но теперь она имеет гораздо больше. Теперь они интегрировали его с веб-инструментарием Google (который я почти выбрал, но из-за отсутствия достойных виджетов).

Либы, подобные jQuery, выглядят крошечными и неполными рядом с этим. Dojo имеет несколько отличных вещей, но не настолько интегрирован, а качество кода не такое высокое (IMHO). Недостатком для некоторых может быть GPL/Коммерческая лицензия (была первоначально LGPL и переход на GPL вызвал некоторые разногласия).

Оформить оставшуюся часть ссылок на ресурсы AJAX на http://delicious.com/tohagan/ajax... Наслаждайтесь!

Ответ 7

Сначала изучите основы, затем заберите рамки, чтобы изучить материал Ajax - их так много, что нет никаких оснований делать это вручную. Я второй (третий? Пятый?) Обучение jQuery; он действительно выглядит сладким.

Ответ 8

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

У него может не быть такого сжатого синтаксиса, но он прекрасно документирован - в том числе и многие другие превосходные материалы, которые стоит прочитать, - и имеет массу примеров.

Я чувствовал, что стоит отметить, так что люди рассматривают несколько вариантов.

Ответ 9

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

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

Ответ 10

JSON не является библиотекой, поэтому не беспокойтесь об этом.

MS-AJAX - очень специфический инструмент, поэтому я бы тоже не стал беспокоиться, если вы уже не являетесь участником ASP.NET.

Я бы посоветовал вам начать работу с чистого Javascript, и когда вам будет удобно с ним, попробуйте что-нибудь вроде jQuery, которое потрясающе, а также John Resig "Pro Javascript Techniques", который отлично подойдет вашему разуму. Пока я читал книгу, я говорил "вау, что действительно круто" на каждой второй странице.

Но главное - сначала получить основы, так что отправляйтесь в w3schools или получите хорошую книгу javascript в магазине.

Ответ 11

jQuery имеет отличное преимущество, которое было благословлено Microsoft, поэтому, если вы используете технологию SO, это было бы неплохое начало (с помощью учебников по сайту jQuery).

Ответ 12

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

Кстати, я работаю со Stacked...