กูเกิลสร้างแอพ Inbox ข้ามแพลตฟอร์ม โดยแปลงโค้ด Java เป็น Objective-C, JavaScript

by mk
24 November 2014 - 12:17

กูเกิลอธิบายเบื้องหลังการสร้างแอพอีเมลแนวใหม่ Inbox ที่ทำงานได้บน 3 แพลตฟอร์มหลักคือ iOS, Android และเว็บ โดยโจทย์ของกูเกิลคือต้องการสร้างประสบการณ์ใช้งานที่ดีและมีประสิทธิภาพที่ยอดเยี่ยม แต่ก็ต้องการให้โค้ดเรียบง่าย ไม่ต้องดูแลหลายเวอร์ชัน

คำตอบของกูเกิลคือเขียนส่วน frontend ของแต่ละแพลตฟอร์มแยกจากกัน ใช้ภาษาและเครื่องมือแบบเนทีฟ โดยเวอร์ชัน Android เป็น Java, เวอร์ชันเว็บเป็น JavaScript+CSS, เวอร์ชัน iOS เป็น Objective-C

ส่วนโค้ดที่ทำงานอยู่ด้านหลังหรือ backend กูเกิลใช้วิธีแยกส่วนการจัดการข้อมูลของแอพ (ตัว M ในแนวคิด MVC) โดยเขียนโค้ดส่วนนี้ด้วย Java บน Android ก่อนแล้วใช้วิธีแปลงโค้ด

  • แปลงจาก Java เป็น JavaScript สำหรับเว็บด้วย GWT เครื่องมือแปลงโค้ดของกูเกิลที่ออกมานานแล้ว
  • แปลงจาก Java เป็น Objective-C สำหรับ iOS ด้วย J2ObjC เครื่องมือแปลงโค้ดตัวใหม่ของกูเกิล

เมื่อแปลงโค้ดส่วน M เสร็จแล้ว กูเกิลค่อยนำไปเชื่อมต่อกับโค้ดส่วนของ UI ของแต่ละแพลตฟอร์มต่อไป

กูเกิลบอกว่าแนวทางนี้ช่วยให้สร้างแอพที่ทำงานข้ามแพลตฟอร์มด้วยฐานโค้ดชุดเดียวกัน แต่ยังรักษา UI และประสิทธิภาพของแอพบนแต่ละแพลตฟอร์มเอาไว้ได้ ปัจจุบันแอพ Inbox มีโค้ดประมาณ 2/3 ที่แชร์ข้ามแพลตฟอร์มกัน

ที่มา - Gmail Blog, Ars Technica

Blognone Jobs Premium