รู้เกี่ยวกับคุณสมบัติใหม่ล่าสุดของ Angular 9
เผยแพร่แล้ว: 2022-01-02ในบทความนี้ เราจะเรียนรู้ว่ามีอะไรใหม่ใน Angular 9 เวอร์ชันใหม่นี้เพิ่งเปิดตัวไปเมื่อวันที่ 7 กุมภาพันธ์ 2020
แม้ว่าการเปลี่ยนจาก 8 เป็น 9 ดูเหมือนจะเป็นก้าวที่ยิ่งใหญ่ แต่ v9 เป็นรุ่นที่ไม่ธรรมดาซึ่งรวมถึงการแก้ไขข้อผิดพลาดด้วย
ยิ่งไปกว่านั้น ยังมีฟีเจอร์ Angular 9 ที่น่าสนใจมากมายที่เราจะพูดถึงในบทความนี้
- การพัฒนาที่เป็นผู้ใหญ่ด้วย Angular
- คุณสมบัติในตัวของ Angular
- มือถือเชิงมุมและไอวี่
- การปรับปรุงการวินิจฉัยเชิงมุม
- Type-safe และ DI ใน Angular 9
- เกณฑ์มาตรฐานเชิงมุม
ปัจจุบัน Angular เป็นเฟรมเวิร์กโอเพ่นซอร์สที่สำคัญที่สุดสำหรับการพัฒนาแอปพลิเคชันมือถือและเว็บ
มันถูกพัฒนาโดย Google Angular เข้าสู่ตลาดมาหลายปีแล้วด้วยกรอบการพัฒนาที่ครอบคลุมซึ่งรวมถึงส่วนประกอบและเครื่องมือที่จำเป็นในการสร้างเว็บแอปพลิเคชัน
Angular มีโรดแมปใหม่ทั้งหมด โดยจะมีเวอร์ชันหลักใหม่ออกมาทุกๆ หกเดือน
นอกจากนี้ ทีม Angular ยังทำงานได้ดีมาก ดังนั้น API จึงไม่เปลี่ยนแปลงหรือไม่บ่อยเหมือนที่ทำจาก Angular 1 ถึง 2
นี่เป็นสิ่งที่ยอดเยี่ยมเพราะช่วยให้ทุกอย่างเป็นปัจจุบันด้วยคุณลักษณะล่าสุดและแนวปฏิบัติที่ดีที่สุดที่สนับสนุนโดย JavaScript และ TypeScript
ในบทความนี้ เราจะเน้นที่ปัญหาหนึ่งที่ทำให้ Angular เวอร์ชันก่อนเสียหาย เช่น ไฟล์ขนาดใหญ่ส่งผลเสียต่อเวลาในการดาวน์โหลด ประสิทธิภาพของแอปพลิเคชัน และผลที่ตามมา
คุณสมบัติที่สำคัญอีกประการหนึ่งที่เราจะเน้นคือคอมไพเลอร์ Ivy คุณจะได้รับแนวคิดที่ครอบคลุมเกี่ยวกับ Ivy และความสำคัญในอนาคตของ Angular ผลลัพธ์สุดท้าย: แก้ปัญหาต่างๆ เกี่ยวกับประสิทธิภาพของแอปพลิเคชันและบันเดิลขนาดใหญ่
นอกจากนี้ จะมีการหารือเกี่ยวกับคุณสมบัติใหม่ รวมถึงการสนับสนุนการทำให้เป็นสากลและการเชื่อมโยงแบบไม่มีตัวเลือก
รู้เกี่ยวกับประสิทธิภาพของ JavaScript และบันเดิล
ปัญหาสำคัญประการหนึ่งของเวอร์ชัน Angular ที่ผ่านมาคือขนาดไฟล์ใหญ่ของแอปซึ่งเทียบเท่ากับไฟล์ที่สร้างขึ้นในชุด JavaScript
หากคุณเปรียบเทียบ Angular กับไลบรารีอื่นๆ เช่น Vue หรือ React แอป Angular ก็ค่อนข้างดี
ในระหว่างรันไทม์ คุณจะไม่รู้สึกถึงความแตกต่าง แม้ว่าประสิทธิภาพของ Angular จะดี แต่เวลาในการโหลดจะใช้เวลามากเพราะแอปที่เรียบง่ายก็มีขนาดใหญ่เช่นกัน
ขนาดของบันเดิล JavaScript ยังให้ความรู้เกี่ยวกับปัญหาอื่นๆ มีหลายสิ่งให้เรียนรู้ด้วย Angular เนื่องจากเป็นกรอบงานที่สมบูรณ์พร้อมอุปกรณ์การพัฒนาในตัว ในขณะที่อื่นๆ
ไลบรารี JavaScript เน้นที่ส่วนประกอบมากกว่า
ทีมงาน Angular ทำอะไรได้บ้างเพื่อบรรเทาปัญหาที่เกิดจากไฟล์บันเดิลขนาดมหึมาในเวอร์ชันที่แล้ว??
ไม้เลื้อยเชิงมุมช่วยแก้ปัญหาต่างๆ
หนึ่งในคุณสมบัติที่สำคัญที่สุดที่รวมอยู่ใน Angular 8 คือการแสดงตัวอย่างของ opt-in Ivy
ปัจจุบัน Ivy เป็นไปป์ไลน์การเรนเดอร์ใหม่ล่าสุดและบิลด์ภายในใหม่ ตัวแสดงภาพโดยทั่วไปเป็นเครื่องมือที่ใช้คำแนะนำที่คุณใส่ในองค์ประกอบของ Angular ด้วยแม่แบบ
นอกจากนี้ยังทำหน้าที่แปลส่วนประกอบเป็นคำสั่งที่เปลี่ยน DOM (Document Object Model)
คอมไพเลอร์ Ivy ถูกซ่อนไว้ และมันยังใช้ ViewEngine กับ Ivy ได้สำเร็จด้วย แต่นั่นไม่ได้เปลี่ยนวิธีที่เราทำงานกับ Angular แต่สิ่งนี้ไม่ได้เปลี่ยนวิธีการทำงานกับ Angular ของคุณ
การเปลี่ยนแปลงนี้มีผลกระทบอย่างมากต่อโค้ดที่กำลังสร้างขึ้น
การแสดงตัวอย่าง Angular 8 ช่วยให้ผู้ใช้ทำงานได้อย่างง่ายดายด้วย Ivy เมื่อใช้กับบทช่วยสอน Angular 9 ปัจจุบัน Ivy เป็นหนึ่งในตัวแสดงภาพมาตรฐาน
หากตัวแสดงภาพใช้งานง่ายและมีประสิทธิภาพ หมายความว่าคุณสามารถสร้างโค้ดน้อยลงเนื่องจากไม่ต้องการคำแนะนำเพิ่มเติม
Ivy มีบันเดิล JavaScript ที่น้อยมาก ดังนั้นจึงแก้ไขจุดอ่อนทั้งหมดที่เกี่ยวข้องกับบันเดิลของ Angular

นอกจากนี้ Ivy จะเปลี่ยนทั้งเกมเนื่องจากจะนำแอปพลิเคชัน Angular ไปสู่ระดับใหม่อย่างสมบูรณ์ในแง่ของขนาดและประสิทธิภาพ
Ivy ไม่เคยเปลี่ยนวิธีการใช้งาน Angular แต่เปลี่ยนเทคนิคทั้งหมดของการสร้างแอป
ทีมงาน Angular ให้ความสนใจกับความคิดริเริ่มต่างๆ เช่น ไดเร็กเชียลโหลดโทมของจาวาสคริปต์สมัยใหม่ที่ผสานเข้ากับแองกูลาร์
ซึ่งหมายความว่ากลุ่ม polyfill ต่างๆ ถูกปรับใช้และพัฒนาร่วมกัน
แอพมือถือ Agile พร้อม Angular Ivy
สมาร์ทโฟนและอุปกรณ์ต่างๆ ถือเป็นการเข้าชมส่วนใหญ่ทั่วโลก นอกจากนี้ ผู้คนจำนวนมากเข้าถึงหน้าเว็บจากสถานที่ที่มีการเชื่อมต่ออินเทอร์เน็ตช้า
นักพัฒนาส่วนใหญ่สามารถแก้ไขแอปที่มีอยู่เดิมเพื่อลดขนาดของเครื่องมือที่ดาวน์โหลดได้และเพิ่มประสบการณ์ผู้ใช้ แต่การเปลี่ยนแปลงดังกล่าวอาจมีราคาแพงมาก ยากและมีความเสี่ยง
ด้วยการลดขนาดของบันเดิล JavaScript ทำให้ Ivy กลายเป็นส่วนปรับปรุงที่น่ายินดีสำหรับนักพัฒนาที่ต้องการเร่งขั้นตอนการพัฒนาให้เร็วขึ้น
การปรับปรุงการวินิจฉัยเชิงมุม
ก่อนหน้านี้ Angular Compiler ได้สร้างทั้งการวินิจฉัย API ภายในและการวินิจฉัย TypeScript อย่างไรก็ตาม การวินิจฉัย TypeScript ได้ประโยชน์จากการปรับปรุงในปัจจุบัน ซึ่งไม่ได้นำไปใช้ในการวินิจฉัย API
แทนที่จะทำงานกับหลายรูปแบบ Angular 7 จะทำให้กระบวนการนี้ราบรื่นโดยสมบูรณ์โดยการแปลงการวินิจฉัย Angular TypeScript Compiler ทั้งหมดด้วยรูปแบบ TypeScript Diagnostics ที่คล้ายคลึงกัน
เวอร์ชันล่าสุด 9 จะป้องกันไม่ให้แอปหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นโดยใช้รีจิสทรีสคีมาเพื่อตรวจสอบการเชื่อมโยง DOM
ยิ่งไปกว่านั้น การวินิจฉัยเทมเพลตที่สอดคล้องกันจะเป็นประโยชน์ในการสนับสนุนการสร้างข้อความแสดงข้อผิดพลาดเชิงพรรณนา
การอัพเกรดใน API Extractor
Angular ขึ้นอยู่กับไลบรารีซอฟต์แวร์ต่างๆ ที่พัฒนาแยกกัน
ผู้ใช้เชิงมุมจะไม่พลาดข้อบกพร่องที่อาจเกิดขึ้นและคุณลักษณะล่าสุดจะรวมอยู่ในไลบรารีของพวกเขา
ในการตอบสนอง Angular 9 จะอัปเดต API Extractor เป็นเวอร์ชันใหม่ล่าสุด
Angular ใช้ Bazel เป็นอุปกรณ์โอเพ่นซอร์สที่ช่วยให้สามารถทดสอบซอฟต์แวร์และการสร้างระบบอัตโนมัติได้
Bazel เป็นเครื่องมือที่เกี่ยวข้องกับเวลาในการสร้างโดย Toolchain เชิงมุม
นอกจากนี้ยังให้ประโยชน์ของเอ็นจิ้นคอมไพเลอร์ TypeScript ในการสร้างรายงานสัญญา ตรวจจับพื้นผิว API ที่ส่งออกของโปรเจ็กต์ และการมองเห็นที่หายไปและความไม่สอดคล้องกัน มันสร้างเอกสาร API
ไม่ใช่การอัปเดตที่น่าตื่นเต้นเลย เนื่องจากฟังก์ชันต่างๆ เช่น ตัวแยก API และการปรับปรุงบริการภาษาเป็นประจำซึ่งทำให้กรอบงานมีประสิทธิภาพและประสิทธิผล
มีอะไรในอนาคตของ Angular?
ด้วยการเริ่มต้นของ Angular 9 ชุมชนสามารถได้รับประโยชน์จากแอปพลิเคชันขนาดเล็กไปจนถึงแอปพลิเคชันที่มีประสิทธิภาพสูง และประสบการณ์ของนักพัฒนาจำนวนมาก
นักพัฒนายังมีโครงสร้างโปรเจ็กต์ที่แม่นยำยิ่งขึ้น เช่นเดียวกับไวยากรณ์ของคลีต
ทีมงานของ Angular คาดการณ์เช่นกันว่าไม่มีข้อกำหนดสำหรับการเปลี่ยนแปลงที่สำคัญใน APU
มีการเลิกใช้งานเพิ่มเติมและวิธีการอื่นในการสร้างส่วนประกอบหรือไม่?
ในอนาคต จะมีการให้ความสำคัญมากขึ้นในการใช้เวลามากขึ้นในการพัฒนาคำสั่งและส่วนประกอบ และจะใช้เวลาน้อยลงในการรวมเข้าด้วยกัน
ทีม Angular ยังช่วยให้คำแนะนำในปัญหาคอมไพเลอร์แบบคงที่และแพ็คเกจโมดูลอีกด้วย
ในระหว่างกระบวนการนี้ ทีมงานยังได้โยกย้าย Terser แบบย่อขนาดเพื่อให้แยกวิเคราะห์ได้ดียิ่งขึ้นสำหรับคอมไพเลอร์ Ivy ตามคำแนะนำของทีม Angular
หากคุณต้องการสร้างแอพมือถือโดยใช้ AngularJS Mobile App Development ก็เป็นเวลาที่เหมาะสมในการติดต่อ Elsner
