Nhầm lẫn về ASP.NET Ajax, jQuery và JavaScript [đã đóng]


15

Hôm qua, tôi đã đọc một vài chương về ASP.NET Ajax và jQuery từ cuốn sách ASP.NET 4 của tôi và tôi thấy những khung đó khá thú vị và quyết định tìm hiểu thêm về chúng.

Hôm nay, tôi đã mượn một số sách từ thư viện về Ajax và JavaScript. Có vẻ như ASP.NET Ajax khác với Ajax và jQuery có vẻ giống như JavaScript "mới".

Có nghĩa là tôi có thể bỏ qua JavaScript và học trực tiếp jQuery?

Mặt khác, cuốn sách không phảiASAS.NET Ajax mà tôi đã mượn dường như chỉ áp dụng cho lập trình web phía máy khách và trông khá khác so với những gì tôi học được từ ASP.NET Ajax. Nếu tôi là một nhà phát triển ASP.NET, tôi đoán tôi nên gắn bó với ASP.NET Ajax thay vì phía máy khách Ajax phải không? Còn PHP thì sao? Có một "PHP Ajax" tương tự như ASP.NET Ajax không?

Không phải là tôi lười học các công cụ khác, mà tôi chỉ muốn tập trung vào những công cụ phù hợp.


3
+1 buồn cười làm thế nào câu hỏi của bạn tóm tắt trong một số ý nghĩa của thế giới lập trình web.
gideon

Câu trả lời:


31

Đây là một chủ đề phức tạp nhưng đây là nỗ lực của tôi để chắt lọc tất cả những thứ này là gì và chúng liên quan như thế nào.

AJAX: Đây là một khái niệm liên quan đến việc kéo dữ liệu không đồng bộ vào ứng dụng web mà không cần tải lại toàn bộ trang. Nó cho phép các UI động như Google Mail hoạt động như các ứng dụng trên máy tính để bàn nhưng chạy trong trình duyệt.

ASP.NET AJAX: Đây là một thư viện được tác giả bởi Microsoft cố gắng làm cho khái niệm AJAX có thể truy cập được đối với các nhà phát triển có nền tảng ASP.NET. Nó cung cấp các phương thức tương tự như các phương thức .NET Framework như String.Format và các phương thức khác. Nó có một số trùng lặp với JQuery nhưng cả hai có thể được sử dụng hài hòa với nhau vì chúng có những điểm mạnh và điểm yếu khác nhau. Điều quan trọng cần nhớ là đây là thư viện phía máy khách và thực sự không có sự phụ thuộc vào ASP.NET. Bạn có thể sử dụng ASP.NET AJAX với bất kỳ công nghệ phía máy chủ nào.

jQuery: Đây là một thư viện JavaScript cung cấp khung để giúp các ứng dụng AJAX dễ viết. Nó cung cấp một mô hình lựa chọn mạnh mẽ bằng cách sử dụng cú pháp giống như CSS để tương tác với DOM trình duyệt. Nó cũng trừu tượng hóa nhiều sự khác biệt giữa các trình duyệt và phiên bản khác nhau. Vì vậy, bạn hầu như luôn luôn tốt hơn khi mã hóa đối với jQuery, trái ngược với các API DOM hoặc AJAX dành riêng cho trình duyệt. Có một hệ sinh thái phong phú của các plugin jQuery có sẵn, có thể thêm tất cả các loại hành vi mạnh mẽ vào các ứng dụng web của bạn mà không cần nhiều công việc từ phía bạn.

JavaScript: Đây là ngôn ngữ được diễn giải được thực hiện bởi tất cả các trình duyệt chính cho phép thực hiện hành vi động, phía máy khách trên các trang web. Bản thân ngôn ngữ này khá chắc chắn, nhưng các API khác nhau mà các trình duyệt khác nhau cung cấp khiến việc viết JavaScript "thô" trở nên phức tạp. Đó là lý do tại sao có tất cả các thư viện trên đầu trang của nó.

Bây giờ, như câu hỏi về những gì bạn nên học khi là một nhà phát triển ASP.NET. Tôi khuyên bạn nên làm quen với chức năng của cả ASP.NET AJAX và jQuery. Microsoft tán thành cả hai và cả hai đều được bao gồm trong VS 2010. Chúng có những điểm mạnh và điểm yếu khác nhau và nếu bạn hiểu những gì bạn sẽ có hiệu quả hơn khi sử dụng chúng.

Bạn không phải sử dụng AJAX để làm trang web ASP.NET, nhưng trang web của bạn sẽ mạnh mẽ hơn và thân thiện hơn với người dùng nếu bạn làm như vậy. Và nếu bạn phát triển ý thức khi AJAX có hiệu lực và khi không, bạn sẽ trở thành một nhà phát triển web tốt hơn.

Ồ, và tránh xa UpdatePanels. Đó là câu trả lời đầu tiên của MS cho AJAX, nhưng nhìn chung chúng rất tệ và đi ngược lại rất nhiều khái niệm làm cho AJAX trở nên tốt. Chúng mang lại cho bạn một lợi ích ngắn hạn nhưng về lâu dài chúng là một cơn ác mộng duy trì trong kinh nghiệm của tôi.


3
Điều duy nhất tôi muốn thêm là ASP.NET AJAX cũng ẩn một số chi tiết ở phía máy khách. Thư viện vẫn là tất cả phía máy khách, nhưng nó cung cấp các cách thuận tiện để liên kết phía máy khách và máy chủ mà không cần phải biết tất cả các chi tiết. Nếu bạn thực sự muốn hiểu rõ hơn về lập trình web, bạn có thể muốn bắt đầu sử dụng jQuery và gọi vào các phương thức ASP.NET của bạn để hiểu về cách tất cả hoạt động.
Bryan Rehbein

1
+1 Tóm tắt rất hay. JQuery phân biệt nhỏ cũng được bao gồm trong VS2008
Conrad Frix

@Conrad Frix rất đúng. Nhưng thực sự ai sử dụng mảnh rác cũ ngày nay? :-) (chỉ là một trò đùa đừng kích thích tôi)
RationalGeek

Tôi cũng chuẩn bị lấy súng phun lửa. Thật kỳ lạ, tôi sử dụng 2003 :(, 2005: |, và 2010 :) trong công việc hàng ngày của tôi, nhưng không có năm 2008
Conrad Frix

Đoạn JQuery của bạn ít nhất có thể đề cập đến Javascript! ngoài ra, mô tả tuyệt vời về các kỹ thuật viên đã hỏi về
ozz

5

Không, không có AJAX PHP.

Nếu bạn phải phát triển ứng dụng khách, hãy học javascript thuần đầu tiên. Sau đó học jQuery. Nếu bạn bắt đầu chỉ với jQuery, bạn sẽ bỏ lỡ các khái niệm javascript quan trọng và về cơ bản bạn sẽ thực hiện lập trình cắt & dán.

JavaScript và jQuery là các công cụ phổ biến và được tiêu chuẩn hóa có thể được sử dụng hầu như trong bất kỳ sự phát triển HTML nào. Lập trình viên PHP sử dụng js + jq khi làm việc của khách hàng, lập trình viên Ruby sử dụng js + jq, v.v.

Bây giờ, theo như tôi biết, ASP.NET AJAX thậm chí còn là một khung JavScript cấp cao hơn phù hợp để làm việc với ASP.NET, vì ASP.NET, như bạn có thể biết, bản thân nó là một sự trừu tượng hóa khá cao từ HTML. Đó là lý do tại sao họ có một thứ JS cụ thể. Về cơ bản, nó nên chơi tốt với các thành phần ASP.NET phía máy chủ và tăng cường chúng. Ngoài ra, ASP.NET AJAX bắt đầu trong thời gian nơi nó được không rõ ràng rằng jQuery sẽ defacto chuẩn. Hoặc, điều đó đã rõ ràng, nhưng không phải với Microsoft ;-) - họ thực sự đã lên kế hoạch tạo thư viện JS cấp trung bình của riêng họ (giống như jQuery).

Thành thật mà nói, tôi không phải là một người của Microsoft và tôi chắc chắn sẽ gắn bó với JavaScript + jQuery thuần túy càng lâu càng tốt - nếu chủ nhân / dự án của bạn không yêu cầu chính xác ASP.NET AJAX. Nó sẽ cung cấp cho bạn kiến ​​thức được công nhận phổ biến nhất về lập trình phía khách hàng.


4

Đây là thỏa thuận ngắn gọn

(1) JQuery không thay thế Javascript, Đây là một thư viện đơn giản hóa các tác vụ JavaScript phổ biến. Bất kỳ mã JQuery nào thực sự được viết bằng JavaScript.

(2) AJAX chỉ là mã JavaScript thao túng phía máy khách của trang web và thường kéo nội dung xuống từ máy chủ mà không buộc tải lại toàn bộ trang. Không có nhiều "Phiên bản" của AJAX.

(3) Ghi chú số 2 ở trên. Cả ASP.NET và JQuery đều có thư viện hoặc công cụ đơn giản hóa nhiệm vụ tạo các trang web điều khiển AJAX. Ngoài ra còn có một số công cụ khác cũng làm điều này. Tất cả đều là AJAX giống nhau, chỉ là những cách khác nhau để tạo ra nó hoặc các thư viện đóng gói nó.

(4) Bạn nên học thư viện nào? Đó chủ yếu là một điều ưu tiên. Nếu bạn thích sử dụng các điều khiển Web rất nhiều và phát triển web kéo thả với ASP.NET, bạn có thể chỉ thích sử dụng các điều khiển ASP.NET để làm điều tương tự. Tôi cũng là một nhà phát triển ASP.NET, nhưng tôi thích sử dụng JQuery hơn vì nó thường mang lại cho tôi quyền kiểm soát chi tiết tốt hơn, ngay cả khi đôi khi nó có thể làm việc nhiều hơn một chút . Ngoài ra, nếu bạn học theo cách JQuery, bạn có thể sử dụng nó trên bất kỳ nền tảng nào kể cả PHP.


3

Có nhiều cách để làm AJAX và nếu bạn đang làm ASP.NET, ASP.NET AJAX là một trong những cách đó. Trong những năm gần đây, cá nhân tôi đã tránh xa việc làm theo cách đó có lợi cho jQuery và việc triển khai AJAX.

Nếu tôi là một nhà phát triển ASP.NET, tôi đoán tôi nên gắn bó với ASP.NET AJAX thay vì phía khách hàng AJAX phải không?

ASP.NET AJAX vẫn là ajax phía máy khách. Hãy tìm các thư viện JavaScript (rất lớn) do ASP.NET AJAX tạo ra cho bạn (bạn sẽ thấy chúng khi chạy trong ScriptResource.axd hoặc WebResource.axd.

Điều đó có nghĩa là tôi có thể bỏ qua javascript và học trực tiếp JQUERY?

jQuery chỉ là một thư viện các hàm JavaScript. Bạn vẫn sẽ cần hiểu về JavaScript để sử dụng jQuery đúng cách. jQuery loại bỏ một số JavaScript phức tạp, theo ý kiến ​​của tôi, jQuery là một cách tốt để bắt đầu sử dụng và học JavaScript (mặc dù bạn ít nhất nên biết một số JavaScript trước khi bắt đầu sử dụng nó).

Có "PHP AJAX" tương tự ASP.NET AJAX không?

rất nhiều thư viện JavaScript để trừu tượng AJAX cho bạn. jQuery chỉ là một trong số đó, nhưng nó rất phổ biến và rất mạnh mẽ.


0

http://ajaxpotypes.org/PHP_Ajax_Frameworks liệt kê các khung PHP Ajax khác nhau mặc dù tôi không biết chúng được tích hợp tốt như thế nào như AJ.Net AJAX. Một phần của hầu hết các khung AJAX sẽ liên quan đến một số mã phía máy khách vì J của AJAX dành cho Javascript.

Có những triển khai khác để có được chức năng AJAX trước khi Microsoft đưa vào ASP.Net AJAX trong đó Anthem.Net là một ví dụ mà tôi đã sử dụng nhiều năm trước.


0

JavaScript là ngôn ngữ được giải thích phía máy khách cho phép bạn kiểm soát các thành phần trang trình duyệt; tức là tài liệu HTML và cũng là trình duyệt tự. jQuery là một thư viện các hàm JavaScript trình duyệt chéo giúp tương tác với DOM dễ dàng hơn.

ASP.NET và PHP đều là các ngôn ngữ kịch bản phía máy chủ, trong đó một trang được xây dựng ASP.NET được biên dịch thành một tập hợp .NET DLL, bởi Trình biên dịch ASP.NET JIT (Just In Time), một trang được xây dựng bằng PHP được diễn giải.

Về mặt kỹ thuật, ASP.NET không thực sự là một ngôn ngữ, nó là một khung và thời gian chạy, để lộ các API có thể được truy cập bằng C # hoặc VB.NET. Do đó, để phát triển ứng dụng ASP.NET, bạn cần biết C # hoặc VB.NET.

Từ kinh nghiệm của tôi, tôi sẽ khuyên bạn nên dành thời gian và học JavaScript, sau đó tiến hành học jQuery. Dĩ nhiên bạn cũng có thể học chéo, tức là cả jQuery và JavaScript lõi.

AJAX là một công nghệ lập trình không đồng bộ phía máy khách, có thể được sử dụng trong cả jQuery và ASP.NET AJAX. ASP.NET AJAX là triển khai công nghệ AJAX của Microsoft.


-5

Ngôn ngữ phía máy khách được sử dụng để giảm tải yêu cầu của máy chủ.

Javascript là ngôn ngữ kịch bản phía máy khách và Jquery là một khung javascript và là tùy chọn. Js, jquery hoạt động trong chính hệ thống của bạn và thực hiện các tác vụ như xác thực mật khẩu, hoạt hình trong trang web, v.v., họ không truy cập cơ sở dữ liệu.

Cơ sở dữ liệu sẽ là MYSQL, ORACLE và tồn tại trong máy chủ web; ASP, PHP là các ngôn ngữ kịch bản phía máy chủ. Bạn có thể sử dụng ASP hoặc PHP để truy cập cơ sở dữ liệu nhưng SQL cũng cần thiết để hoạt động trên các trang web.


1
ajax và jquery không phải là ngôn ngữ
Raynos

1
Xác thực mật khẩu cũng không được thực hiện trên máy khách. Nó chỉ là một "mật khẩu của bạn sai ở đó", nhưng nó vẫn có thể vượt qua.
Florian Margaine

@Florian Margaine, Bạn có thể xác thực mật khẩu và gửi biểu mẫu bằng cách sử dụng javascript ngay.
pandu

khủng khiếp, trả lời xây dựng tồi.
ozz

1
Tôi phải đồng ý, khi tôi vấp phải điều này vì đã xem xét, tôi đã phải nỗ lực đáng kể để cố gắng ít nhất là cải thiện mức độ dễ đọc. Nó đã có dưới 3 phiếu bầu nên có thể sẽ không được chú ý (thậm chí tệ hơn vì có lỗi về mặt khái niệm tùy thuộc vào tác giả), nhưng ít nhất tôi hy vọng bây giờ nó dễ đọc hơn và cho tác giả thấy anh ta có thể viết như thế nào câu trả lời.
Oeufcoque Penteano
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.