สับสนเกี่ยวกับ ASP.NET Ajax, jQuery และ JavaScript [ปิด]


15

เมื่อวานนี้ฉันอ่านสองบทใน ASP.NET Ajax และ jQuery จากหนังสือ ASP.NET 4 ของฉันและฉันพบว่ากรอบงานเหล่านั้นน่าสนใจและตัดสินใจเรียนรู้เพิ่มเติมเกี่ยวกับพวกเขา

วันนี้ฉันยืมหนังสือบางเล่มจากห้องสมุดทาง Ajax และ JavaScript ดูเหมือน ASP.NET Ajax จะแตกต่างจาก Ajax และ jQuery ดูเหมือนว่า "ใหม่" JavaScript

หมายความว่าฉันสามารถข้าม JavaScript และเรียนรู้ jQuery โดยตรงหรือไม่

ในทางตรงกันข้ามหนังสือ Ajax ที่ไม่ใช่ ASAS.NET ฉันยืมมาดูเหมือนว่าจะนำไปใช้กับการเขียนโปรแกรมเว็บฝั่งไคลเอ็นต์เท่านั้นและดูแตกต่างจากสิ่งที่ฉันเรียนรู้จาก ASP.NET Ajax ถ้าฉันเป็นนักพัฒนา ASP.NET ฉันคิดว่าฉันควรติดกับ ASP.NET Ajax แทน Ajax ฝั่งไคลเอ็นต์ใช่มั้ย แล้ว PHP ล่ะ มี "PHP Ajax" ที่คล้ายกับ ASP.NET Ajax หรือไม่?

ไม่ใช่ว่าฉันขี้เกียจที่จะเรียนรู้เครื่องมืออื่น ๆ แต่ฉันแค่ต้องการมุ่งเน้นไปที่สิ่งที่ถูกต้อง


3
+1 ตลกว่าคำถามของคุณจะสรุปในส่วนใดส่วนหนึ่งของโลกการเขียนโปรแกรมเว็บ
gideon

คำตอบ:


31

นี่เป็นเรื่องที่ซับซ้อน แต่นี่คือความพยายามของฉันที่จะกลั่นสิ่งเหล่านี้ทั้งหมดและความสัมพันธ์

AJAX:นี่เป็นแนวคิดที่เกี่ยวข้องกับการดึงข้อมูลแบบอะซิงโครนัสในเว็บแอปพลิเคชันโดยไม่ต้องโหลดซ้ำหน้าทั้งหมด อนุญาตให้ใช้ UIs แบบไดนามิกเช่น Google Mail ที่ทำหน้าที่เหมือนแอปพลิเคชันเดสก์ท็อป แต่ทำงานในเบราว์เซอร์

ASP.NET AJAX:นี่คือไลบรารี่ที่สร้างโดย Microsoft ซึ่งพยายามที่จะทำให้นักพัฒนาที่มีพื้นหลัง ASP.NET สามารถเข้าถึงแนวคิด AJAX ได้ มันมีวิธีการที่คล้ายกับวิธีการ. NET Framework เช่น String.Format และอื่น ๆ มันมีการทับซ้อนกับ JQuery แต่พวกมันสามารถใช้ร่วมกันได้อย่างกลมกลืนเนื่องจากมีจุดแข็งและจุดอ่อนต่างกัน เป็นสิ่งสำคัญที่ต้องจำไว้ว่านี่เป็นไลบรารีฝั่งไคลเอ็นต์และไม่มีการพึ่งพา ASP.NET คุณสามารถใช้ ASP.NET AJAX กับเทคโนโลยีด้านเซิร์ฟเวอร์ใด ๆ

jQuery:นี่คือไลบรารี JavaScript ที่จัดเตรียมเฟรมเวิร์กเพื่อให้แอปพลิเคชัน AJAX ง่ายต่อการเขียน มันมีรูปแบบการเลือกที่มีประสิทธิภาพโดยใช้ไวยากรณ์เหมือน CSS สำหรับการโต้ตอบกับ DOM เบราว์เซอร์ นอกจากนี้ยังสรุปความแตกต่างระหว่างเบราว์เซอร์และรุ่นต่าง ๆ มากมาย ดังนั้นคุณมักจะดีกว่าการเข้ารหัส jQuery เมื่อเทียบกับ DOM หรือ AJAX API เฉพาะเบราว์เซอร์ มีระบบนิเวศวิทยาที่หลากหลายของปลั๊กอิน 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 ของคุณเพื่อทำความเข้าใจว่ามันทำงานอย่างไร
Bryan Rehbein

1
+1 สรุปดีมาก jQuery เล่นลิ้นเล็กน้อยรวมอยู่ใน VS2008 เช่นกัน
Conrad Frix

@Conrad Frix จริงมาก แต่ทุกวันนี้ใครที่ใช้ขยะเก่า ๆ ชิ้นนี้ :-) (แค่เรื่องตลกไม่ได้ทำให้ฉัน)
RationalGeek

ฉันกำลังจะเอาเครื่องพ่นไฟออกมาด้วย ผิดปกติพอฉันใช้ 2003 :(, 2005: |, และ 2010 :) ในการทำงานแบบวันต่อวัน แต่ไม่มีปี 2008
Conrad Frix

ย่อหน้า JQuery ของคุณอาจพูดถึง Javascript อย่างน้อย! นอกเหนือจากนั้นคำอธิบายที่ยอดเยี่ยมของเทคโนโลยีที่ถามเกี่ยวกับ
ozz

5

ไม่ไม่มี PHP AJAX

หากคุณต้องพัฒนาลูกค้าให้เรียนรู้จาวาสคริปต์ที่บริสุทธิ์ก่อน จากนั้นเรียนรู้ jQuery หากคุณเริ่มต้นด้วย jQuery คุณจะพลาดแนวคิดจาวาสคริปต์ที่สำคัญและคุณจะทำการเขียนโปรแกรมแบบตัดและวาง

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 จะ defacto มาตรฐาน หรือชัดเจน แต่ไม่ใช่กับ Microsoft ;-) - พวกเขาวางแผนที่จะสร้างไลบรารี JS ระดับกลางของตนเอง (เช่น jQuery)

จริงๆแล้วฉันไม่ใช่คน Microsoft และแน่นอนฉันจะใช้ JavaScript + jQuery อย่างแท้จริงตราบใดที่ฉันสามารถทำได้ - หากนายจ้าง / โครงการของคุณไม่ต้องการ ASP.NET AJAX จริงๆ มันจะให้ความรู้ที่เป็นที่รู้จักมากที่สุดในระดับสากลเกี่ยวกับการเขียนโปรแกรมฝั่งไคลเอ็นต์


4

นี่คือข้อตกลงโดยสังเขป

(1) JQuery ไม่ได้แทนที่จาวาสคริปต์มันเป็นห้องสมุดที่ทำให้งาน JavaScript ทั่วไปง่ายขึ้น รหัส JQuery ใด ๆ จะถูกเขียนด้วย JavaScript

(2) AJAX เป็นเพียงรหัส JavaScript ที่จัดการหน้าเว็บฝั่งไคลเอ็นต์และมักจะดึงเนื้อหาจากเซิร์ฟเวอร์โดยไม่บังคับให้โหลดหน้าเว็บทั้งหน้า AJAX ไม่มี "รุ่น" หลายรายการ

(3) Notwithsdanding # 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 ยังเป็น ajax ฝั่งไคลเอ็นต์ ค้นหาไลบรารี JavaScript (มหาศาล) ที่สร้างขึ้นโดย ASP.NET AJAX (คุณจะเห็นไลบรารีเหล่านี้ในขณะที่ทำงานใน ScriptResource.axd หรือ WebResource.axd

นั่นหมายความว่าฉันสามารถข้ามจาวาสคริปต์และเรียนรู้ 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 of AJAX ใช้สำหรับ Javascript

มีการนำไปใช้งานอื่น ๆ เพื่อรับฟังก์ชั่น AJAX ก่อนที่ Microsoft จะใส่ใน ASP.Net AJAX โดยที่Anthem.Netเป็นตัวอย่างหนึ่งที่ฉันใช้เมื่อหลายปีก่อน


0

JavaScript เป็นภาษาตีความฝั่งไคลเอ็นต์ที่ให้คุณควบคุมองค์ประกอบของหน้าเบราว์เซอร์ เช่นเอกสาร HTML และเบราว์เซอร์ด้วยตนเอง jQuery เป็นไลบรารีของฟังก์ชัน JavaScript ข้ามเบราว์เซอร์ที่ทำให้การโต้ตอบกับ DOM ง่ายขึ้น

ASP.NET และ PHP เป็นทั้งภาษาสคริปต์ฝั่งเซิร์ฟเวอร์โดยที่หน้าเพจ ASP.NET ได้รับการคอมไพล์ลงใน. NET Assembly DLL โดยคอมไพเลอร์ ASP.NET JIT (ทันเวลาพอดี) เพจที่สร้างขึ้นใน PHP จะถูกตีความ

ในทางเทคนิค ASP.NET ไม่ได้เป็นภาษาจริงๆมันเป็นกรอบงานและเวลาทำงานซึ่งจะเปิดเผย API ที่สามารถเข้าถึงได้โดยใช้ C # หรือ VB.NET ดังนั้นในการพัฒนาแอพ ASP.NET คุณต้องรู้ทั้ง C # หรือ VB.NET

จากประสบการณ์ของฉันฉันจะแนะนำให้คุณสละเวลาและเรียนรู้ JavaScript จากนั้นดำเนินการเรียนรู้ jQuery นอกหลักสูตรคุณยังสามารถเรียนรู้ข้ามเช่น jQuery และ core JavaScript

AJAX เป็นเทคโนโลยีการเขียนโปรแกรมแบบอะซิงโครนัสฝั่งไคลเอ็นต์ซึ่งสามารถใช้ได้ทั้ง jQuery และ ASP.NET AJAX ASP.NET AJAX เป็นการใช้งานเทคโนโลยี AJAX ของ Microsoft


-5

ภาษาฝั่งไคลเอ็นต์ใช้เพื่อลดการร้องขอเซิร์ฟเวอร์

Javascript เป็นภาษาสคริปต์ฝั่งไคลเอ็นต์และ Jquery เป็นกรอบของ javascript และเป็นทางเลือก Js, jquery ทำงานในระบบของคุณเองและทำงานต่าง ๆ เช่นการตรวจสอบรหัสผ่านภาพเคลื่อนไหวในเว็บเพจ ฯลฯ พวกเขาไม่สามารถเข้าถึงฐานข้อมูลได้

ฐานข้อมูลจะเป็น MySQL, ORACLE และมีอยู่ในเว็บโฮสต์ ASP, PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ คุณสามารถใช้ ASP หรือ PHP เพื่อเข้าถึงฐานข้อมูล แต่จำเป็นต้องใช้ SQL เพื่อทำงานบนเว็บไซต์



1
การตรวจสอบรหัสผ่านไม่ได้กระทำกับลูกค้าเช่นกัน มันเป็นแค่ความแปลก "รหัสผ่านของคุณผิดปกติ" แต่ก็ยังสามารถผ่านได้
Florian Margaine

@Florian Margaine คุณสามารถตรวจสอบรหัสผ่านและส่งแบบฟอร์มโดยใช้จาวาสคริปต์ที่ถูกต้อง
pandu

คำตอบที่แย่มาก
ozz

1
ฉันต้องเห็นด้วยเมื่อฉันสะดุดสิ่งนี้เพื่อตรวจสอบฉันใช้ความพยายามอย่างมากในการพยายามปรับปรุงความชัดเจนให้ชัดเจน มันมีคะแนนต่ำกว่า -3 แล้วดังนั้นอาจจะไม่มีใครสังเกตเห็น (ยิ่งแย่ไปกว่าการมีข้อผิดพลาดทางแนวคิดขึ้นอยู่กับผู้แต่งที่จะแก้ไข) แต่อย่างน้อยฉันหวังว่ามันจะอ่านได้มากขึ้นในขณะนี้และแสดงให้ผู้เขียนเห็นว่า ตอบ.
Oeufcoque Penteano
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.