Tags:
Node Thumbnail

Meta รายงานถึงความคืบหน้าในการย้ายโค้ด Android จาก Java ไปเป็น Kotlin หลังจากเปลี่ยนแนวทางมาใช้ Kotlin เป็นหลักตั้งแต่ปี 2020 แต่ก็ยังมีโค้ด Java จำนวนมาก แต่ในช่วงหลังก็สามารถเร่งความเร็วในการแปลงโค้ดได้จากการทำงานร่วมกับ JetBrains ผู้สร้าง IntelliJ

ก่อนหน้านี้ Meta แปลง Java เป็น Kotlin โดยอาศัยฟีเจอร์แปลงโค้ดของ IntelliJ เป็นหลัก การแปลงแต่ละครั้งอาศัยนักพัฒนาคลิก IDE ทีละไฟล์เอง กระบวนการนี้ทำให้การแปลงโค้ดช้ามาก ทาง Meta เข้าไปช่วย IntelliJ พัฒนา J2K ที่เป็นเอนจินแปลงโค้ดภายใน IntelliJ ให้สามารถรันได้โดยไม่ต้องการ IntelliJ

หลังจากนั้น Meta พัฒนาเครื่องมือภายใน ชื่อว่า Kotlinator ที่ใช้ J2K เป็นแกน แต่มีฟีเจอร์ต่างๆ เพิ่มเติม

  1. Deep Build: แปลงโค้ดโดยคำนึงถึง IDE ว่าต้องการ symbol ใดในโค้ดบ้าง โดยเฉพาะไลบรารีภายนอก
  2. Preprocessing: แปลงโค้ดหรือตรวจสอบก่อนรัน J2K รวมมีการแปลงต่างๆ 50 ขั้นตอน
  3. J2K รุ่น Headless: ไม่ต้องรันบน IntelliJ
  4. Postprocessing: แปลงโค้ดตามเงื่อนไขต่างๆ อีก 150 ขั้นตอน
  5. Linter: ตรวจสอบและแก้ไขโค้ดด้วย lint ก่อนใช้งานโค้ด
  6. ตรวจสอบและแก้ไขการ build: บางครั้งโค้ดที่แปลงออกมา build ไม่ผ่าน ก็ต้องแก้ไขเพิ่มเติม เช่น impoer ไม่ครบ

ปัญหาก้อนใหญ่ในการแปลงโค้ดเป็น Kotlin คือปัญหา Null Pointer Exeption (NPE) ทำให้แปลงโค้ดได้ยาก ทาง Meta ต้องพัฒนาปลั๊กอินสำหรับคอมไพล์เลอร์ Java เพื่อเก็บข้อมูลว่าตัวแปรใดอาจจะเป็น null ได้บ้าง

ที่มา - Meta

Get latest news from Blognone

Comments

By: modernelf on 23 December 2024 - 09:51 #1329405

นึกว่าใช้ React Native

By: Xcboy
SymbianWindowsIn Love
on 23 December 2024 - 10:03 #1329406 Reply to:1329405

นั้นละสิ 55555

By: Fzo
ContributorAndroid
on 23 December 2024 - 12:59 #1329435 Reply to:1329405
Fzo's picture

คิดเหมือนกัน 55


WE ARE THE 99%

By: Akexorcist
AndroidWindows
on 23 December 2024 - 14:41 #1329449 Reply to:1329405
Akexorcist's picture

เท่าที่ได้ยินมา ใช้อยู่แค่ไม่กี่หน้าและไม่ใช่หน้าหลักของแอปครับ แต่ส่วนใหญ่ก็ native android เป็นหลัก

By: Xcboy
SymbianWindowsIn Love
on 24 December 2024 - 09:22 #1329497 Reply to:1329449

หมายความว่า สุดท้ายแล้ว หากแอปไหนมีผู้ใช้งานจำนวนมาก ก็จำเป็นต้องพัฒนาแบบ Native อยู่ดีสิครับนี้

By: Azymik on 23 December 2024 - 10:48 #1329415

เช่น impoer ไม่ครบ

import รึเปล่าครับ

By: hisoft
ContributorWindows PhoneWindows
on 24 December 2024 - 14:54 #1329519 Reply to:1329415
hisoft's picture

Exeption

Exep -> Excep

By: hisoft
ContributorWindows PhoneWindows
on 24 December 2024 - 14:54 #1329518
hisoft's picture

ไม่รู้เพราะอะไรพวกนี้หรือความดื้อหรือความไม่ใส่ใจ แต่แอป Facebook, Messenger, Instagram นี่คือปัญหาการใช้งานท่วมไปหมด (แม้ IG จะน้อยกว่าอีกสองตัวมาก) คือบั๊กมันเยอะและหนักไปทั่ว กดลิงก์ไม่ไป วิดีโอเลื่อนไม่ได้ บางโพสต์ไม่สามารถกดดูคอมเมนต์ได้และอื่นๆ หรือกดลิงก์โพสต์จากแอปอื่นมาบางทีก็เปิดไม่ได้ซะงั้น

By: Xcboy
SymbianWindowsIn Love
on 25 December 2024 - 09:36 #1329552 Reply to:1329518

อันนี้จริงงง ผมก็เจอ
สงสัยอยู่เนี่ยว่า พนักงานเงินเดือนเค้าได้มากกว่าเรารายปีอีก, ยังแก้บั๊กไม่จบเหรอออออ