โดย Nate Barbettini
ลิขสิทธิ์© 2018 สงวนลิขสิทธิ์
ISBN: 978-1-387-75615-5
เปิดตัวภายใต้ใบอนุญาต Creative Commons Attribution 4.0 คุณมีอิสระที่จะแบ่งปันคัดลอกและแจกจ่ายหนังสือเล่มนี้ในรูปแบบใด ๆ หรือเรียบเรียงและเปลี่ยนมันเพื่อวัตถุประสงค์ใด ๆ (แม้กระทั่งในเชิงพาณิชย์) คุณต้องให้เครดิตที่เหมาะสมและให้ลิงก์ไปยังใบอนุญาต
สำหรับข้อมูลเพิ่มเติมโปรดเยี่ยมชม https://creativeCommons.org/licenses/by/4.0/
ขอบคุณที่รับหนังสือ Core ASP.NET เล็ก ๆ น้อย ๆ ! ฉันเขียนหนังสือสั้น ๆ นี้เพื่อช่วยนักพัฒนาและผู้ที่สนใจในการเขียนโปรแกรมเว็บเรียนรู้เกี่ยวกับ ASP.NET CORE 2.0 ซึ่งเป็นกรอบสำหรับการสร้างเว็บแอปพลิเคชันและ API
หนังสือ Core ASP.NET เล็ก ๆ น้อย ๆ มีโครงสร้างเป็นบทช่วยสอน คุณจะสร้างแอปพลิเคชันตั้งแต่ต้นจนจบและเรียนรู้:
ไม่ต้องกังวลคุณไม่จำเป็นต้องรู้อะไรเกี่ยวกับ ASP.NET CORE (หรือใด ๆ ข้างต้น) เพื่อเริ่มต้น
รหัสสำหรับแอปพลิเคชันรุ่นเสร็จแล้วที่คุณจะสร้างมีอยู่ใน GitHub:
https://www.github.com/nbarbettini/little-aspnetcore-todo
อย่าลังเลที่จะดาวน์โหลดหากคุณต้องการดูผลิตภัณฑ์สำเร็จรูปหรือเปรียบเทียบขณะที่คุณเขียนโค้ดของคุณเอง
หนังสือเล่มนี้ได้รับการอัปเดตบ่อยครั้งด้วยการแก้ไขข้อผิดพลาดและเนื้อหาใหม่ หากคุณกำลังอ่าน PDF, e-book หรือเวอร์ชันพิมพ์ให้ตรวจสอบเว็บไซต์ทางการ (littleasp.net/book) เพื่อดูว่ามีเวอร์ชันอัปเดตหรือไม่ หน้าสุดท้ายของหนังสือเล่มนี้มีข้อมูลเวอร์ชันและการเปลี่ยนแปลง
ต้องขอบคุณผู้มีส่วนร่วมหลายภาษาที่ยอดเยี่ยมหนังสือ Core Little ASP.NET ได้รับการแปลเป็นภาษาอื่น:
ASP.NET CORE EL KITABı (ตุรกี)
简明 asp.net core 手册(จีน)
หากคุณยังใหม่กับการเขียนโปรแกรมหนังสือเล่มนี้จะแนะนำคุณเกี่ยวกับรูปแบบและแนวคิดที่ใช้ในการสร้างเว็บแอปพลิเคชันที่ทันสมัย คุณจะได้เรียนรู้วิธีการสร้างเว็บแอป (และชิ้นส่วนใหญ่เข้าด้วยกัน) โดยการสร้างบางสิ่งบางอย่างตั้งแต่เริ่มต้น! แม้ว่าหนังสือเล่มเล็ก ๆ เล่มนี้จะไม่สามารถครอบคลุมทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการเขียนโปรแกรม แต่มันจะให้จุดเริ่มต้นเพื่อให้คุณสามารถเรียนรู้หัวข้อขั้นสูงเพิ่มเติมได้
หากคุณรหัสในภาษาแบ็กเอนด์เช่นโหนด, Python, Ruby, Go หรือ Java คุณจะสังเกตเห็นแนวคิดที่คุ้นเคยมากมายเช่น MVC, ดูเทมเพลตและการฉีดพึ่งพา รหัสจะอยู่ใน C#แต่มันจะไม่แตกต่างจากที่คุณรู้อยู่แล้ว
หากคุณเป็นนักพัฒนา ASP.NET MVC คุณจะรู้สึกเหมือนอยู่บ้าน! ASP.NET CORE เพิ่มเครื่องมือใหม่และนำกลับมาใช้ใหม่ (และง่ายขึ้น) สิ่งที่คุณรู้อยู่แล้ว ฉันจะชี้ให้เห็นถึงความแตกต่างด้านล่าง
ไม่ว่าคุณจะมีประสบการณ์ก่อนหน้านี้เกี่ยวกับการเขียนโปรแกรมเว็บหนังสือเล่มนี้จะสอนทุกสิ่งที่คุณต้องการเพื่อสร้างเว็บแอปพลิเคชันที่เรียบง่ายและมีประโยชน์ใน ASP.NET Core คุณจะได้เรียนรู้วิธีการสร้างฟังก์ชันการทำงานโดยใช้แบ็กเอนด์และรหัสส่วนหน้าวิธีโต้ตอบกับฐานข้อมูลและวิธีการปรับใช้แอพไปทั่วโลก
ASP.NET CORE เป็นเฟรมเวิร์กเว็บที่สร้างขึ้นโดย Microsoft สำหรับการสร้างเว็บแอปพลิเคชัน APIs และ Microservices มันใช้รูปแบบทั่วไปเช่น MVC (Model-View-Controller) การฉีดพึ่งพาและไปป์ไลน์คำขอประกอบด้วยมิดเดิลแวร์ มันเป็นโอเพ่นซอร์สภายใต้ใบอนุญาต Apache 2.0 ซึ่งหมายความว่าซอร์สโค้ดมีให้บริการอย่างอิสระและชุมชนได้รับการสนับสนุนให้มีส่วนร่วมในการแก้ไขข้อผิดพลาดและคุณสมบัติใหม่
ASP.NET Core ทำงานอยู่ด้านบนของรันไทม์. NET ของ Microsoft คล้ายกับ Java Virtual Machine (JVM) หรือล่ามทับทิม คุณสามารถเขียนแอปพลิเคชัน ASP.NET Core ในหลายภาษา (C#, Visual Basic, F#) C# เป็นตัวเลือกที่ได้รับความนิยมมากที่สุดและเป็นสิ่งที่ฉันจะใช้ในหนังสือเล่มนี้ คุณสามารถสร้างและเรียกใช้แอปพลิเคชัน ASP.NET Core บน Windows, Mac และ Linux
มีเฟรมเวิร์กเว็บที่ยอดเยี่ยมมากมายให้เลือกแล้ว: Node/Express, Spring, Ruby on Rails, Django, Laravel และอีกมากมาย ASP.NET Core มีข้อดีอะไรบ้าง?
ความเร็ว. ASP.NET CORE เร็ว เนื่องจาก. NET Code ถูกรวบรวมจึงดำเนินการเร็วกว่ารหัสในภาษาที่ตีความเช่น JavaScript หรือ Ruby ASP.NET CORE ยังได้รับการปรับให้เหมาะสมสำหรับงานมัลติเธรดและแบบอะซิงโครนัส เป็นเรื่องปกติที่จะเห็นการปรับปรุงความเร็ว 5-10x ผ่านรหัสที่เขียนใน Node.js.
ระบบนิเวศ ASP.NET CORE อาจเป็นเรื่องใหม่ แต่. NET เป็นเวลานาน มีแพ็คเกจหลายพันชุดบน NUGET (. NET Package Manager; คิดว่า NPM, Ruby Gems หรือ Maven) มีแพ็คเกจที่มีอยู่แล้วสำหรับ JSON Deserialization ตัวเชื่อมต่อฐานข้อมูลการสร้าง PDF หรือเกือบทุกอย่างที่คุณนึกถึง
ความปลอดภัย. ทีมงานที่ Microsoft ให้ความสำคัญกับความปลอดภัยอย่างจริงจังและ ASP.NET CORE ถูกสร้างขึ้นเพื่อความปลอดภัยจากพื้นดิน มันจัดการกับสิ่งต่าง ๆ เช่นการฆ่าเชื้อข้อมูลอินพุตและป้องกันการโจมตีแบบข้ามไซต์ (CSRF) ดังนั้นคุณไม่จำเป็นต้องทำ นอกจากนี้คุณยังได้รับประโยชน์จากการพิมพ์แบบคงที่ด้วย. NET Compiler ซึ่งเป็นเหมือนการเปิดเครื่อง linter หวาดระแวงมากตลอดเวลา สิ่งนี้ทำให้ยากขึ้นที่จะทำสิ่งที่คุณไม่ได้ตั้งใจกับตัวแปรหรือข้อมูลชิ้น
ตลอดหนังสือเล่มนี้คุณจะได้เรียนรู้เกี่ยวกับ ASP.NET CORE (Web Framework) บางครั้งฉันจะพูดถึง. NET Runtime ซึ่งเป็นไลบรารีที่สนับสนุนที่เรียกใช้รหัส. NET หากสิ่งนี้ฟังดูเหมือนภาษากรีกสำหรับคุณเพียงแค่ข้ามไปยังบทต่อไป!
คุณอาจได้ยินเกี่ยวกับ. NET Core และ. NET มาตรฐาน การตั้งชื่อทำให้สับสนดังนั้นนี่คือคำอธิบายง่ายๆ:
.NET Standard เป็นอินเทอร์เฟซที่ไม่เชื่อเรื่องพระเจ้าแพลตฟอร์มที่กำหนดคุณสมบัติและ API เป็นสิ่งสำคัญที่จะต้องทราบว่ามาตรฐาน. NET ไม่ได้แสดงถึงรหัสหรือฟังก์ชั่นจริงใด ๆ เพียงแค่นิยาม API มี "รุ่น" หรือระดับมาตรฐาน. NET ที่แตกต่างกันซึ่งสะท้อนถึงจำนวน API ที่มีอยู่ (หรือพื้นที่ผิว API นั้นกว้างแค่ไหน) ตัวอย่างเช่น. NET Standard 2.0 มี API มากกว่า. NET Standard 1.5 ซึ่งมี API มากกว่า. NET Standard 1.0
.NET Core คือ. NET Runtime ที่สามารถติดตั้งบน Windows, Mac หรือ Linux มันใช้ APIs ที่กำหนดไว้ในอินเทอร์เฟซมาตรฐาน. NET ด้วยรหัสเฉพาะแพลตฟอร์มที่เหมาะสมในแต่ละระบบปฏิบัติการ นี่คือสิ่งที่คุณจะติดตั้งบนเครื่องของคุณเองเพื่อสร้างและเรียกใช้แอปพลิเคชัน ASP.NET Core
และสำหรับการวัดที่ดี. NET Framework เป็นการใช้งานมาตรฐาน. NET ที่แตกต่างกันซึ่งเป็น Windows-only นี่เป็นรันไทม์. NET เพียงอย่างเดียวจนกระทั่ง. NET Core เข้ามาและนำ. NET ไปยัง Mac และ Linux ASP.NET CORE ยังสามารถทำงานบนเฟรมเวิร์ก Windows-only. NET แต่ฉันจะไม่แตะต้องเรื่องนี้มากเกินไป
หากคุณสับสนกับการตั้งชื่อทั้งหมดนี้ไม่ต้องกังวล! เราจะไปถึงรหัสจริงบางอย่าง
หากคุณยังไม่ได้ใช้ ASP.NET เวอร์ชันก่อนหน้าให้ข้ามไปยังบทต่อไป
ASP.NET CORE เป็นการเขียนใหม่อย่างสมบูรณ์ของ ASP.NET โดยมุ่งเน้นที่การปรับปรุงกรอบการทำงานและในที่สุดก็แยกออกจาก System.Web, IIS และ Windows หากคุณจำสิ่งของ OWIN/KATANA ทั้งหมดจาก ASP.NET 4 คุณจะอยู่ที่นั่นครึ่งทางแล้ว: โครงการ Katana กลายเป็น ASP.NET 5 ซึ่งถูกเปลี่ยนชื่อเป็น ASP.NET CORE ในที่สุด
เนื่องจากมรดกคาตาน่าคลาส Startup อยู่ด้านหน้าและตรงกลางและไม่มี Application_Start หรือ Global.asax อีกต่อไป ไปป์ไลน์ทั้งหมดถูกขับเคลื่อนโดยมิดเดิลแวร์และไม่มีการแยกระหว่าง MVC และ Web API อีกต่อไป: คอนโทรลเลอร์สามารถส่งคืนมุมมองรหัสสถานะหรือข้อมูลได้อีกต่อไป การฉีดพึ่งพาอาศัยเข้ามาดังนั้นคุณไม่จำเป็นต้องติดตั้งและกำหนดค่าคอนเทนเนอร์เช่น structuremap หรือ ninject หากคุณไม่ต้องการ และเฟรมเวิร์กทั้งหมดได้รับการปรับให้เหมาะสมสำหรับความเร็วและประสิทธิภาพของรันไทม์
เอาล่ะบทนำเพียงพอ มาดำน้ำใน ASP.NET CORE!