ดังที่เราทุกคนทราบกันดีว่า ASP ถูกกำจัดโดย Microsoft และต่อมาถูกละทิ้งโดยนักพัฒนาจำนวนมาก อย่างไรก็ตาม ฉันยังคงคิดว่า ASP คุ้มค่าแก่การใช้งานอย่างต่อเนื่องของเรา ทั้งในฐานะเทคโนโลยีระดับเริ่มต้นและเป็นแพลตฟอร์มการพัฒนา เมื่อค้นหาใน Google คุณจะพบความคิดเห็นที่ไม่ดีมากมายเกี่ยวกับ ASP เช่น ความเร็วในการทำงานช้า กลไกการจัดการข้อยกเว้นที่ไม่ดี การขาดกลไกเชิงวัตถุ ประสิทธิภาพการพัฒนาต่ำ ช่องโหว่มากมาย เป็นต้น เพื่อให้ทุกคนมีความเข้าใจที่ถูกต้องเกี่ยวกับ ASP ฉันจะชี้แจงชื่อของมันก่อน
ไม่กี่ปีที่ผ่านมา ฉันใช้โปรแกรม Dongwang Forum เพื่อสร้าง BBS โปรแกรมนี้เป็นสถาปัตยกรรม ASP+Access แบบคลาสสิกในขณะนั้น ฉันยังพบปัญหาที่บางคนบอกว่าฟอรัมช้าและบางครั้งก็ค้าง อย่างไรก็ตาม ปัญหาได้รับการแก้ไขแล้วตั้งแต่ฉันเปลี่ยนมาใช้ฐานข้อมูล SQL Server ดังนั้นผู้ร้ายคือการเข้าถึง เวลาที่ต้องใช้ในการดำเนินการโปรแกรมอยู่ที่ระดับมิลลิวินาที ภายในระดับนี้ ไม่ว่าจะเป็น 10 มิลลิวินาทีหรือ 100 มิลลิวินาที จะไม่สามารถสังเกตเห็นได้ชัดเจนจริงๆ อย่างไรก็ตาม Access มีการทำงานพร้อมกันที่ไม่ดี ทำให้ส่วนหนึ่งของการทำงานของโปรแกรมหยุดชะงัก ทำให้เพจค้าง .
ในอดีต หลายๆ คนรวมทั้งฉันด้วย ใช้ VBScript เพื่อเขียนโปรแกรม ASP กลไกการจัดการข้อยกเว้นของ VBScript นั้นแย่มาก อย่างไรก็ตาม JScript นั้นดีมากเพราะรองรับคำ สั่ง try...catch ที่รวมอยู่ใน C# และ Java ซึ่งเพียงพอที่จะจัดการกับข้อยกเว้นทั้งหมด
นับตั้งแต่การเพิ่มขึ้นของ Javascript เนื่องจาก Ajax กลไกเชิงวัตถุก็ได้รับการจำลอง แม้ว่าจะไม่ใช่เชิงวัตถุอย่างแท้จริง แต่เนื่องจากเป็นโปรแกรมเว็บขนาดเล็กและขนาดกลาง แค่นี้ก็เพียงพอแล้ว JScript ซึ่งใช้ ECMAScript เป็นแกนหลักก็มีกลไกเดียวกันเช่นกัน นอกจากนี้ ความยืดหยุ่นทางภาษาของ ECMAScript นั้นแข็งแกร่งที่สุดอย่างไม่ต้องสงสัย และนักพัฒนาส่วนหน้าก็รู้เรื่องนี้ดีที่สุด
ฉันมักจะได้ยินคนพูดว่าช่องโหว่ SQLjection ของ ASP นั้นร้ายแรงมาก จริงๆ แล้วช่องโหว่ดังกล่าวมีอยู่ในทุกภาษาหรือไม่ ปัญหานี้สามารถแก้ไขได้อย่างง่ายดายและมีประสิทธิภาพใน ASP ผ่าน การสืบค้นแบบกำหนดพารามิเตอร์ ไม่จำเป็นต้องเปลี่ยนสตริงหรือตรวจสอบความถูกต้องของข้อมูล
ให้ฉันพูดถึงประโยชน์ของการเรียนรู้ ASP (JScript):
Javascript ส่วนหน้าและส่วนหลังจะขึ้นอยู่กับแกน ECMAScript ดังนั้น หาก Javascript ส่วนหลังเขียนได้ดี ระดับของ Javascript ส่วนหน้าก็สามารถปรับปรุงได้เช่นกัน
เทคโนโลยีเช่น ASP.NET และ PHP ปิดกั้นเลเยอร์พื้นฐานของเว็บจำนวนมาก ซึ่งเป็นอันตรายต่อความสามารถของผู้เริ่มต้นในการทำความเข้าใจหลักการของโปรแกรมเว็บ ในทางกลับกัน ASP นั้นเขียนจากพื้นฐานอย่างแน่นอน ตัวอย่างเช่น โปรแกรมที่อัปโหลดไฟล์จะต้องวิเคราะห์แพ็กเก็ตข้อมูลเพื่อรับข้อมูลไฟล์
หลายคนบอกว่า ASP.NET มีประสิทธิภาพในการพัฒนาสูง แต่ฉันไม่เห็นด้วย หากข้อกำหนดด้านการทำงานของแอปพลิเคชันไม่ซับซ้อน การพัฒนาด้วย ASP จะเร็วขึ้นอย่างแน่นอน เนื่องจาก ASP ถูกแยกวิเคราะห์และดำเนินการ จึงไม่จำเป็นต้องคอมไพล์ แก้ไขและแก้ไขข้อบกพร่องได้ง่ายกว่ามาก Windows ยังมีสภาพแวดล้อมการทำงานที่ดี (IIS) สำหรับ ASP โดยไม่มีการกำหนดค่าเพิ่มเติม นอกจากนี้ เมื่อส่วนหน้าและส่วนหลังใช้ภาษาเดียวกัน โค้ดจำนวนมากก็สามารถนำมาใช้ซ้ำได้ ซึ่งไม่มีแพลตฟอร์มเทคโนโลยีอื่นใดเทียบได้
ในช่วงไม่กี่ปีที่ผ่านมา Javascript ฝั่งเซิร์ฟเวอร์ (SSJS) อื่นๆ ได้ปรากฏขึ้น เช่น Jaxer และ JScript.NET Mozilla ก็มีโครงการ SSJS เช่นกัน รอคอยที่จะพัฒนา ECMAScript มากขึ้นในการพัฒนาแบ็กเอนด์
อาหารเสริมของ Ali Xixi (ผู้เชี่ยวชาญด้านเทคนิค)
คนที่บอกว่า ASP ใช้พลังงานต่ำอาจเป็นมือใหม่หรือคนที่ไม่สามารถเรียนรู้ ASP ได้ด้วยซ้ำ เทคโนโลยีไม่ได้มีไว้เพื่ออวดอ้าง แต่มีไว้สำหรับสร้างมูลค่าที่แท้จริง ซอร์สโค้ดทั่วไปจำนวนมากสำหรับการอ้างอิง เป็นเรื่องง่ายที่จะแปลงเป็นประสิทธิภาพการทำงาน อาจกล่าวได้ว่าในบรรดาเทคโนโลยีหน้าเว็บแบบไดนามิก ASP เป็นหนึ่งในเทคโนโลยีที่กว้างขวางและเป็นผู้ใหญ่ที่สุด แน่นอนว่า ASP มีข้อบกพร่องมากมาย และจำเป็นต้องมีเทคโนโลยีอื่นเพื่อแก้ไข
หลายๆ คนเข้าใจผิดว่า ASP มีความหมายเหมือนกันกับความเรียบง่ายและไร้ประสิทธิภาพ พวกเขาคิดว่า ASP นั้นใช้พลังงานต่ำ ล้าสมัย และไม่สำคัญอีกด้วย
บางคนบอกว่า ASP ไม่ปลอดภัย เมื่อเขียนโปรแกรม ASP หากคุณปฏิบัติตามข้อกำหนดในการเขียนโค้ดที่ปลอดภัยอย่างเคร่งครัด ก็ไม่มีเหตุผลใดที่โปรแกรมที่คุณเขียนจะไม่ปลอดภัย คนเหล่านั้นบอกว่า ASP ไม่ปลอดภัย เหมือนกับว่า SQL Injection ไม่เกิดขึ้นในโปรแกรม PHP และ JSP
บางคนบอกว่า ASP ไม่มีประสิทธิภาพ หากคุณต้องการประสิทธิภาพจริงๆ คุณสามารถรวมเข้ากับ COM ได้ ภายใต้แพลตฟอร์ม Win32 ประสิทธิภาพของ COM ไม่สามารถเทียบเคียงกับ Java ได้ แค่พูดถึงความเร็วจะมีประโยชน์อะไร? ความเร็วของ Java นั้นไม่สูงนัก ในแง่ของความเร็ว โซลูชั่นทางเทคนิคหลายอย่างนั้นเร็วกว่า Java คนที่เรียนรู้เรื่องนี้ดีที่สุด แต่ใครจะสนใจเรื่องนี้ Java ไม่ชนะแน่นอนเพราะความเร็วของมัน ไม่มีเหตุผลที่จะพูดถึงความเร็วโดยไม่คำนึงถึงสภาพแวดล้อมของแอปพลิเคชันเฉพาะ
บางคนบอกว่า ASP ไม่สามารถทำสิ่งนี้หรือสิ่งนั้นได้ และฟังก์ชันของมันก็ถูกจำกัดมาก ที่จริงแล้ว ตราบใดที่คุณเข้าใจหลักการของเว็บ คุณจะเข้าใจว่าการเขียนโปรแกรม ASP ก็เหมือนกับการเล่นภาษาสคริปต์บนพื้นผิว แต่สิ่งที่คุณกำลังสั่งการคือเว็บเซิร์ฟเวอร์ มีฟังก์ชันที่ซับซ้อนมากมายที่ ASP สามารถทำได้ ยังสมบูรณ์ได้ดีมาก บางฟังก์ชัน ถ้า ASP ไม่สามารถทำได้เนื่องจากข้อจำกัดโดยธรรมชาติของเว็บแอปพลิเคชัน อย่าคิดว่า JSP และ PHP จะสามารถทำได้