Kotlin vs Java: Kotlin จะแทนที่ Java หรือไม่
เผยแพร่แล้ว: 2021-10-05บทความมีวัตถุประสงค์เพื่ออธิบายความงามหลักทั้งหมดของสองภาษาสำหรับการพัฒนามือถือ Android - Kotlin และ Java ตามลำดับ
บทความนี้มีขึ้นในวันที่ 10 มีนาคม 2017 และในขณะนั้น Kotlin ยังไม่กลายเป็นภาษาทางการของ Google
เมื่อคุณเลือกนักพัฒนาซอฟต์แวร์ให้ทำงานกับแอปพลิเคชัน Android แบบกำหนดเอง เทคโนโลยีบางอย่างที่พวกเขาใช้มีความสำคัญสำหรับคุณ ภาษาที่ใช้บ่อยที่สุดสองภาษาสำหรับ Google ตอนนี้คือ Java และ Kotlin (แม้ว่าจะยังขาดการสนับสนุนอย่างเป็นทางการจาก Google) ดังนั้น สำหรับคุณแล้ว ในตอนแรกอาจดูเหมือนเป็นเรื่องสำคัญเล็กน้อยว่าทีมของคุณเขียนโค้ดเกี่ยวกับอะไร การพิจารณาเพิ่มเติมแสดงให้เห็นว่าภาษาโปรแกรมอาจลดเวลาและค่าใช้จ่ายบางส่วนของคุณ
อ่านเพิ่มเติม: เหตุผลการปฏิเสธของ Google Play
ข้อเท็จจริงที่น่าสนใจ: Kotlin ได้รับการตั้งชื่อตามเกาะ (เกาะ Kotlin ซึ่งตั้งอยู่ใกล้กับเมือง Saint-Petersburg); ภาษาการเขียนโปรแกรมที่ค่อนข้างใหม่นี้ของ Kotlin ค่อยๆ กลายเป็นกำลังมหาศาลและมีศักยภาพมหาศาลสำหรับแอป Android ในอนาคตที่จะนำไปใช้ในการพัฒนา
พบกับเทคนิค 6 แต่จริงๆ 1 ปี Kotlin
เดิมทีในปี 2011 เป็นเวอร์ชั่นเปิดตัว Kotlin ปรากฏตัวครั้งแรกเป็นภาษาใหม่สำหรับ Java Virtual Machine จากทีมโปรแกรมเมอร์ของ Saint-Peterburg ชื่อ Jet Brains เหตุผลที่พวกเขาตัดสินใจสร้าง "วงล้อหมุน" ใหม่สำหรับการพัฒนา Android นั้นค่อนข้างเข้าใจได้ง่าย เห็นได้ชัดว่ามีบางส่วน:
Java มีมา 22 ปีแล้ว (ค่อนข้างจะเป็นคำศัพท์สำหรับภาษาโปรแกรม) ซึ่งเป็นสาเหตุว่าทำไมจึงมีคุณสมบัติมากมายที่ไม่สามารถใช้งานได้เนื่องจาก Java มีขนาดใหญ่และล้าสมัย
Java ต้องใช้รหัสแบบยาวเพื่อเขียน
โค้ดที่เขียนบน Java ใช้เวลาในการคอมไพล์ค่อนข้างนาน
อย่างไรก็ตาม ทีมพัฒนา Kotlin พูดอย่างสุภาพและเห็นด้วยว่าภาษาจำนวนมากไม่ได้ผสมผสานคุณสมบัติที่วิศวกรทั่วโลกต้องการ ยกเว้น Scala; แม้ว่าในขณะที่ Dmitry Jeremov หัวหน้าฝ่ายเทคนิคของบริษัท Jet Brains ชี้ให้เห็น เวลาในการรวบรวมของ Scala นั้นช้าและไม่เพียงพอสำหรับความเร็วที่บริการไอทีร่วมสมัยจะก้าวไปด้วย
ในที่สุด เดือนกุมภาพันธ์ของปีที่แล้วเป็นเดือนพิเศษสำหรับบริษัท JB ทั้งหมด - เนื่องจาก Kotlin 1.0 เวอร์ชันแรกได้เห็นโลกอย่างเป็นทางการในการเปิดตัวที่เสถียร
นับตั้งแต่นั้นเป็นต้นมา Jet Brains ในบล็อกอย่างเป็นทางการของพวกเขาได้แนะนำให้เราคอยติดตามและสัญญาว่าจะอัปเดต 1.1 Kotlin ใหม่ โดยมุ่งเน้นที่การแก้ไขข้อผิดพลาดและการสนับสนุน Java Script ที่จะเปิดตัวเร็วๆ นี้ ในช่วงเวลาที่บทความนี้เผยแพร่ (10 มีนาคม 2017) เวอร์ชัน 1.1 Kotlin ได้รับการเผยแพร่เมื่อสัปดาห์ที่แล้ว แต่โลกกำลังพูดถึงเรื่องนี้อยู่แล้ว ดังนั้นหากคุณทำการเปรียบเทียบ Kotlin กับ Java จะมีความแตกต่างที่สำคัญหรือไม่
ไม่ใช่การประดิษฐ์ล้อใหม่
เมื่อพิจารณาถึงความแตกต่างของ Kotlin กับ Java มี Kotlin อยู่เหนือข้อดีของ Java ที่อาจมีผลที่ต้องการสำหรับผู้ที่ต้องการพัฒนาแอป Android
ดังนั้นเรามาเริ่มกันที่จุดเริ่มต้นกันดีกว่า
เหตุผลในการใช้ Kotlin:
1) Kotlin ใช้โค้ดน้อยกว่าในการเขียน
น้อยกว่าอย่างน้อย 20% ดังที่ได้กล่าวไว้ก่อนหน้านี้ Java อายุ 22 ปีค่อนข้างล้าสมัยไปแล้ว + Oracle สร้าง Java ให้เป็นภาษาที่ใช้งานร่วมกันได้แบบย้อนหลัง ซึ่งโดยพื้นฐานแล้วหมายความว่าทุกเวอร์ชันที่เปิดตัวใหม่ทั้งหมดต้องสนับสนุนคุณลักษณะที่รวมอยู่ในเวอร์ชันก่อนหน้าและด้วยเหตุนี้ ทุกการอัปเดตจะทำให้การรวมคุณสมบัติใหม่ทำได้ยากขึ้น ดังนั้นจำนวนโค้ดที่จะเขียนก็เพิ่มขึ้นเช่นกัน
ในทางตรงกันข้าม สถาปัตยกรรมของ Kotlin ถูกสร้างขึ้นตั้งแต่เริ่มต้น ทำให้ไม่มีสถาปัตยกรรมแบบเลเยอร์ต่อเลเยอร์
2) การทับซ้อนเกิดขึ้นกับ Kotlin น้อยลง
Kotlin JVM มีปัญหาน้อยกว่ามากเนื่องจากมักเรียกว่า "ข้อผิดพลาดหนึ่งพันล้านดอลลาร์" - ปัญหาของ NullPointerExeption สามารถป้องกันได้ที่นั่น NullPointer ยังมีอยู่ในทุกภาษาการเขียนโปรแกรม แต่วิธีการทำงานอาจแตกต่างกันไป สำหรับเร็กคอร์ด ใน Java คุณต้องตรวจสอบด้วยตนเองว่าลิงก์นั้นเป็นโมฆะหรือไม่เป็นโมฆะ ถ้าพลาด null - บูม พัง โว้ว! เพื่อประโยชน์ของ Kotlin ทุกอ็อบเจ็กต์จะถูกตั้งค่าเป็น Null โดยอัตโนมัติในภาษานี้ + มีการตรวจสอบ NullPointer แบบอัตโนมัติ - เพื่อให้แน่ใจว่าโค้ดทำงานได้อย่างถูกต้องหากไม่มีมัน
3) Kotlin เป็นภาษาประเภทความปลอดภัย
อีกครั้งใน Kotlin ทุกชั้นเรียนเป็นฟังก์ชันและในทางกลับกัน มากกว่านี้ เช่นเดียวกับ Swift สำหรับ iOS Kotlin สำหรับ Android มีประเภทตัวเลือก ซึ่งช่วยในการตรวจสอบความปลอดภัยทั้งหมด
อ่าน: ข้อดีของการใช้ Siwft เหนือวัตถุประสงค์-C
4) Kotlin ช่วยคุณประหยัดเวลาอันมีค่าของคุณ
ดังที่ได้กล่าวไปแล้ว รหัสที่น้อยลงเกือบจะรับประกันข้อบกพร่องน้อยลง และตามลำดับ เวลาน้อยลงจะถูกติดตามในกระบวนการเขียนโค้ดทั้งหมด และบ่อยครั้งที่ทีมพัฒนาซอฟต์แวร์จะคำนวณต้นทุนรวมของโครงการตามจำนวนชั่วโมงที่นักพัฒนาใช้ในการเขียนโปรแกรม
นี่คือข้อดีบางประการของ Kotlin บน Java แม้ว่า Google ยังไม่สนับสนุน Kotlin อย่างเป็นทางการและใช้เวลามากกว่าสองสามวินาทีในการรวบรวมโค้ดครั้งแรก โดยครอบคลุมประเด็นเหล่านี้ทั้งหมด เป็นที่ชัดเจนว่าภาษาการเขียนโปรแกรมของ Kotlin มีความสวยงามมากมาย และคำนึงถึงความเร็วด้วย รวบรวมโมเมนตัมด้วยความไม่ต้องสงสัยเลยว่า Kotlin-Switch เป็นความคิดที่ฉลาด
อ่านความแตกต่างระหว่างการพัฒนา Android และ iOS
“แล้วถ้าฉันเปลี่ยนล่ะ”
โลกที่เราอาศัยอยู่นั้นค่อนข้างคาดเดาไม่ได้ในหลายๆ ครั้ง และในแง่ของการพัฒนาแอปพลิเคชันบนมือถือ บางครั้งจำเป็นต้องเปลี่ยนทีมที่คุณเคยทำงานด้วย สมมติว่าคุณเคยทำงานกับทีมเอาต์ซอร์ซ แต่ตอนนี้มีคำขอให้พัฒนาโครงการของคุณภายใน การ "แปล" จากภาษาหนึ่งเป็นอีกภาษาหนึ่งจะยากเพียงใด
กลับมาอีกครั้ง คำตอบนั้นขึ้นอยู่กับเทคโนโลยีที่วิศวกรคนก่อนของคุณใช้จริงๆ หากเราใช้การเปลี่ยนจาก Java เป็น Kotlin เป็นตัวอย่าง - แสดงว่ามีวิธีแก้ไขอย่างไม่ต้องสงสัย Jet Brains ได้สร้างตัวแปลง Java-Kotlin ซึ่งช่วยในการแก้ไขปัญหานี้ อย่างไรก็ตาม ข้อผิดพลาดบางอย่างยังเกิดขึ้นระหว่างกระบวนการแปลง ดังนั้นจึงต้องมีการตรวจสอบและการดำเนินการบางอย่างยังต้องตั้งค่าด้วยตนเอง
ในทางกลับกัน การแปลงจาก Java เป็น Kotlin นั้นยังคงนิ่งและเจ็บปวดกว่า เนื่องจากไม่สามารถแปลงฟังก์ชัน วิธีการ และตัวแปรทั้งหมดได้ บางทีการแก้ไขที่เร็วที่สุดสำหรับทีมใหม่ที่คุณร่วมมือด้วยก็คือการเขียน Java ต่อไปถ้าเป็นไปได้
นอกจากนี้ ความเป็นไปได้ของการแปลงเป็นภาษาอื่นจะขึ้นอยู่กับขนาดของโครงการของคุณ โดยทั่วไปมีโครงการ 3 ประเภท: ขนาดเล็ก กลาง และ ใหญ่
โครงการ ขนาดเล็ก ใช้เวลาประมาณ 160-200 ชั่วโมง และหากไม่มีสถาปัตยกรรมที่ซับซ้อน ก็สามารถโอนไปยัง Kotlin ได้
โครงการ ขนาดกลาง ประกอบด้วยการพัฒนานานถึง 5 เดือน และไม่สะดวกในการแปลง
การพัฒนาโครงการ ขนาดใหญ่ เริ่มต้นจากระยะ 5 เดือน และโครงการในหมวดหมู่นี้ไม่สามารถแปลงเป็นภาษาอื่นโดยสิ้นเชิง
โดยรวมแล้ว ตัวเลือกที่ดีที่สุดสำหรับลูกค้าที่ "เปลี่ยน" คือการเริ่มทำงานกับวิศวกรที่ใช้เทคโนโลยี ภาษา และเฟรมเวิร์กแบบเดียวกับที่เจ้าของโครงการก่อนหน้านี้ทำ อย่างไรก็ตาม เมื่อหลีกเลี่ยงการเปลี่ยนแปลงไม่ได้ เราขอแนะนำอย่างยิ่งให้เลือก "พจนานุกรมที่ใหม่กว่า" ตัวอย่างเช่น การเลือก Kotlin บน Java
วิธีที่กระชับในการโค้ดสำหรับ Android อย่างชาญฉลาด
หรืออย่างน้อยก็เพื่อให้อ่านสโลแกนของ Kotlin ไม่ต้องสงสัย Kotlin อาจมีข้อดีและข้อเสีย แต่ฟีเจอร์มากมายก็สามารถทำได้เมื่อ Kotlin เข้ามา และด้วย Kotlin 1.1 เวอร์ชันใหม่ที่เพิ่งเปิดตัว ซึ่งตอนนี้รองรับ Java Script อย่างเป็นทางการแล้ว ฟีเจอร์ที่เหมือนฝันก่อนหน้านี้มากมายสามารถนำมาใช้ได้ตั้งแต่ตอนนี้ และต่อ
ใน Mind Studios เรายังได้ขลุกอยู่กับ Kotlin สำหรับการพัฒนา Android ตั้งแต่เวอร์ชันเสถียรแรกปรากฏขึ้นในที่เกิดเหตุ Mi Band Control (ตัวติดตามกิจกรรมสำหรับ Mi Band Wristband) เป็นแอปพลิเคชั่นที่พัฒนาขึ้นบน Kotlin อย่างสมบูรณ์ ประสบการณ์นี้พิสูจน์ให้เห็นว่า Kotlin เป็นวิธีการเขียนโปรแกรม Android ที่ชาญฉลาดและกระชับยิ่งขึ้นสำหรับ Android โดยนักพัฒนาของเราด้วย ดังนั้น เลือกภาษาสำหรับแอปของคุณอย่างชาญฉลาด แต่อย่าลืมติดตาม!
เขียนโดย Vsevolod Kaganovich และ Elina Bessarabova