ในอดีตการพัฒนาส่วนหน้า (เว็บหรือมือถือ) ส่วนใหญ่ใช้ JQuery + JS พื้นเมือง หากมีการใช้เฟรมเวิร์ก UI ส่วนหน้าบางส่วนมันอาจให้ API บางอย่างใช้ ยิ่งไปกว่านั้นเฟรมเวิร์ก UI จำนวนมากขึ้นอยู่กับ jQuery ดังนั้นช่วงจาก jQuery ถึง AngularJs จึงค่อนข้างใหญ่ ฉันได้ศึกษา AngularJs มาระยะหนึ่งแล้ว มาพูดคุยเกี่ยวกับประสบการณ์โดยรวม:
เกี่ยวกับการเปรียบเทียบกับ jQuery
ก่อนอื่น Angular เป็นกรอบ MVC ความแตกต่างระหว่างมันและ jQuery คืออดีตมุ่งมั่นที่จะแยกรหัส MVC และใช้โมเดลคอนโทรลเลอร์และมุมมองเพื่อจัดระเบียบรหัส หลังให้ฟังก์ชั่น API มากมายแก่คุณ คุณไม่จำเป็นต้องเขียน JS พื้นเมืองจำนวนมากเพื่อให้ได้เอฟเฟกต์ที่ซับซ้อนมากขึ้นเช่นภาพเคลื่อนไหว $. หากคุณต้องการเขียน JS ดั้งเดิมปริมาณรหัสจะค่อนข้างใหญ่
ประการที่สอง jQuery ไม่ได้กำหนดวิธีการจัดระเบียบรหัสของคุณ คุณสามารถวางไว้ในไฟล์ JS แยกต่างหากสำหรับการอ้างอิงหรือคุณสามารถเขียนโดยตรงในหน้าเพื่อห่อด้วยแท็กสคริปต์หรือแม้แต่เขียนโดยตรงในแท็ก HTML ในอินไลน์ อย่างไรก็ตาม AngularJS จะแบ่งหน้า HTML เป็นหลายโมดูลแต่ละโมดูลสามารถมีขอบเขตการบริการและคำสั่งของตัวเองและการสื่อสารสามารถดำเนินการระหว่างโมดูล แต่โครงสร้างโดยรวมค่อนข้างชัดเจนนั่นคือวิธีการจัดระเบียบรหัสเป็นโมดูลาร์
ในที่สุดความคิดของ JQuery คือการออกแบบหน้าก่อนจากนั้นดำเนินการ DOM ในหน้าเว็บที่มีอยู่และแสดงหน้า อย่างไรก็ตามมุมมองเชิงมุมอาจเป็นเพียงกรอบการทำงานและการดำเนินงาน DOM หรือการตรวจสอบเวลาของมุมมองจะถูกนำไปใช้ในคำสั่ง โดยทั่วไปมันไม่ค่อยเขียนด้วยตัวเองโดยตรงตราบใดที่คุณฟังโมเดล มุมมองจะเปลี่ยนไปหลังจากการเปลี่ยนแปลงแบบจำลอง
เกี่ยวกับโอกาสที่เกี่ยวข้อง
jQuery ควรเหมาะสำหรับการพัฒนาเว็บส่วนใหญ่และยังมี jQueryMobile ทางด้านมือถือ บางคนบอกว่า AngularJS เหมาะสำหรับสปา (โดยส่วนตัวแล้วฉันคิดว่าสปาบนโทรศัพท์มือถืออาจทำให้เกิดปัญหาด้านประสิทธิภาพเนื่องจากกลไกการตรวจสอบสกปรกจะส่งผลกระทบต่อประสิทธิภาพ) ในด้านเว็บแอปพลิเคชัน CRUD หรือซอฟต์แวร์การจัดการบางอย่างยังสามารถใช้งานได้ (แน่นอนความเข้าใจที่นี่อาจไม่ถูกต้องและคุณจะเข้าใจและใช้งานได้มากขึ้นด้วยการเรียนรู้เชิงลึก)
เกี่ยวกับการรวมกันของ UI
การพัฒนาผลิตภัณฑ์ใด ๆ ต้องใช้ UI front-end ปัจจุบัน UIs จำนวนมากขึ้นอยู่กับ jQuery ซึ่งหมายความว่าหากคุณต้องการใช้ AngularJS และส่วนประกอบ UI เหล่านี้คุณต้องใช้คำสั่ง AngularJS เพื่อเขียนส่วนประกอบใหม่ กระบวนการนี้ค่อนข้างลำบาก โชคดีที่ Angular ให้ส่วนประกอบ UI บางส่วนที่สามารถใช้งานได้ (Web Side ส่วนใหญ่ผสมผสานส่วนประกอบ bootstrap front-end), http://angular-ui.github.io/ และด้านบนมือถือ อย่างไรก็ตามด้วยการพัฒนาของ Angular กรอบ Frameworks HTML5 จำนวนมากได้ค่อยๆใช้ AngularJS แบบบูรณาการสำหรับการใช้งาน
เกี่ยวกับคุณสมบัติของ AngularJs
1. การเชื่อมโยงแบบสองทิศทาง: นี่อาจเป็นคุณสมบัติที่น่าตื่นเต้นที่สุด ข้อมูลของเลเยอร์มุมมองและข้อมูลของเลเยอร์โมเดลคือการเชื่อมโยงแบบสองทิศทาง หากหนึ่งในนั้นเปลี่ยนไปอีกด้านหนึ่งจะเปลี่ยนไปตามลำดับ คุณไม่จำเป็นต้องเขียนรหัสใด ๆ ! (คิดเกี่ยวกับวิธีการทำในโหมด jQuery)
2. รหัสเป็นโมดูลและรหัสของแต่ละโมดูลมีขอบเขตของตัวเองโมเดลคอนโทรลเลอร์ ฯลฯ
3. คำสั่งที่ทรงพลังสามารถห่อหุ้มฟังก์ชั่นจำนวนมากลงในแท็ก HTML คุณลักษณะหรือความคิดเห็น ฯลฯ ซึ่งทำให้โครงสร้างของ HTML ตกแต่งอย่างมากและเพิ่มความสามารถในการอ่าน
4. การฉีดขึ้นอยู่กับการให้รูปแบบการออกแบบของภาษาแบ็กเอนด์นี้กับรหัสส่วนหน้าซึ่งหมายความว่ารหัสส่วนหน้าสามารถปรับปรุงความสามารถในการนำกลับมาใช้ใหม่และความยืดหยุ่น ในอนาคตโมเดลอาจมีการดำเนินการจำนวนมากบนไคลเอนต์และเซิร์ฟเวอร์จะจัดเตรียมแหล่งข้อมูลและการดำเนินงานที่ลูกค้ารายอื่นไม่สามารถทำได้
5. การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ AngularJS มีจุดมุ่งหมายเพื่อเริ่มต้นด้วยสิ่งนี้ แอพพลิเคชั่นที่พัฒนาขึ้นโดยใช้ Angular สามารถทำการทดสอบหน่วยและการทดสอบแบบครบวงจรได้อย่างง่ายดายซึ่งแก้ข้อบกพร่องของรหัส JS แบบดั้งเดิมที่ยากต่อการทดสอบและบำรุงรักษา
ข้างต้นคือข้อสรุปที่วาดโดยการศึกษา AngularJs เป็นระยะเวลาหนึ่ง บางพื้นที่อาจถูกละเว้น ไม่สำคัญ ต่อไปเราจะพัฒนาหนึ่งในคะแนนและเรียนรู้ทีละขั้นตอน