Mylić o ASP.NET Ajax, jQuery i JavaScript [zamknięte]


15

Wczoraj przeczytałem kilka rozdziałów na temat ASP.NET Ajax i jQuery z mojej książki ASP.NET 4 i znalazłem te frameworki całkiem interesujące i postanowiłem dowiedzieć się o nich więcej.

Dzisiaj pożyczyłem kilka książek z biblioteki na Ajax i JavaScript. Wygląda na to, że ASP.NET Ajax różni się od Ajax, a jQuery wygląda jak „nowy” JavaScript.

Czy to oznacza, że ​​mogę pominąć JavaScript i bezpośrednio nauczyć się jQuery?

Z drugiej strony pożyczona przeze mnie książka inna niż ASP.NET Ajax wydaje się mieć zastosowanie tylko do programowania WWW po stronie klienta i wygląda zupełnie inaczej niż nauczyłem się z ASP.NET Ajax. Jeśli jestem programistą ASP.NET, myślę, że powinienem trzymać się Ajax ASP.NET zamiast Ajax po stronie klienta, prawda? Co z PHP? Czy istnieje „PHP Ajax” podobny do ASP.NET Ajax?

Nie chodzi o to, że jestem leniwy w uczeniu się innych narzędzi, ale chcę skupić się na właściwych.


3
+1 zabawne, jak twoje pytanie podsumowuje w pewnym sensie część świata programowania sieciowego.
gideon

Odpowiedzi:


31

To skomplikowany temat, ale oto moja próba wyjaśnienia, czym są te wszystkie rzeczy i jak się odnoszą.

AJAX: Jest to koncepcja polegająca na asynchronicznym pobieraniu danych do aplikacji internetowej bez ponownego ładowania całej strony. Umożliwia dynamiczne interfejsy użytkownika, takie jak Google Mail, które działają jak aplikacje komputerowe, ale działają w przeglądarce.

ASP.NET AJAX: jest to biblioteka autorstwa Microsoft, która próbuje udostępnić koncepcję AJAX programistom posiadającym tło ASP.NET. Udostępnia metody podobne do metod .NET Framework, takie jak String.Format i inne. To w pewnym stopniu pokrywa się z JQuery, ale oba mogą być używane w harmonii razem, ponieważ mają różne mocne i słabe strony. Należy pamiętać, że jest to biblioteka po stronie klienta i tak naprawdę nie jest zależna od ASP.NET. Możesz użyć ASP.NET AJAX z dowolną technologią po stronie serwera.

jQuery: jest to biblioteka JavaScript, która zapewnia platformę ułatwiającą pisanie aplikacji AJAX. Zapewnia potężny model selekcji wykorzystujący składnię podobną do CSS do interakcji z DOM przeglądarki. Abstraktuje także wiele różnic między różnymi przeglądarkami i wersjami. Tak więc prawie zawsze lepiej jest kodować przeciwko jQuery w przeciwieństwie do specyficznych dla przeglądarki interfejsów API DOM lub AJAX. Dostępna jest bogata ekologia wtyczek jQuery, które mogą dodawać różnego rodzaju zaawansowane zachowania do twoich aplikacji internetowych, bez dużego nakładu pracy z twojej strony.

JavaScript: jest to język interpretowany zaimplementowany przez wszystkie popularne przeglądarki, który pozwala na dynamiczne zachowanie po stronie klienta na stronach internetowych. Sam język jest dość solidny, ale różne interfejsy API oferowane przez różne przeglądarki utrudniają efektywne pisanie „surowego” JavaScript. Dlatego na górze są wszystkie te biblioteki.

Teraz, jeśli chodzi o pytanie, czego powinieneś nauczyć się jako programista ASP.NET. Poleciłbym zapoznanie się z funkcjonalnością ASP.NET AJAX i jQuery. Microsoft popiera oba, a oba są dołączone do VS 2010. Mają różne mocne i słabe strony, a jeśli zrozumiesz, jakie to są, będziesz bardziej skuteczny z ich używania.

Nie musisz używać AJAX do robienia stron ASP.NET, ale twoje strony będą bardziej wydajne i bardziej przyjazne dla użytkownika. A jeśli wyczujesz, kiedy AJAX działa, a kiedy nie, będziesz lepszym programistą.

Och, i trzymaj się z dala od UpdatePanels. To była pierwsza odpowiedź MS na AJAX, ale są one ogólnie złe i są sprzeczne z wieloma koncepcjami, które czynią AJAX dobrym. Dają ci krótkoterminowe korzyści, ale na dłuższą metę są koszmarem w utrzymaniu z mojego doświadczenia.


3
Dodam tylko, że ASP.NET AJAX ukrywa również niektóre szczegóły po stronie klienta. Biblioteka wciąż jest po stronie klienta, ale zapewnia wygodne sposoby łączenia klienta i serwera bez konieczności poznawania wszystkich szczegółów. Jeśli naprawdę chcesz lepiej zrozumieć programowanie sieciowe, możesz zacząć od korzystania z jQuery i wywoływania metod ASP.NET, aby zrozumieć, jak to wszystko działa.
Bryan Rehbein,

1
+1 Bardzo fajne podsumowanie. Drobna sprzeczka jQuery została również dołączona do VS2008
Conrad Frix

@ Conrad Frix bardzo prawda. Ale tak naprawdę, kto obecnie używa tego starego śmieci? :-) (tylko żart mnie nie płonie)
RationalGeek,

Właśnie miałem zdobyć mój miotacz ognia. Co dziwne, używam 2003 :(, 2005: | i 2010 :) w mojej codziennej pracy, ale nie 2008
Conrad Frix

W akapicie JQuery można co najmniej wspomnieć o Javascript! poza tym świetny opis techników, o które pytano
ozz

5

Nie, nie ma PHP AJAX.

Jeśli musisz zrobić programowanie klienta, naucz się najpierw czystego javascript. Następnie naucz się jQuery. Jeśli zaczniesz od jQuery, przegapisz ważne koncepcje javascript i będziesz w zasadzie zajmował się programowaniem wycinania i wklejania.

JavaScript i jQuery są to uniwersalne i wystandaryzowanych narzędzi, które można wykorzystać niemal w każdej rozwoju HTML. Programiści PHP używają js + jq do robienia rzeczy klienta, programiści Ruby używają js + jq itp.

Teraz, o ile mi wiadomo, ASP.NET AJAX jest nawet strukturą JavScript wyższego poziomu, która jest przystosowana do pracy z ASP.NET, ponieważ ASP.NET, jak zapewne wiesz, sam jest dość wysoką abstrakcją od HTML. Właśnie dlatego mają określone rzeczy JS. Zasadniczo dobrze jest grać z komponentami ASP.NET po stronie serwera i ulepszać je. Ponadto ASP.NET AJAX zaczął działać w czasach, gdy nie było tak jasne, że jQuery będzie standardem defacto. Albo było jasne, ale nie dla Microsoftu ;-) - faktycznie planowali stworzyć własną bibliotekę JS średniego poziomu (tak jak jQuery).

Szczerze mówiąc, nie jestem facetem Microsoftu i zdecydowanie trzymałbym się czystego JavaScript + jQuery tak długo, jak tylko mogłem - jeśli twój pracodawca / projekt nie wymaga dokładnie ASP.NET AJAX. Zapewni Ci najbardziej uznaną wiedzę na temat programowania po stronie klienta.


4

Oto oferta w skrócie

(1) JQuery nie zastępuje Javascript, jest to biblioteka, która upraszcza typowe zadania JavaScript. Każdy kod JQuery jest w rzeczywistości napisany w JavaScript.

(2) AJAX to po prostu kod JavaScript, który manipuluje stroną internetową po stronie klienta i często ściąga zawartość z serwera bez wymuszania przeładowania całej strony. Nie ma wielu „wersji” AJAX.

(3) Bez względu na # 2 powyżej. Zarówno ASP.NET, jak i JQuery mają biblioteki lub narzędzia, które upraszczają zadanie tworzenia stron internetowych opartych na AJAX. Istnieje również wiele innych narzędzi, które to robią. To wszystko to samo AJAX, po prostu różne sposoby jego generowania lub biblioteki enkapsulujące.

(4) Jakiej biblioteki powinieneś się nauczyć? To głównie preferencja. Jeśli bardzo lubisz korzystać z kontrolek sieci Web i tworzenia stron internetowych metodą przeciągania i upuszczania w programie ASP.NET, możesz preferować używanie formantów ASP.NET do wykonania tego samego. Jestem również programistą ASP.NET, ale wolę używać JQuery, ponieważ często daje mi to bardziej szczegółową kontrolę, nawet jeśli czasami może to wymagać nieco więcej pracy. Ponadto, jeśli nauczysz się JQuery, możesz go używać na dowolnej platformie, w tym PHP.


3

Istnieje wiele sposobów wykonywania AJAX, a jeśli używasz ASP.NET, ASP.NET AJAX jest jednym z tych sposobów. W ostatnich latach osobiście zrezygnowałem z robienia tego w ten sposób na rzecz jQuery i jego implementacji AJAX.

Jeśli jestem programistą ASP.NET, myślę, że powinienem trzymać się ASP.NET AJAX zamiast AJAX po stronie klienta, prawda?

ASP.NET AJAX jest wciąż po stronie klienta ajax. Poszukaj (ogromnych) bibliotek JavaScript wygenerowanych dla Ciebie przez ASP.NET AJAX (zobaczysz je podczas działania w ScriptResource.axd lub WebResource.axd.

Czy to oznacza, że ​​mogę pominąć javascript i bezpośrednio nauczyć się JQUERY?

jQuery to tylko biblioteka funkcji JavaScript. Aby poprawnie korzystać z jQuery, nadal potrzebujesz znajomości języka JavaScript. jQuery robi streszczenie dala niektóre trudne JavaScript, jQuery tak jest, moim zdaniem, dobry sposób na rozpoczęcie używania i uczenia JavaScript (chociaż lepiej przynajmniej wiedzieć trochę JavaScript, zanim zaczniesz go używać).

Czy istnieje „PHP AJAX” podobny do ASP.NET AJAX?

Dostępnych jest wiele bibliotek JavaScript do abstrakcyjnego AJAX. jQuery jest tylko jednym z nich, ale jest bardzo popularny i bardzo solidny.


0

http://ajaxpatterns.org/PHP_Ajax_Frameworks wymienia różne frameworki Ajax PHP, chociaż nie wiem, jak dobrze są one zintegrowane jak ASP.Net AJAX. Część większości frameworków AJAX będzie wymagała kodu po stronie klienta, ponieważ J AJAX jest dla Javascript.

Były inne implementacje do uzyskania funkcjonalności AJAX, zanim Microsoft umieścił w ASP.Net AJAX, gdzie Anthem.Net jest jednym z przykładów, z których korzystałem lata temu.


0

JavaScript to język interpretowany po stronie klienta, który zapewnia kontrolę nad komponentami strony przeglądarki; tzn. dokument HTML, a także sama przeglądarka. jQuery to biblioteka funkcji JavaScript w różnych przeglądarkach, która ułatwia interakcję z DOM.

ASP.NET i PHP to języki skryptowe po stronie serwera, w których po skompilowaniu strony wbudowanej w ASP.NET do biblioteki DLL zestawu .NET, przez kompilator ASP.NET JIT (Just In Time) interpretowana jest strona zbudowana w PHP.

Technicznie rzecz biorąc, ASP.NET nie jest tak naprawdę językiem, jest strukturą i środowiskiem uruchomieniowym, które udostępnia interfejsy API, do których można uzyskać dostęp za pomocą C # lub VB.NET. Dlatego, aby tworzyć aplikacje ASP.NET, musisz znać C # lub VB.NET.

Z mojego doświadczenia doradzę, abyś poświęcił trochę czasu i nauczył się JavaScript, a następnie przystąpił do nauki jQuery. Oczywiście możesz również wykonywać cross learning, tj. Zarówno jQuery, jak i podstawowy JavaScript.

AJAX to technologia programowania asynchronicznego po stronie klienta, która może być używana zarówno w jQuery, jak i ASP.NET AJAX. ASP.NET AJAX to implementacja technologii AJAX przez Microsoft.


-5

Języki po stronie klienta służą do zmniejszenia obciążenia serwera żądaniami.

JavaScript jest językiem skryptowym po stronie klienta, a Jquery jest strukturą javascript i jest opcjonalna. Js, jquery działa w twoim systemie i wykonuje zadania takie jak sprawdzanie hasła, animacje na stronie internetowej itp., Nie uzyskują one dostępu do bazy danych.

Bazą danych będzie MYSQL, ORACLE i istnieje w hoście; ASP, PHP to języki skryptowe po stronie serwera. Możesz użyć ASP lub PHP, aby uzyskać dostęp do bazy danych, ale SQL jest również niezbędny do pracy na stronach internetowych.


1
ajax i jquery nie są językami
Raynos,

1
Sprawdzanie hasła również nie jest wykonywane na kliencie. To tylko wymyślne „twoje hasło tam jest niepoprawne”, ale wciąż może przejść.
Florian Margaine,

@Florian Margaine, możesz zweryfikować hasło i przesłać formularz, używając prawa javascript.
pandu

okropna, źle skonstruowana odpowiedź.
ozz

1
Muszę się zgodzić, kiedy natknąłem się na tę recenzję, zajęło mi to sporo wysiłku, aby spróbować przynajmniej poprawić czytelność. Ma już mniej niż -3 głosów, więc prawdopodobnie pozostanie niezauważony (nawet gorzej za błędy koncepcyjne należy do autora, aby to naprawić), ale przynajmniej mam nadzieję, że teraz jest bardziej czytelny i pokaże autorowi, jak mógł zająć się pisaniem odpowiedź.
Oeufcoque Penteano
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.