Angular 7.0 – มีอะไรใหม่ใน Avatar ใหม่
เผยแพร่แล้ว: 2018-12-29ความแข็งแรงของอาคารอยู่ที่เสาคอนกรีต กรอบงานสำหรับเว็บแอปพลิเคชันก็เช่นกัน เฟรมเวิร์กซอฟต์แวร์เป็นวิธีมาตรฐานในการออกแบบ สร้าง และปรับใช้แอปพลิเคชัน ในโลกของแพลตฟอร์ม Java เฟรมเวิร์ก Javascript เป็นคำศัพท์ที่มีคนใช้มากที่สุด จนกระทั่ง Angular ได้รับความสำคัญ
ตอนนี้ ให้เราดู คุณสมบัติเด่นบางอย่างของ Angular
- Angular เป็นเฟรมเวิร์ก Javascript แบบโอเพ่นซอร์สซึ่งปรับเปลี่ยนเป็นสิ่งที่เรียกว่า 'Typescript' ในตอนนี้
- การสร้างและพัฒนาโค้ดทำได้รวดเร็วเมื่อเทียบกับโค้ด JS (Javascript)
- Command line prompt (CLI) มีคำสั่งให้สร้างแอปพลิเคชันเร็วขึ้น
- โค้ดได้รับการจัดระเบียบอย่างดีเนื่องจากใช้ส่วนประกอบจึงช่วยปรับปรุงประสิทธิภาพการทำงาน
- ไดเร็กทีฟเป็นฟังก์ชันไดนามิกที่จัดการตัวแปร if statement และ loops ใน HTML
- Angular เป็นแพลตฟอร์มข้ามแพลตฟอร์มดังนั้นจึงไม่ขึ้นอยู่กับเบราว์เซอร์และระบบปฏิบัติการ
- Angular CLI มาพร้อมกับเครื่องมือทดสอบที่เป็นประโยชน์สำหรับการทดสอบหน่วย
เรียนรู้ หลักสูตรวิศวกรรมซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

สารบัญ
AngularJS – สารตั้งต้นของ Angular
AngularJS เป็นผลิตภัณฑ์แรกในซีรี่ส์ Angular ที่ Google เปิดตัวในปี 2009 เป็นเฟรมเวิร์กฝั่งไคลเอ็นต์หรือส่วนหน้า สิ่งนี้หมายความว่าโค้ดทำงานบนเบราว์เซอร์ของผู้ใช้ ไม่ใช่บนเว็บเซิร์ฟเวอร์ AngularJS เขียนด้วย Javascript ล้วนๆ สิ่งนี้ได้รับการพัฒนาเพื่อแยกตรรกะของแอปพลิเคชันออก อย่างไรก็ตาม มันเป็นวิธีเดียวที่ประสบความสำเร็จและปูทางสำหรับ Angular ด้วยอวาตาร์ 7.0 ปัจจุบัน
AngularJS เป็นตัวเลือกที่เหมาะสมสำหรับการพัฒนาแอพมือถือครั้งต่อไปของคุณหรือไม่?
กรอบงานเชิงมุม 7.0
ให้เราเข้าใจสั้น ๆ เกี่ยวกับการสร้างของ Angular:
- โมดูล : โดยทั่วไปจะแบ่งหน้าจอหลักของแอปพลิเคชันตามหลักเหตุผล ตัวอย่างเช่น หากมีหน้าตะกร้าสินค้า อาจมีคนต้องการมีโมดูลตะกร้าสินค้า
- คอมโพเนนต์ : นี่คือส่วนหนึ่งของ UI และเป็น 'คลาส' เช่นเดียวกับในการเขียนโปรแกรมเชิงวัตถุ นี่คือส่วนประกอบพื้นฐานของส่วนต่อประสานผู้ใช้ (UI) คลาสคอมโพเนนต์ประกอบด้วยตรรกะหลักสำหรับเพจ
ส่วนประกอบประกอบด้วย:- เทมเพลต : เทมเพลตเขียนด้วย HTML หรืออาจเป็นไฟล์ HTML มันสามารถมีคุณสมบัติไดนามิกเช่นตัวแปรและการใช้ 'ถ้าเงื่อนไข' เป็นไปได้ด้วยคำสั่ง
- คลาส : เป็นรหัสสำหรับการสมัคร รหัสถูกเขียนใน typescript typescript เป็น superset ของ Javascript typescript เป็นภาษาประเภท 'คงที่' ที่ประกาศตัวแปรด้วยประเภทที่กำหนดไว้ ดังนั้นข้อผิดพลาดจึงถูกจับในการรวบรวมโปรแกรมแทนที่จะถูกจับที่รันไทม์ คลาสเชิงมุมสามารถเขียนด้วย Javascript ได้เช่นกัน ส่วนประกอบมีคุณสมบัติและข้อมูลเมธอด
- ข้อมูลเมตา : เพื่อระบุว่าคลาสเป็นองค์ประกอบเชิงมุมหนึ่งใช้ข้อมูลเมตา สามารถแนบข้อมูลเมตากับ typescript โดยใช้การประกาศมัณฑนากร
ให้เราอธิบายองค์ประกอบอย่างง่ายใน Angularนำเข้า {component} จาก ''@angular/core'' ; ที่นี่แพ็คเกจส่วนประกอบนำเข้าจากไลบรารีแกนเชิงมุม @component ({ (นี่คือการประกาศมัณฑนากร) Selector : 'myapplication' …(.นี่คือแท็ก HTML ที่กำหนดเองที่เราใช้เพื่อแทรกองค์ประกอบ ) แม่แบบ: '<h1> สวัสดี {(name)}</h1> (ชื่อเป็นตัวแปร) }) ส่งออกคลาส AppComponent{ (นี่คือคลาสคอมโพเนนต์และ 'ชื่อ' เป็นคุณสมบัติในคลาส) name = ' กรอบเชิงมุม '; } <body> <myapplication>กำลังโหลดตัวอย่างส่วนประกอบแอปที่นี่..</myapplication> </body>
- การผูกข้อมูล : กระบวนการที่อนุญาตให้มีการสื่อสารระหว่างส่วนประกอบและมุมมอง ดังนั้นข้อมูลจะถูกส่งต่อจากส่วนประกอบไปยังมุมมองและในทางกลับกัน การผูกข้อมูลมีสี่ประเภท ในการ Interpolation และการรวมคุณสมบัติ ข้อมูลจะถูกส่งจากส่วนประกอบไปยังมุมมอง และในการผูกเหตุการณ์ ข้อมูลจะถูกส่งไปยังส่วนประกอบจากมุมมองหรือเทมเพลต ในการผูกสองทาง ข้อมูลเดินทางทั้งสองทาง
- บริการ : นี่คือคลาสที่เขียนขึ้นสำหรับโค้ดที่ใช้ซ้ำได้ เช่น รหัสที่สามารถเข้าถึงได้จากหลายองค์ประกอบ คลาสเหล่านี้ส่งข้อมูลและการทำงานข้ามส่วนประกอบ คลาสบริการยังสามารถรับข้อมูลจากฐานข้อมูลหรือไฟล์ js/JSON เมื่อใช้คลาส Service โค้ดจะดูเป็นระเบียบและมีการแยกส่วน
- คำสั่ง : การปรับแต่งแอตทริบิวต์ HTML เพื่อเพิ่มประสิทธิภาพของ HTML เป็นคำสั่ง ngIf, ngFor, ngModel เป็นคำสั่ง ngModel มีหน้าที่รับผิดชอบ ผูกมุมมองเข้ากับโมเดล ซึ่งคำสั่งอื่นๆ เช่น input, textarea หรือ Select ต้องการ
นี่คือโค้ดบางส่วนที่แสดงให้เห็นว่า ngmodel ทำงานอย่างไร<div ng-app="" ng-init="firstName='John'"> <p>ป้อนชื่อในช่องป้อนข้อมูล:</p> <p>ชื่อ: <input type="text" ng-model="firstName"></p> <p>คุณเขียน: {{ firstName }}</p> </div>
ดังนั้น firstName ถูกกำหนดค่าเริ่มต้นเป็น 'John' และเมื่อมีคนป้อนค่าใหม่ในกล่องข้อความ firstName จะเก็บชื่อใหม่ที่ป้อนไว้
- การพึ่งพาการฉีด (DI) : คลาสต้องการอ็อบเจ็กต์เพื่อทำหน้าที่เฉพาะ แทนที่จะสร้างอ็อบเจ็กต์ในแต่ละครั้งในคลาส คลาสจะได้รับอ็อบเจกต์ (การพึ่งพา) จากแหล่งภายนอก ในกรอบงาน DI มีขั้นตอนที่ต้องปฏิบัติตาม:
- สร้างคลาสบริการเช่น ข้อมูลพนักงาน
- ลงทะเบียนคลาสบริการนี้กับ Injector Injector เป็นคอนเทนเนอร์ที่เก็บคลาสการพึ่งพาทั้งหมด
- ประกาศคลาส Employeedata เป็นการพึ่งพาในคลาสที่ต้องการเช่น คลาสรายชื่อพนักงาน
รุ่นของ Angular
หลังจาก AngularJS นั้น Angular 2 ได้รับการปล่อยตัวซึ่งเป็นการเขียนใหม่ของ AngularJS เพิ่มส่วนประกอบจาก Angular 2 Angular 2 ไม่เข้ากันแบบย้อนกลับ Angular ประกอบด้วยแพ็คเกจจำนวนมากและแพ็คเกจเราเตอร์ใน Angular 3 ไม่ซิงค์กัน ดังนั้นทีม Angular จึงย้ายไปที่ Angular 4 ซึ่งได้รับการเผยแพร่พร้อมกับการแก้ไขและคุณลักษณะทั้งหมดที่มีความเข้ากันได้แบบย้อนหลังกับ Angular 2 ต่อจากนั้น Angular 5 Angular 6 ได้รับการเผยแพร่และเวอร์ชันล่าสุดคือ Angular 7

มีอะไรใหม่ใน Angular 7.0
- พร้อมท์ CLI : การเปลี่ยนแปลงในพรอมต์บรรทัดคำสั่งเชิงมุมคือ CLI พร้อมต์ให้ผู้ใช้เลือกคุณสมบัติในขณะที่รันคำสั่งทั่วไป คุณลักษณะเช่นการกำหนดเส้นทางเชิงมุมหรือรูปแบบของสไตล์ชีตและอื่น ๆ อีกมากมายสามารถเลือกได้โดยผู้ใช้ ในเวอร์ชันก่อนหน้าของ Angular คุณต้องจำและพิมพ์ตัวเลือกที่พรอมต์
- ประสิทธิภาพของแอพพลิเคชั่น :
- ข้อผิดพลาดทั่วไป:
ในเวอร์ชันนี้ ทีมเชิงมุมได้วิเคราะห์และขจัดข้อผิดพลาดทั่วไปบางอย่างที่ทำโดยนักพัฒนา เช่น polyfill 'reflect-metadata' ซึ่งรวมอยู่ในการผลิตซึ่งจำเป็นจริงๆ เท่านั้นในการพัฒนา - Bundle-งบประมาณ:
เพื่อปรับปรุงประสิทธิภาพของแอปพลิเคชัน Bundle Budget เริ่มต้นถูกกำหนดใน angular.JSON นักพัฒนาจะได้รับคำเตือนหากขนาดบันเดิลแอปพลิเคชันเกินขีดจำกัด 5MB และเมื่อบันเดิลเริ่มต้นเกิน 2MB ค่าเหล่านี้สามารถแก้ไขได้ในไฟล์ JSON ตามต้องการ
- ข้อผิดพลาดทั่วไป:
- วัสดุเชิงมุมและ CDK: ชุดพัฒนาองค์ประกอบเชิงมุม (CDK) ถูกสร้างขึ้นจากวัสดุเชิงมุม (UI สำหรับไลบรารี) คุณลักษณะใหม่สองรายการที่เพิ่มเข้ามาใน CDK ได้แก่
- การเลื่อนเสมือน:
ในการโหลดเฉพาะส่วนที่มองเห็นได้บนหน้าจอ แพ็คเกจ <cdk-virtual-scroll-viewport> จะมีตัวช่วยสำหรับคำสั่งที่ตอบสนองต่อเหตุการณ์การเลื่อน ดังนั้นจะแสดงเฉพาะรายการที่พอดีกับหน้าจอเท่านั้น เมื่อผู้ใช้เลื่อนดูรายการ DOM จะโหลดและยกเลิกการโหลดองค์ประกอบแบบไดนามิกตามขนาดที่แสดง - รองรับการลากและวาง:
โมดูล @angular/cdk/drag-drop ช่วยให้คุณสมบัติการลากและวางฟรีขององค์ประกอบ การเรียงลำดับรายการใหม่ในรายการ การย้ายรายการในรายการ และอื่นๆ สิ่งนี้ทำได้ด้วยความช่วยเหลือของคำสั่ง cdkDropList และ cdkDrag
- การเลื่อนเสมือน:
- Angular 7.0 ได้อัปเดตการพึ่งพาเพื่อรองรับ Typescript 3.1, RxJS 6.3 และ Node 10
- ปรับปรุงการเข้าถึงของ Selects: 'select' ดั้งเดิมมีข้อดีด้านประสิทธิภาพ การเข้าถึงและการใช้งาน ดังนั้นการใช้องค์ประกอบการเลือกดั้งเดิมภายใน 'mat-form-field' เป็นคุณลักษณะใหม่ใน Angular 7.0
- องค์ประกอบเชิงมุม: การเปลี่ยนแปลงเล็กน้อยแต่ใหม่ใน Angular 7
“ ขณะนี้องค์ประกอบเชิงมุมรองรับการฉายเนื้อหาโดยใช้มาตรฐานเว็บสำหรับองค์ประกอบที่กำหนดเอง ” — นี่คือสิ่งที่ Stephen Fluin, Angular กล่าว - การทำงานกับพันธมิตร: ทีมงานของ Angular ได้ทำงานร่วมกับโครงการชุมชนที่เพิ่งเปิดตัวไปเมื่อไม่นานมานี้ หนึ่งในนั้นคือ Angular Console Angular Console เป็นอินเทอร์เฟซผู้ใช้สำหรับ Angular CLI เป็นสิ่งที่ดีสำหรับผู้เริ่มต้นและผู้เชี่ยวชาญเนื่องจากง่ายกว่าการแจ้ง มี UI เวอร์ชันต่างๆ สำหรับ Windows และ Mac OS
การเปลี่ยนแปลงส่วนใหญ่ใน Angular 7.0 อยู่ที่การปรับปรุงประสิทธิภาพและการแก้ไขจุดบกพร่อง ดังนั้นจึงเป็นเวอร์ชันที่ปลอดภัยที่สุดในปัจจุบัน และการโยกย้ายจากเวอร์ชันก่อนหน้านั้นทำได้ง่าย Ivy คือเอ็นจิ้นการเรนเดอร์ใหม่ที่ทีม Angular กำลังดำเนินการอยู่ ถึงตอนนั้นให้เรารอดู เรียนต่อ !
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์ – ความเชี่ยวชาญพิเศษด้านการพัฒนาแบบเต็มสแต็ก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9+ โครงการและการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับบริษัทชั้นนำ