Запутался в ASP.NET Ajax, jQuery и JavaScript [закрыто]

15

Вчера я прочитал несколько глав о ASP.NET Ajax и jQuery из моей книги по ASP.NET 4, и я нашел эти фреймворки довольно интересными и решил узнать о них больше.

Сегодня я позаимствовал некоторые книги из библиотеки по Ajax и JavaScript. Кажется, ASP.NET Ajax отличается от Ajax, а jQuery выглядит как «новый» JavaScript.

Означает ли это, что я могу пропустить JavaScript и изучать jQuery напрямую?

С другой стороны, книга, не заимствованная из ASP.NET, которую я позаимствовал, кажется, применима только к веб-программированию на стороне клиента и выглядит совсем не так, как я узнал из ASP.NET Ajax. Если я разработчик ASP.NET, я думаю, что я должен придерживаться ASP.NET Ajax вместо Ajax на стороне клиента, верно? Как насчет PHP? Существует ли «PHP Ajax», похожий на ASP.NET Ajax?

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

Mr.Y
источник
3
+1 забавно, как ваш вопрос обобщает в некотором смысле часть мира веб-программирования.
Гидеон

Ответы:

31

Это сложный вопрос, но я попытаюсь понять, что это за вещи и как они связаны.

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

ASP.NET AJAX: это библиотека, созданная Microsoft, которая пытается сделать концепцию AJAX доступной для разработчиков, имеющих опыт работы с ASP.NET. Он предоставляет методы, похожие на методы .NET Framework, такие как String.Format и другие. Он частично совпадает с JQuery, но оба они могут использоваться в гармонии друг с другом, так как имеют разные сильные и слабые стороны. Важно помнить, что это клиентская библиотека, которая на самом деле не зависит от ASP.NET. Вы можете использовать ASP.NET AJAX с любой серверной технологией.

jQuery: это библиотека JavaScript, которая обеспечивает среду, облегчающую написание приложений AJAX. Он предоставляет мощную модель выбора с использованием CSS-подобного синтаксиса для взаимодействия с DOM браузера. Он также абстрагирует многие различия между различными браузерами и версиями. Таким образом, вам почти всегда лучше писать код с использованием jQuery, а не API-интерфейсом DOM или AJAX для конкретного браузера. Существует обширная экология доступных плагинов jQuery, которые могут добавить все виды мощного поведения к вашим веб-приложениям, без большой работы с вашей стороны.

JavaScript: это интерпретируемый язык, реализованный всеми основными браузерами, который обеспечивает динамическое поведение на стороне клиента на веб-сайтах. Сам язык довольно солидный, но разные API, предоставляемые разными браузерами, затрудняют эффективную запись «сырого» JavaScript. Вот почему есть все эти библиотеки поверх этого.

Теперь, что касается вопроса о том, что вы должны изучить как разработчик ASP.NET. Я бы рекомендовал ознакомиться с функциональностью ASP.NET AJAX и jQuery. Microsoft поддерживает оба, и оба они включены в VS 2010. Они имеют свои сильные и слабые стороны, и если вы поймете, что это такое, вы будете более эффективны при их использовании.

Вам не нужно использовать AJAX для создания веб-сайтов ASP.NET, но ваши веб-сайты будут более мощными и удобными для пользователей, если вы это сделаете. И если вы поймете, когда AJAX эффективен, а когда нет, вы станете лучшим веб-разработчиком.

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

RationalGeek
источник
3
Единственное, что я хотел бы добавить, это то, что ASP.NET AJAX также скрывает некоторые детали на стороне клиента. Библиотека по-прежнему полностью на стороне клиента, но предоставляет удобные способы связать стороны клиента и сервера без необходимости знать все детали. Если вы действительно хотите лучше понять веб-программирование, вы можете начать с использования jQuery и вызова методов ASP.NET, чтобы понять, как все это работает.
Брайан Ребейн
1
+1 Очень хорошее резюме. Незначительные придирки jQuery был также включен в VS2008
Конрад Фрикс
@ Конрад Фрикс очень верно. Но действительно, кто использует этот старый кусок мусора в настоящее время? :-) (просто шутка, не зажигайте меня)
RationalGeek
Я тоже собирался получить свой огнемет. Как ни странно, я использую 2003 :(, 2005: |, и 2010 :) в своей повседневной работе, но не 2008
Conrad Frix
Ваш абзац JQuery может хотя бы упомянуть Javascript! кроме этого, отличное описание техников, о которых спрашивали
ozz
5

Нет, нет PHP AJAX.

Если вам нужно заняться разработкой клиента, сначала изучите чистый javascript. Тогда изучите JQuery. Если вы начнете только с jQuery, вы пропустите важные концепции javascript, и в основном вы будете заниматься программированием «вырезать и вставить».

JavaScript и jQuery - это универсальные и стандартизированные инструменты, которые можно использовать практически при любой разработке HTML. PHP-программисты используют js + jq при работе с клиентом, Ruby-программисты используют js + jq и т. Д.

Теперь, насколько мне известно, ASP.NET AJAX - это даже JavScript-инфраструктура более высокого уровня, которая подходит для работы с ASP.NET, потому что ASP.NET, как вы, наверное, знаете, сама по себе является довольно высокой абстракцией HTML. Вот почему у них есть конкретные вещи JS. По сути, стоит хорошо поработать с серверными компонентами ASP.NET и улучшить их. Кроме того , ASP.NET AJAX началась во времена , когда не было , что ясно , что Jquery будет де - факто стандартом. Или это было ясно, но не Microsoft ;-) - они фактически планировали создать свою собственную библиотеку JS среднего уровня (как это делает jQuery).

Честно говоря, я не парень из Microsoft, и я бы определенно придерживался чистого JavaScript + jQuery так долго, как мог - если ваш работодатель / проект точно не требует ASP.NET AJAX. Это даст вам наиболее общепризнанные знания в области программирования на стороне клиента.


источник
4

Вот сделка в двух словах

(1) JQuery не заменяет Javascript, это библиотека, которая упрощает общие задачи JavaScript. Любой код JQuery фактически написан на JavaScript.

(2) AJAX - это просто код JavaScript, который манипулирует клиентской стороной веб-страницы и часто загружает контент с сервера, не вызывая перезагрузку всей страницы. Существует не несколько «Версий» AJAX.

(3) Несмотря на то, что № 2 выше. И ASP.NET, и JQuery имеют библиотеки или инструменты, которые упрощают задачу создания веб-сайтов, управляемых AJAX. Есть также ряд других инструментов, которые делают это тоже. Это все тот же AJAX, просто разные способы его генерации или библиотеки, инкапсулирующие его.

(4) Какую библиотеку вы должны изучать? Это в основном вещь предпочтения. Если вам очень нравится использовать веб-элементы управления и веб-разработку с перетаскиванием с помощью ASP.NET, вы можете предпочесть использовать элементы управления ASP.NET, чтобы сделать то же самое. Я также являюсь разработчиком ASP.NET, но я предпочитаю использовать JQuery, потому что он часто дает мне более точный контроль, даже если иногда это может быть немного больше работы. Также, если вы изучите способ JQuery, вы можете использовать его на любой платформе, включая PHP.

JohnFx
источник
3

Есть много способов сделать AJAX, и если вы делаете ASP.NET, ASP.NET AJAX является одним из таких способов. В последние годы я лично отказался от этого в пользу jQuery и его реализации AJAX.

Если я разработчик ASP.NET, я думаю, что я должен придерживаться ASP.NET AJAX вместо AJAX на стороне клиента, верно?

ASP.NET AJAX по-прежнему является клиентским AJAX. Ищите (огромные) библиотеки JavaScript, сгенерированные для вас ASP.NET AJAX (вы увидите их при запуске в ScriptResource.axd или WebResource.axd.

Значит ли это, что я могу пропустить javascript и изучить jQUERY напрямую?

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

Существует ли «PHP AJAX», похожий на ASP.NET AJAX?

Существует множество библиотек JavaScript, которые абстрагируют вас от AJAX. jQuery - только один из них, но он очень популярен и очень надежен.

Марси
источник
0

http://ajaxpatterns.org/PHP_Ajax_Frameworks перечисляет различные фреймворки PHP Ajax, хотя я не знаю, насколько хорошо они интегрированы, как ASP.Net AJAX. Часть большинства фреймворков AJAX будет включать некоторый код на стороне клиента, так как J AJAX предназначен для Javascript.

Были другие реализации для получения функциональности AJAX, прежде чем Microsoft поместила в ASP.Net AJAX, где Anthem.Net - один из примеров, который я использовал несколько лет назад.

JB King
источник
0

JavaScript - это интерпретируемый на стороне клиента язык, который дает вам контроль над компонентами страницы браузера; т.е. HTML-документ, а также сам браузер. jQuery - это библиотека кросс-браузерных функций JavaScript, которая облегчает взаимодействие с DOM.

ASP.NET и PHP оба являются языками сценариев на стороне сервера, где встроенная страница ASP.NET компилируется в DLL-сборку .NET, а компилятор JIT (Just In Time) ASP.NET интерпретирует страницу, встроенную в PHP.

Технически ASP.NET на самом деле не является языком, это фреймворк и среда выполнения, которые предоставляют API-интерфейсы, доступ к которым можно получить с помощью C # или VB.NET. Таким образом, для разработки приложений ASP.NET вам необходимо знать либо C #, либо VB.NET.

Исходя из моего опыта, я посоветую вам потратить время и выучить JavaScript, а затем приступить к изучению jQuery. Конечно, вы также можете заниматься перекрестным обучением, то есть jQuery и базовым JavaScript.

AJAX - это технология асинхронного программирования на стороне клиента, которая может использоваться как в jQuery, так и в ASP.NET AJAX. ASP.NET AJAX - это реализация Microsoft технологии AJAX.

Пол К. Метия II
источник
-5

Языки на стороне клиента используются для уменьшения нагрузки на сервер запросов.

Javascript - это язык сценариев на стороне клиента, а Jquery - это структура javascript, которая является необязательной. Js, jquery работает в самой вашей системе и выполняет такие задачи, как проверка пароля, анимация на веб-странице и т. Д., Они не обращаются к базе данных.

База данных будет MYSQL, ORACLE и существует в веб-хосте; ASP, PHP являются языками сценариев на стороне сервера. Вы можете использовать ASP или PHP для доступа к базе данных, но SQL также необходим для работы на веб-сайтах.

Панду
источник
1
ajax и jquery не являются языками
Raynos
1
Проверка пароля также не выполняется на клиенте. Это просто фантазия "ваш пароль неверен", но он все еще может пройти.
Florian Margaine
@Florian Margaine, Вы можете подтвердить пароль и отправить форму, используя право javascript.
Панду
ужасный, плохо построенный ответ.
Оз
1
Я должен согласиться, когда я наткнулся на это для обзора, мне потребовались значительные усилия, чтобы попытаться хотя бы улучшить разборчивость. Его уже менее -3 голосов, так что, вероятно, останется незамеченным (еще хуже, если концептуальные ошибки должны решаться самим автором), но, по крайней мере, я надеюсь, что теперь он более читабелен и покажет автору, как он мог бы написать ответ.
Oeufcoque Penteano