Плутати про ASP.NET Ajax, jQuery та JavaScript [закрито]


15

Вчора я прочитав кілька розділів про ASP.NET Ajax та jQuery з моєї книги ASP.NET 4 і виявив ці рамки досить цікавими і вирішив дізнатися більше про них.

Сьогодні я позичив деякі книги з бібліотеки на Ajax та JavaScript. Схоже, ASP.NET Ajax відрізняється від Ajax, а jQuery здається "новим" JavaScript.

Чи означає це, що я можу пропустити JavaScript і навчитися безпосередньо jQuery?

З іншого боку, книга, яка мені не запозичила ASAP.NET Ajax, запозичила, здається, стосується лише веб-програмування на стороні клієнта і виглядає зовсім інакше, ніж те, що я дізнався від ASP.NET Ajax. Якщо я розробник ASP.NET, я думаю, я повинен дотримуватися ASP.NET Ajax замість клієнта Ajax? Що з PHP? Чи є "PHP Ajax" схожий на ASP.NET Ajax?

Це не те, що я лінуюся вивчати інші інструменти, а просто хочу зосередитись на правильних.


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 хорошим. Вони дають вам короткотермінову вигоду, але в довгостроковій перспективі вони є кошмаром технічного обслуговування, який я можу зазначити.


3
Єдине, що я хотів би додати, це те, що ASP.NET AJAX також приховує деякі деталі на стороні клієнта. Бібліотека все ще залишається на стороні клієнта, але вона пропонує зручні способи з'єднати клієнтську та серверну сторони, не знаючи всіх деталей. Якщо ви дійсно хочете краще зрозуміти веб-програмування, ви можете почати використовувати jQuery і вводити свої методи ASP.NET, щоб зрозуміти, як це все працює.
Брайан Ребейн

1
+1 Дуже приємне резюме. Невеликі примхливі jQuery також були включені до VS2008
Conrad Frix

@Conrad Frix дуже правда. Але насправді хто в даний час використовує той старий шматок сміття? :-) (просто жарт не спалахує мене)
RationalGeek

Я ось-ось збирався отримати і свого вогнемет. Як не дивно, я використовую 2003 :(, 2005: | і 2010 :) у своїй щоденній роботі, але ні 2008
Конрад Фрікс

Ваш абзац 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 є).

Чесно кажучи, я не хлопець Майкрософт, і я б точно дотримувався чистого 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.


3

Є багато способів зробити AJAX, і якщо ви робите ASP.NET, ASP.NET AJAX є одним із таких способів. В останні роки я особисто відмовився від цього таким чином на користь jQuery та його впровадження AJAX.

Якщо я розробник ASP.NET, я думаю, я повинен дотримуватися ASP.NET AJAX замість клієнта AJAX?

ASP.NET AJAX все ще є аяксом на стороні клієнта. Шукайте (величезні) бібліотеки JavaScript, згенеровані для вас ASP.NET AJAX (ви побачите їх під час роботи в ScriptResource.axd або WebResource.axd.

Це означає, що я можу пропустити javascript і навчитися безпосередньо jQUERY?

jQuery - це лише бібліотека функцій JavaScript. Для правильного використання jQuery вам все одно знадобиться розуміння JavaScript. 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.

Перед тим, як Microsoft поставив ASP.Net AJAX, де Anthem.Net - один із прикладів, якими я користувався роки тому, були й інші реалізації для отримання функціональності AJAX .


0

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

ASP.NET і PHP - це мови скриптування на стороні сервера, де в якості вбудованої ASP.NET сторінки збирається в DLL-збірку .NET, компілятором ASP.NET JIT (Just In Time), інтерпретується сторінка, побудована в 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.


-5

Мови на стороні клієнта використовуються для зменшення завантаження серверів запитів.

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

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


1
ajax та jquery - це не мови
Raynos

1
Перевірка пароля також не проводиться на клієнті. Це просто фантазія «ваш пароль там не так», але він все одно може пройти.
Флоріан Маргаїн

@Florian Margaine, Ви можете підтвердити пароль та надіслати форму, використовуючи javascript право.
панду

страшна, погано побудована відповідь.
ozz

1
Я повинен погодитися, коли я натрапив на це для розгляду, мені знадобилося чимало зусиль, щоб спробувати покращити принаймні розбірливість. Її вже менше -3 голосів, ймовірно, це залишиться непоміченим (ще гірше за те, що концептуальні помилки з вами належить виправити автору), але, принаймні, я сподіваюсь, що зараз це читає і покаже автору, як він міг би піти про написання твору відповідь.
Oeufcoque Penteano
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.