กูเกิลอธิบายเบื้องหลังการสร้างแอพอีเมลแนวใหม่ 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
Inbox, Google, Development, Objective-C, GWT, Programming, JavaScript




อ่านต่อ...