.NET Core - ก้าวไกลและโอเพ่นซอร์ส Microsoft อะไรทำให้คุณใช้เวลานานขนาดนี้!

เผยแพร่แล้ว: 2022-03-11

“สิ่งลึกลับก่อตัวขึ้นในความว่างเปล่าอันเงียบงัน คอยอยู่เพียงลำพังและไม่ขยับเขยื้อน นิ่งอยู่ แต่เคลื่อนไหวอย่างต่อเนื่อง…”

แท้จริงแล้ว เหตุการณ์ที่ยิ่งใหญ่ที่สุดสองเหตุการณ์ในประวัติศาสตร์ของมนุษย์เกิดขึ้นทีละอย่าง:

  • ภารกิจโรเซตตาของ ESA ได้ลงจอดยานสำรวจ Philae บนดาวหางอย่างนุ่มนวล ซึ่งถือเป็นครั้งแรกในประวัติศาสตร์ที่สามารถทำภารกิจพิเศษได้สำเร็จ

  • Microsoft โอเพ่นซอร์ส .NET

เหตุการณ์แรกเป็นก้าวที่ยิ่งใหญ่สำหรับมนุษยชาติ และเหตุการณ์หลังนั้นยิ่งใหญ่กว่าสำหรับ Microsoft!

ภารกิจ Rosetta จะเกิดขึ้นในหนังสือประวัติศาสตร์ และจะจดจำได้บ่อยเท่าที่เราจำไลก้าได้ มีการจินตนาการและวางแผนอย่างรอบคอบมาเป็นเวลากว่าทศวรรษ โดยได้ผลักดันมนุษยชาติให้ก้าวไปอีกขั้น และแสดงให้เห็นว่าเทคโนโลยีที่พัฒนาขึ้นเมื่อทศวรรษที่แล้วยังสามารถทำสิ่งที่น่าอัศจรรย์ได้

เหตุการณ์ที่สองทำให้หลายคนประหลาดใจ มันไม่ได้โฆษณามากนัก และฉันแน่ใจว่าทุกรายละเอียดของการประกาศไม่ได้วางแผนไว้เมื่อสิบปีก่อน แต่เห็นได้ชัดว่า Microsoft ใช้เส้นทางนี้เมื่อนานมาแล้ว และ .NET core ไม่ใช่สิ่งแรกที่พวกเขาผลักดันให้เป็นโอเพ่นซอร์ส (Roslyn)

.NET เป็นโอเพ่นซอร์สหรือไม่ ในที่สุด .NET ข้ามแพลตฟอร์มที่เรารอคอย

มนุษย์จำเป็นต้องมีการสอบสวนบนดาวหางหรือไม่? อาจจะไม่ใช่ แต่มันยอดเยี่ยมมากที่มันลงจอด! Microsoft ต้องการความศักดิ์สิทธิ์เพื่อเริ่มโอเพ่นซอร์ส .NET core หรือไม่ ใช่! พวกเขาต้องการมันมานานกว่าทศวรรษแล้ว!

อะไรที่เปลี่ยนแปลงไปในบริษัทพัฒนาซอฟต์แวร์ที่ยิ่งใหญ่ที่สุดแห่งหนึ่งของโลก? อะไรทำให้พวกเขาไปลงที่ถนนของ OSI?

ตาม .NET Framework Blog มีเหตุผลสองประการสำหรับสิ่งนี้:

  • วางรากฐานสำหรับ .NET . ข้ามแพลตฟอร์ม
  • สร้างและใช้ประโยชน์จากระบบนิเวศที่แข็งแกร่งขึ้น

แต่เหตุใด Microsoft จึงต้องการช่วยนักพัฒนาสร้างซอฟต์แวร์ .NET ข้ามแพลตฟอร์ม สิ่งนี้ขัดกับทุกสิ่งที่พวกเขาเคยทำมาก่อน Microsoft ได้ผลักดันระบบโครงสร้างพื้นฐานของตนเองมาหลายปีแล้ว Linux และ Mac เป็นศัตรูที่ต้องพ่ายแพ้ ไม่ใช่พันธมิตร ทั้งหมดนี้เกี่ยวกับอะไร?

ไม่ว่าแรงจูงใจที่แท้จริงของพวกเขาคืออะไร นักพัฒนาก็พยายามทำให้ดีที่สุดจากสิ่งนี้ ฉันอยากจะขอบคุณ Microsoft ที่ทำตามขั้นตอนนี้ มาสายดีกว่าไม่มาเลย!

ผลกระทบระยะยาวของเทคโนโลยีโอเพ่นซอร์สของ Microsoft จะมีมหาศาล .NET ข้ามแพลตฟอร์มที่แท้จริงจะมีผลกระทบโดยตรงต่อโฮสติ้ง ค่าลิขสิทธิ์และค่าบำรุงรักษา วิธีนี้จะทำให้การขายแอปพลิเคชัน .NET ง่ายขึ้นในระดับที่ฉันนึกไม่ถึง

ฉันใช้เวลาส่วนใหญ่ไปกับการเขียนโค้ดในอาชีพการงานของฉัน ความรักครั้งแรกของฉันคือ Borland Pascal และ "Blue Screen" เป็นสิ่งที่ฉันกำลังมองหาด้วยความเคารพอย่างมากในตอนนั้น ฉันเคยใช้แพลตฟอร์มการพัฒนาและภาษาต่างๆ ในภายหลัง แต่บอกตามตรง เนื่องจาก Microsoft เปิดตัว .NET แล้ว Visual Studio จึงเป็นสภาพแวดล้อมการพัฒนาที่ดีที่สุดในปัจจุบัน เป็นร้านค้าครบวงจรสำหรับทุกสิ่งที่นักพัฒนาหรือทีมเดียวอาจต้องการเพื่อสร้างแอปพลิเคชันประเภทใดก็ได้ มันถูกผูกไว้อย่างใกล้ชิดกับคุณสมบัติที่ยอดเยี่ยมของคอมไพเลอร์ .NET และ Visual Studio เวอร์ชันใหม่ทุกเวอร์ชันดูเหมือนผลิตภัณฑ์ที่ไม่สามารถขยายเพิ่มเติมได้อีก อย่างไรก็ตาม Microsoft ประสบความสำเร็จในการสร้างเซอร์ไพรส์อย่างต่อเนื่องโดยนำเสนอฟีเจอร์ใหม่เจ๋ง ๆ ให้กับ Visual Studio เวอร์ชันใหม่ทุกเวอร์ชัน

การสร้างซอฟต์แวร์เป็นกระบวนการที่ยอดเยี่ยม ทำให้นักพัฒนาทุกคนที่ฉันเคยพบรู้สึกสร้างสรรค์ มีความคิดสร้างสรรค์ และเติมเต็ม แต่คุณเคยลองขายหรือสนับสนุนกระบวนการขายหรือไม่? ฉันไม่แน่ใจว่าพนักงานขายทุกคนสามารถพูดแบบเดียวกันกับนักพัฒนาซอฟต์แวร์ในส่วนของตนได้ การขายให้กับบริษัทพัฒนาซอฟต์แวร์เป็นสิ่งที่น่ากลัว คุณต้องกังวลเกี่ยวกับปัจจัยหลายอย่างที่ไม่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์จริง คนที่ทำงานในแผนกขายต้องพิสูจน์/โน้มน้าวใจลูกค้าว่าผลิตภัณฑ์/บริการที่ขายเป็นลูกค้าที่ดีที่สุดที่จะได้รับในราคาที่จะจ่าย ดังนั้น การลดต้นทุนในการพัฒนาและบำรุงรักษาซอฟต์แวร์จึงเป็นสิ่งสำคัญเสมอ โลกแห่งความเป็นจริงไม่เคยหยุดคำนวณมูลค่าเทียบกับต้นทุน

ในทางกลับกัน การเริ่มต้นบริษัทไม่เคยง่ายอย่างนี้มาก่อน หากคุณมีความคิดที่ดี ก็ไม่ยากเกินไปที่จะระดมทุนเพื่อสร้าง “บางสิ่ง” (ชื่อล่าสุดของ “บางสิ่ง” คือ Minimal Viable Product แต่นั่นอาจจะได้รับการปรับปรุงในอนาคต) แสดง “บางสิ่ง” ให้โลกเห็น รับผลตอบรับเชิงบวก รับเงินทุนเพิ่ม และทำซ้ำจนกว่าคุณจะเริ่มทำเงิน ขายบริษัทของคุณ หรือล้มเหลว

วิธีที่ง่ายที่สุดในการลดต้นทุนของผลิตภัณฑ์ซอฟต์แวร์คืออะไร? การพัฒนาเป็นสิ่งที่คุณต้องจ่าย และในกรณีส่วนใหญ่ คุณจะจ่ายเป็นอัตรารายชั่วโมงสำหรับนักพัฒนาของคุณ โดยไม่คำนึงถึงแพลตฟอร์มการพัฒนาที่พวกเขาใช้ ดังนั้นวิธีที่ง่ายที่สุดในการลดค่าใช้จ่ายก็คือการปรับใช้ซอฟต์แวร์ของคุณในสภาพแวดล้อมที่ไม่ต้องการใบอนุญาตเพิ่มเติม นี่คือจุดที่ Microsoft ล้มเหลวครั้งแล้วครั้งเล่า! เราอาจมีการถกเถียงกันอย่างดุเดือดเกี่ยวกับประสิทธิภาพ คุณภาพของซอฟต์แวร์ ความสามารถในการปรับขนาด ฯลฯ แต่ง่ายที่จะเห็นว่าแพลตฟอร์ม .NET สามารถรับมือกับความท้าทายทางเทคนิคที่เกิดขึ้นได้อย่างง่ายดาย ในหลายกรณี ฉันเชื่อว่ามันแสดงให้เห็นถึงความเหนือกว่าแพลตฟอร์มอื่นๆ แต่ฉันไม่ค่อยชนะการโต้วาทีเกี่ยวกับการปรับใช้และการให้สิทธิ์ใช้งานโครงสร้างพื้นฐาน

ตลาดเริ่มผลักนักพัฒนาออกจากแพลตฟอร์มการพัฒนาของ Microsoft และใช่ ฉันเป็นหนึ่งในนักพัฒนาเหล่านั้น ฉันนำ Node.js เป็นแพลตฟอร์มแบ็คเอนด์หลัก โดยไม่คำนึงถึงข้อเท็จจริงที่ว่ามันยังไม่โตพอที่จะรับมือกับทุกสิ่งที่ฉันต้องการ ฉันรัก WebStorm และฉันซาบซึ้งกับงานที่ยอดเยี่ยมที่ JetBrains ทำกับมัน แต่ฉันชอบ Visual Studio 2013 มากกว่านั้น ใช่ ฉันรู้ว่าฉันสามารถเขียนแอป Node.js ใน VS ได้! แต่เมื่อคุณถูกผลักจาก C# เป็น JavaScript, จาก SQL Server ถึง PostgreSQL, จาก IIS ถึง Apache, เหตุใดจึงต้องกังวลกับการใช้พีซีที่ใช้ Windows

ฉันเป็นผู้เผยแพร่ศาสนาของ Microsoft อย่างแท้จริง แม้กระทั่งก่อนที่ .NET จะออกมา และแน่นอนว่าก่อนที่ .NET จะเป็นโอเพ่นซอร์สและข้ามแพลตฟอร์ม แต่ทั้งหมดนั้นเสียชีวิตเมื่อพวกเขาเอา (นิ้ว) ไปจากเราบน Skype ฉันชอบสร้างแอปพลิเคชันสำหรับแพลตฟอร์ม Windows มาโดยตลอด ฉันใช้เวลามากในการเรียนรู้เคล็ดลับและกลเม็ดของการค้าขาย และฉันเชื่อว่าฉันทำได้ดีมาก อย่างไรก็ตาม ตลาดการพัฒนาซอฟต์แวร์เปลี่ยนแปลงไปอย่างมากในทศวรรษที่ผ่านมา สตาร์ทอัพกำลังเบ่งบานทุกที่และลูกค้าใหม่ทุกรายกำลังมองหาโซลูชันที่คุ้มค่าที่สุด Microsoft ล้มเหลวในการติดตามตลาดใหม่นี้ และฉันเป็นเพียงหนึ่งในนักพัฒนาของ Microsoft หลายคนที่เปลี่ยนแล็ปท็อป Windows ของเขาด้วย MacBook ในที่สุด Microsoft ก็ตระหนักว่าการให้ทางเลือกแก่เราในการปรับใช้แอปพลิเคชันของเรากับแพลตฟอร์มโอเพ่นซอร์สจะทำให้ชุมชนการพัฒนา Microsoft ขนาดใหญ่ใช้เครื่องมือของตน และในที่สุดก็นำลูกค้ามาสู่พวกเขาด้วย

Microsoft ได้ก้าวเล็กๆ ไปสู่การเปลี่ยนแปลงครั้งใหญ่ พวกเขามีเครื่องมือการพัฒนาที่ดีที่สุดและชุมชนการพัฒนาที่ยอดเยี่ยม จะเกิดอะไรขึ้นหากเราได้รับระบบปฏิบัติการโอเพ่นซอร์สบน IDE ที่ยอดเยี่ยม “ผมไม่กล้าคำนวณโอกาสด้วยซ้ำ”