Meta รายงานถึงความคืบหน้าในการย้ายโค้ด Android จาก Java ไปเป็น Kotlin หลังจากเปลี่ยนแนวทางมาใช้ Kotlin เป็นหลักตั้งแต่ปี 2020 แต่ก็ยังมีโค้ด Java จำนวนมาก แต่ในช่วงหลังก็สามารถเร่งความเร็วในการแปลงโค้ดได้จากการทำงานร่วมกับ JetBrains ผู้สร้าง IntelliJ
ก่อนหน้านี้ Meta แปลง Java เป็น Kotlin โดยอาศัยฟีเจอร์แปลงโค้ดของ IntelliJ เป็นหลัก การแปลงแต่ละครั้งอาศัยนักพัฒนาคลิก IDE ทีละไฟล์เอง กระบวนการนี้ทำให้การแปลงโค้ดช้ามาก ทาง Meta เข้าไปช่วย IntelliJ พัฒนา J2K ที่เป็นเอนจินแปลงโค้ดภายใน IntelliJ ให้สามารถรันได้โดยไม่ต้องการ IntelliJ
หลังจากนั้น Meta พัฒนาเครื่องมือภายใน ชื่อว่า Kotlinator ที่ใช้ J2K เป็นแกน แต่มีฟีเจอร์ต่างๆ เพิ่มเติม
- Deep Build: แปลงโค้ดโดยคำนึงถึง IDE ว่าต้องการ symbol ใดในโค้ดบ้าง โดยเฉพาะไลบรารีภายนอก
- Preprocessing: แปลงโค้ดหรือตรวจสอบก่อนรัน J2K รวมมีการแปลงต่างๆ 50 ขั้นตอน
- J2K รุ่น Headless: ไม่ต้องรันบน IntelliJ
- Postprocessing: แปลงโค้ดตามเงื่อนไขต่างๆ อีก 150 ขั้นตอน
- Linter: ตรวจสอบและแก้ไขโค้ดด้วย lint ก่อนใช้งานโค้ด
- ตรวจสอบและแก้ไขการ build: บางครั้งโค้ดที่แปลงออกมา build ไม่ผ่าน ก็ต้องแก้ไขเพิ่มเติม เช่น impoer ไม่ครบ
ปัญหาก้อนใหญ่ในการแปลงโค้ดเป็น Kotlin คือปัญหา Null Pointer Exeption (NPE) ทำให้แปลงโค้ดได้ยาก ทาง Meta ต้องพัฒนาปลั๊กอินสำหรับคอมไพล์เลอร์ Java เพื่อเก็บข้อมูลว่าตัวแปรใดอาจจะเป็น null ได้บ้าง
ที่มา - Meta

on
นึกว่าใช้ React Native
modernelf Mon, 23/12/2024 - 09:51
นึกว่าใช้ React Native
นั้นละสิ 55555
Xcboy Mon, 23/12/2024 - 10:03
In reply to นึกว่าใช้ React Native by modernelf
นั้นละสิ 55555
คิดเหมือนกัน 55
Fzo Mon, 23/12/2024 - 12:59
In reply to นึกว่าใช้ React Native by modernelf
คิดเหมือนกัน 55
เท่าที่ได้ยินมา
Akexorcist Mon, 23/12/2024 - 14:41
In reply to นึกว่าใช้ React Native by modernelf
เท่าที่ได้ยินมา ใช้อยู่แค่ไม่กี่หน้าและไม่ใช่หน้าหลักของแอปครับ แต่ส่วนใหญ่ก็ native android เป็นหลัก
หมายความว่า สุดท้ายแล้ว
Xcboy Tue, 24/12/2024 - 09:22
In reply to เท่าที่ได้ยินมา by Akexorcist
หมายความว่า สุดท้ายแล้ว หากแอปไหนมีผู้ใช้งานจำนวนมาก ก็จำเป็นต้องพัฒนาแบบ Native อยู่ดีสิครับนี้
เช่น impoer ไม่ครบ
Azymik Mon, 23/12/2024 - 10:48
import รึเปล่าครับ
Exeption Exep -> Excep
hisoft Tue, 24/12/2024 - 14:54
In reply to เช่น impoer ไม่ครบ by Azymik
Exep -> Excep
Exeption Exep -> Excep
hisoft Tue, 24/12/2024 - 14:54
ไม่รู้เพราะอะไรพวกนี้หรือความดื้อหรือความไม่ใส่ใจ แต่แอป Facebook, Messenger, Instagram นี่คือปัญหาการใช้งานท่วมไปหมด (แม้ IG จะน้อยกว่าอีกสองตัวมาก) คือบั๊กมันเยอะและหนักไปทั่ว กดลิงก์ไม่ไป วิดีโอเลื่อนไม่ได้ บางโพสต์ไม่สามารถกดดูคอมเมนต์ได้และอื่นๆ หรือกดลิงก์โพสต์จากแอปอื่นมาบางทีก็เปิดไม่ได้ซะงั้น
อันนี้จริงงง ผมก็เจอ
Xcboy Wed, 25/12/2024 - 09:36
In reply to Exeption Exep -> Excep by hisoft
อันนี้จริงงง ผมก็เจอ
สงสัยอยู่เนี่ยว่า พนักงานเงินเดือนเค้าได้มากกว่าเรารายปีอีก, ยังแก้บั๊กไม่จบเหรอออออ