ASP.NET Ajax, jQuery 및 JavaScript에 대한 혼란


15

어제 ASP.NET 4 서적에서 ASP.NET Ajax 및 jQuery에 대한 두 장을 읽었으며 이러한 프레임 워크가 상당히 흥미로워 서 이에 대해 자세히 배우기로 결정했습니다.

오늘 저는 도서관에서 Ajax와 JavaScript에 관한 책을 빌 렸습니다. ASP.NET Ajax는 Ajax와 다르고 jQuery는 "새로운"JavaScript처럼 보입니다.

JavaScript를 건너 뛰고 jQuery를 직접 배울 수 있다는 의미입니까?

반면에 빌린 비 ASP.NET Ajax 서적은 클라이언트 측 웹 프로그래밍에만 적용되는 것으로 보이며 ASP.NET Ajax에서 배운 것과는 상당히 다릅니다. ASP.NET 개발자라면 클라이언트 측 Ajax 대신 ASP.NET Ajax를 사용해야한다고 생각합니까? PHP는 어떻습니까? ASP.NET Ajax와 유사한 "PHP Ajax"가 있습니까?

다른 도구를 배우는 것이 게으른 것이 아니라 올바른 도구에 집중하고 싶습니다.


3
웹 프로그래밍 세계에서 어떤 의미로 질문이 어떻게 요약되는지 +1 웃깁니다.
기드온

답변:


31

이것은 복잡한 주제이지만 여기에이 모든 것들이 무엇이며 어떻게 연관되어 있는지를 증류하려는 시도가 있습니다.

AJAX : 전체 페이지를 다시로드하지 않고 데이터를 비동기 적으로 웹 응용 프로그램으로 가져 오는 개념 입니다. 데스크톱 애플리케이션처럼 작동하지만 브라우저에서 실행되는 Google Mail과 같은 동적 UI를 허용합니다.

ASP.NET AJAX : ASP.NET에 대한 지식이있는 개발자가 AJAX 개념에 액세스 할 수 있도록하려는 Microsoft에서 만든 라이브러리입니다. String.Format 등과 같은 .NET Framework 메서드와 유사한 메서드를 제공합니다. JQuery와 겹치는 부분이 있지만 서로 다른 장단점이 있으므로 함께 조화롭게 사용할 수 있습니다. 이 라이브러리는 클라이언트 쪽 라이브러리이며 실제로 ASP.NET에 종속되지는 않습니다. 모든 서버 측 기술과 함께 ASP.NET AJAX를 사용할 수 있습니다.

jQuery : AJAX 애플리케이션을 쉽게 작성할 수있는 프레임 워크를 제공하는 JavaScript 라이브러리입니다. 브라우저 DOM과 상호 작용하기 위해 CSS와 유사한 구문을 사용하여 강력한 선택 모델을 제공합니다. 또한 서로 다른 브라우저와 버전 간의 많은 차이점을 추상화합니다. 따라서 브라우저 별 DOM 또는 AJAX API와 달리 jQuery에 대한 코딩은 거의 항상 더 좋습니다. 풍부한 jQuery 플러그인 환경이 제공되므로 웹 애플리케이션에 많은 작업을 수행하지 않고도 모든 종류의 강력한 동작을 웹 애플리케이션에 추가 할 수 있습니다.

JavaScript : 이것은 모든 주요 브라우저에서 구현 된 해석 언어로서 웹 사이트에서 클라이언트 측 동작을 동적으로 수행 할 수 있습니다. 언어 자체는 상당히 견고하지만 다른 브라우저가 제공하는 다른 API는 "원시"JavaScript를 효과적으로 작성하기가 복잡합니다. 그렇기 때문에 그 위에 모든 라이브러리가 있습니다.

이제 ASP.NET 개발자로서 무엇을 배워야하는지에 대한 질문입니다. ASP.NET AJAX와 jQuery의 기능에 익숙해지는 것이 좋습니다. Microsoft는 둘 다 보증하며 둘 다 VS 2010에 포함되어 있습니다. 서로 다른 장단점이 있으며 그 점을 이해하면 더 효과적으로 사용할 수 있습니다.

ASP.NET 웹 사이트를 수행하기 위해 AJAX를 사용할 필요는 없지만 웹 사이트는 더 강력하고 사용자 친화적입니다. AJAX가 효과적 일 때와 그렇지 않을 때에 대한 감각을 키우면 더 나은 웹 개발자가 될 것입니다.

아, 그리고 UpdatePanels를 멀리하십시오. 그것은 AJAX에 대한 MS의 첫 번째 대답이지만 일반적으로 좋지 않으며 AJAX를 좋게 만드는 많은 개념에 반대합니다. 그들은 당신에게 단기적인 혜택을 제공하지만 장기적으로 그들은 내 경험에서 유지 보수가 가능한 악몽입니다.


3
내가 추가 할 유일한 것은 ASP.NET AJAX가 클라이언트 측의 일부 세부 정보도 숨기고 있다는 것입니다. 라이브러리는 여전히 모든 클라이언트 측이지만 모든 세부 사항을 몰라도 클라이언트와 서버 측을 연결하는 편리한 방법을 제공합니다. 웹 프로그래밍에 대해 더 잘 이해하고 싶다면 jQuery를 사용하고 ASP.NET 메소드를 호출하여 모든 작동 방식을 이해하는 것이 좋습니다.
Bryan Rehbein

1
+1 아주 좋은 요약. 사소한 퀴즈 jQuery도 VS2008에 포함되었습니다
Conrad Frix

@Conrad Frix는 매우 사실입니다. 근데 요즘 누가이 오래된 쓰레기를 쓰나요? :-) (농담 만 화 나지 않습니다)
RationalGeek

난 그냥 내 화염 방사기를 얻으려고했다. 이상하게도 나는 일상 업무에서 2003 :(, 2005 : |, 2010 :)을 사용하지만 2008은 없습니다
Conrad Frix

JQuery 단락은 적어도 자바 스크립트를 언급 할 수 있습니다! 그 외에는 기술에 대한 훌륭한 설명이 필요했습니다
ozz

5

아니요, PHP AJAX는 없습니다.

클라이언트 개발을해야한다면 먼저 순수한 자바 스크립트를 배우십시오. 그런 다음 jQuery를 배우십시오. jQuery로 시작하면 중요한 자바 스크립트 개념을 놓치고 기본적으로 잘라 내기 및 붙여 넣기 프로그래밍을 수행하게됩니다.

자바 스크립트와 jQuery를은 모든 HTML 개발에 거의 사용할 수있는 보편적이고 표준화 된 도구를 제공합니다. PHP 프로그래머는 클라이언트 일을 할 때 js + jq를 사용하고, 루비 프로그래머는 js + jq 등을 사용합니다.

내가 아는 한 ASP.NET AJAX는 ASP.NET과 함께 작동하기에 적합한 상위 레벨 JavScript 프레임 워크입니다. 그래서 그들은 특정한 JS를 가지고 있습니다. 기본적으로 서버 측 ASP.NET 구성 요소와 잘 작동하고 향상시켜야합니다. 또한 ASP.NET AJAX는 jQuery가 사실상 표준이라는 것이 확실 하지 않은 시간에 시작되었습니다 . 또는 분명하지는 않았지만 Microsoft에게는 그렇지 않았습니다. ;-)-실제로 jQuery와 같은 자체 중간 수준 JS 라이브러리를 만들려고 계획했습니다.

솔직히, 나는 Microsoft 사람이 아니며 고용주 / 프로젝트에 ASP.NET AJAX가 정확히 필요하지 않은 경우 가능한 한 순수한 JavaScript + jQuery를 고수합니다. 클라이언트 측 프로그래밍에 대해 가장 널리 알려진 지식을 제공합니다.


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 개발자라면 클라이언트 측 AJAX 대신 ASP.NET AJAX를 사용해야한다고 생각합니까?

ASP.NET AJAX는 여전히 클라이언트 측 아약스입니다. ASP.NET AJAX에서 생성 한 (거대한) JavaScript 라이브러리를 찾으십시오 (ScriptResource.axd 또는 WebResource.axd에서 실행하는 동안 볼 수 있습니다).

자바 스크립트를 건너 뛰고 jQUERY를 직접 배울 수 있다는 의미입니까?

jQuery는 JavaScript 함수 라이브러리입니다. jQuery를 올바르게 사용하려면 여전히 JavaScript에 대한 이해가 필요합니다. jQuery를이 그래서 jQuery를 내 의견 (당신이 더 적어도 알고있는 것하지만 사용하고 자바 스크립트를 배우기 시작하는 좋은 방법으로, 일부 까다로운 자바 스크립트를 추상화 않는 일부 당신이 그것을 사용하기 전에 자바 스크립트).

ASP.NET AJAX와 유사한 "PHP AJAX"가 있습니까?

AJAX를 추상화하기 위한 많은 JavaScript 라이브러리가 있습니다. jQuery는 그중 하나 일 뿐이지 만 매우 인기가 있고 매우 강력합니다.


0

http://ajaxpatterns.org/PHP_Ajax_Frameworks 는 다양한 PHP Ajax 프레임 워크를 나열하지만 ASP.Net AJAX와 얼마나 잘 통합되어 있는지 잘 모르겠습니다. AJAX의 J가 Javascript 용이므로 대부분의 AJAX 프레임 워크의 일부에는 클라이언트 측 코드가 포함됩니다.

Microsoft가 ASP.Net에 넣기 전에 AJAX 기능을 사용하기위한 다른 구현이있었습니다. Anthem.Net 은 제가 몇 년 전에 사용한 예입니다.


0

JavaScript는 클라이언트 쪽 해석 언어로 브라우저 페이지 구성 요소를 제어 할 수 있습니다. 즉, HTML 문서와 브라우저 자체입니다. jQuery는 DOM과보다 쉽게 ​​상호 작용할 수있는 크로스 브라우저 JavaScript 함수 라이브러리입니다.

ASP.NET 및 PHP는 모두 서버 측 스크립팅 언어이며 ASP.NET 빌드 페이지가 .NET 어셈블리 DLL로 컴파일되면 ASP.NET JIT (Just In Time) 컴파일러에서 PHP로 작성된 페이지가 해석됩니다.

기술적으로 ASP.NET은 실제로 언어가 아니며 C # 또는 VB.NET을 사용하여 액세스 할 수있는 API를 노출하는 프레임 워크 및 런타임입니다. 따라서 ASP.NET 앱을 개발하려면 C # 또는 VB.NET을 알아야합니다.

내 경험을 바탕으로 시간을내어 JavaScript를 배우고 jQuery를 배우도록 조언합니다. 물론 jQuery와 핵심 JavaScript와 같은 교차 학습을 수행 할 수도 있습니다.

AJAX는 클라이언트 측 비동기 프로그래밍 기술로 jQuery와 ASP.NET AJAX에서 모두 사용할 수 있습니다. ASP.NET AJAX는 Microsoft의 AJAX 기술 구현입니다.


-5

클라이언트 측 언어는 요청의 서버로드를 줄이는 데 사용됩니다.

자바 스크립트는 클라이언트 스크립트 언어이며 Jquery는 자바 스크립트의 프레임 워크이며 선택 사항입니다. js, jquery는 시스템 자체에서 작동하며 암호 유효성 검사, 웹 페이지의 애니메이션 등과 같은 작업을 수행하며 데이터베이스에 액세스하지 않습니다.

데이터베이스는 MYSQL, ORACLE이며 웹 호스트에 존재합니다. ASP, PHP는 서버 측 스크립팅 언어입니다. ASP 또는 PHP를 사용하여 데이터베이스에 액세스 할 수 있지만 웹 사이트에서 작업하려면 SQL도 필요합니다.


1
ajax와 jquery는 언어가 아니다
Raynos

1
클라이언트에서도 비밀번호 유효성 검사가 수행되지 않습니다. 그것은 단지 "비밀번호가 잘못되었습니다"라고 생각하지만 여전히 통과 할 수 있습니다.
Florian Margaine

@Florian Margaine, 자바 스크립트 권한을 사용하여 비밀번호를 확인하고 양식을 제출할 수 있습니다.
pandu

끔찍하고 잘못 구성된 대답.
ozz

1
나는 이것을 검토하기 위해 이것을 우연히 발견했을 때 적어도 가독성을 향상시키기 위해 상당한 노력을 기울 였다는 것에 동의해야한다. 이미 -3 표 미만이므로 눈에 띄지 않을 것입니다 (개념적 오류로 인해 더 나빠질 수는 저자에게 달려 있습니다). 그러나 적어도 지금은 더 읽기 쉽고 저자에게 그가 어떻게 글을 쓸 수 있었는지 보여주기를 바랍니다. 대답.
Oeufcoque Penteano
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.