JavaRush /จาวาบล็อก /Random-TH /แนวโน้ม Java ปี 2021: Kotlin, สถาปัตยกรรมไมโครเซอร์วิส แล...

แนวโน้ม Java ปี 2021: Kotlin, สถาปัตยกรรมไมโครเซอร์วิส และ Kubernetes

เผยแพร่ในกลุ่ม
โลกแห่งการพัฒนามีการเปลี่ยนแปลงอย่างรวดเร็ว เพื่อตามทันการเปลี่ยนแปลง คุณต้องเข้าใจสิ่งที่เกิดขึ้นในโลกนี้ การทราบแนวโน้มช่วยให้คุณสามารถปรับตัวตามแนวโน้มที่เปลี่ยนแปลงอย่างรวดเร็ว ปัญญาประดิษฐ์ การเพิ่มจำนวนการบูรณาการ และอินเทอร์เน็ตในทุกสิ่ง เป็นเพียงส่วนหนึ่งของแนวโน้มการเขียนโปรแกรมทั่วโลก JavaRush ถามผู้เชี่ยวชาญด้านการเขียนโปรแกรม Java และผู้บรรยาย Andrey Rodionov จะเกิดอะไรขึ้นกับ Java ในปี 2021แนวโน้ม Java ในปี 2021: Kotlin สถาปัตยกรรมไมโครเซอร์วิส และ Kubernetes - 1

Java ยังคงเป็นทางออกเดียวในด้านใด

Java ในอนาคตอันใกล้นี้จะยังคงเป็นหนึ่งในแพลตฟอร์มหลักสำหรับการพัฒนาแอปพลิเคชันระดับองค์กร ( นั่นคือแอปพลิเคชันขององค์กรที่บริษัทขนาดใหญ่ใช้เพื่อสร้างรายได้ แอปพลิเคชันดังกล่าวมีฐานโค้ดขนาดใหญ่และข้อกำหนดความน่าเชื่อถือสูง - ed. ) และแบ็กเอนด์ Java เข้ากันได้ดีกับสถาปัตยกรรมไมโครเซอร์วิส แม้ว่าจะไม่ใช่ทางเลือกเดียวในการเขียนไมโครเซอร์วิสก็ตาม

อะไรคือโอกาสสำหรับภาษา JVM อื่น ๆ โดยเฉพาะ Kotlin เมื่อเปรียบเทียบกับ Java?

หลังจากที่ภาษา Groovy และ Scala ได้รับความนิยมอย่างมาก ปัจจุบันKotlinก็กลายเป็นภาษา JVM ชั้นนำ มันได้กลายเป็นมาตรฐานสำหรับการพัฒนา Android แล้ว แต่ในโลกขององค์กร Java มันยังไม่ชนะตำแหน่ง เฟรมเวิร์กยอดนิยมหลายตัว ( Spring , Vert.x , gRPC , RSocket ) ก็พึ่งพาเฟรมเวิร์กนี้เช่นกัน ทำให้สามารถใช้งานได้ภายในตัวมันเอง

Kotlin เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่พิมพ์คงที่ซึ่งทำงานบน Java Virtual Machine และได้รับการพัฒนาโดย JetBrains นอกจากนี้ยังคอมไพล์เป็น JavaScript และโค้ดที่ปฏิบัติการได้บนแพลตฟอร์มจำนวนหนึ่งผ่านโครงสร้างพื้นฐาน LLVM

คุณสมบัติ Kotlin: คอมไพล์เป็น JVM bytecode หรือ JavaScript, โอเพ่นซอร์ส, ไวยากรณ์ที่อ่านง่าย, โปรแกรม Kotlin สามารถใช้เฟรมเวิร์กและไลบรารี Java ที่มีอยู่ได้

คุณภาพของ Java จะลดลงเนื่องจากช่วงเวลาการเผยแพร่สั้นลงหรือไม่?

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

Spring Framework: จะขยายระบบนิเวศต่อไปเพื่อตอบสนองความต้องการที่หลากหลายหรือไม่?

ระบบนิเวศของ Spring ยังคงพัฒนาอย่างต่อเนื่อง และฉันก็ค้นพบโครงการย่อยอื่นเป็นระยะๆ ซึ่งฉันไม่เคยได้ยินมาก่อน เป็นที่น่าสังเกตว่า Project Reactor และ r2dbc ซึ่งกลายเป็นโครงการย่อยของ Spring สามารถกล่าวได้ว่ากลายเป็นมาตรฐานสำหรับแนวทางเชิงโต้ตอบแล้ว

Project Reactor เป็นไลบรารี Java 8 ที่ใช้โมเดลการเขียนโปรแกรมแบบโต้ตอบ สร้างขึ้นจากข้อกำหนด Reactive Streams ซึ่งเป็นมาตรฐานสำหรับการสร้างแอปพลิเคชันแบบโต้ตอบ

R2DBC (การเชื่อมต่อฐานข้อมูลเชิงสัมพันธ์เชิงโต้ตอบ) เป็นโปรเจ็กต์โอเพ่นซอร์สสำหรับการเขียนโปรแกรมเชิงโต้ตอบสำหรับ SQL โดยเฉพาะ

แนวโน้มในการพัฒนาโครงสร้างพื้นฐานคลาวด์ IaaS, SaaS, PaaS คืออะไร? ระบบคลาวด์ทำให้โครงสร้างพื้นฐานง่ายขึ้นในการพัฒนา ปรับใช้ บำรุงรักษา และปรับขนาดได้อย่างไร

แนวโน้มหลักที่นี่ยังคงเป็น Kubernetes และโครงสร้างพื้นฐานที่อยู่รอบๆ ในรูปแบบของ Service mesh ผู้ให้บริการคลาวด์ที่เคารพตนเองทุกรายมอบโอกาสในการใช้คลัสเตอร์ Kubernetes และหากแอปพลิเคชันเขียนขึ้นเพื่อให้ทำงานบน Kubernetes ก็จะทำให้ปรับใช้และปรับขนาดได้ง่ายขึ้นมาก

Kubernetes (K8s) เป็นซอฟต์แวร์โอเพ่นซอร์สสำหรับการปรับใช้ การปรับขนาด และการจัดการแอปพลิเคชันในคอนเทนเนอร์โดยอัตโนมัติ

Kubernetes จัดกลุ่มคอนเทนเนอร์ที่ประกอบเป็นแอปพลิเคชันออกเป็นหน่วยลอจิคัลเพื่อการจัดการและการค้นพบที่ง่ายขึ้น

Kubernetes จัดการและเรียกใช้คอนเทนเนอร์ผ่านโฮสต์จำนวนมาก และเปิดใช้งานการวางตำแหน่งร่วมและการจำลองคอนเทนเนอร์จำนวนมาก โปรเจ็กต์นี้เริ่มต้นโดย Google และตอนนี้ได้รับการสนับสนุนจากบริษัทหลายแห่ง รวมถึง Microsoft, RedHat, IBM และ Docker

แนวโน้มการพัฒนาอื่นใดที่ควรค่าแก่การให้ความสนใจในปี 2564?

หนึ่งในแนวโน้มที่น่าสนใจที่ยังคงเพิ่มขึ้นคือ GraalVM Native Image ซึ่งช่วยให้คุณสามารถเปลี่ยนแอปพลิเคชัน Java แบบดั้งเดิมให้เป็นไบนารี่ที่ไม่ต้องใช้ JVM และไลบรารีที่เกี่ยวข้องในการทำงาน ไฟล์ไบนารีดังกล่าวเข้ากันได้เป็นอย่างดีกับสถาปัตยกรรมไมโครเซอร์วิสและแนวทางแบบไร้เซิร์ฟเวอร์ เนื่องจากช่วยให้คุณสามารถเริ่มต้นอินสแตนซ์ใหม่ของแอปพลิเคชันได้อย่างรวดเร็ว และไม่จำเป็นต้อง "อุ่นเครื่อง" JVM

ข้อกำหนดสำหรับนักพัฒนารุ่นเยาว์มีการเปลี่ยนแปลงเมื่อเร็ว ๆ นี้เนื่องจากการพัฒนา Java หรือไม่?

โปรเจ็กต์ส่วนใหญ่ยังคงมีนวัตกรรม Java 8 แม้ว่านักพัฒนาจะใช้ Java เวอร์ชันใหม่กว่าก็ตาม ดังนั้นข้อกำหนดหลักคือ ความ รู้เกี่ยวกับ Stream API และองค์ประกอบการเขียนโปรแกรมเชิงฟังก์ชัน นอกจากนี้ยังเป็นการดีที่จะมีความเข้าใจเกี่ยวกับสถาปัตยกรรมไมโครเซอร์วิสนักเทียบท่าและKubernetesเนื่องจากในโครงการสมัยใหม่นักพัฒนามือใหม่จะต้องจัดการกับสิ่งนี้ทันที

Stream API เป็นวิธีใหม่ในการทำงานกับโครงสร้างข้อมูลในรูปแบบการทำงาน Stream API (คำอธิบายวิธีที่โปรแกรมคอมพิวเตอร์ตัวหนึ่งสามารถสื่อสารกับโปรแกรมอื่น) ถือเป็นกระแสข้อมูลหลัก

ด้วยการถือกำเนิดของ Java 8 ทำให้ Stream API ช่วยให้โปรแกรมเมอร์สามารถเขียนสิ่งที่ก่อนหน้านี้ใช้โค้ดหลายบรรทัดได้สั้นมากขึ้น กล่าวคือ เพื่อทำให้การทำงานกับชุดข้อมูลง่ายขึ้น โดยเฉพาะเพื่อลดความซับซ้อนในการกรอง การเรียงลำดับ และการดำเนินการจัดการข้อมูลอื่นๆ หากคุณไม่มีการดำเนินการระหว่างกลาง คุณสามารถและควรทำโดยไม่มีสตรีมบ่อยครั้ง ไม่เช่นนั้นโค้ดจะซับซ้อนกว่าไม่มีสตรีม

Docker เป็นซอฟต์แวร์สำหรับการปรับใช้และการจัดการแอปพลิเคชันในสภาพแวดล้อมแบบคอนเทนเนอร์โดยอัตโนมัติ

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION