กูเกิลอธิบายเบื้องหลังการสร้างแอพอีเมลแนวใหม่ 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
ไม่เขียน python แล้วเหรอ
cmmadnat Mon, 11/24/2014 - 19:32
ไม่เขียน python แล้วเหรอ google?
กูเกิลก็ใช้ Java
nat3738 Mon, 11/24/2014 - 20:09
In reply to ไม่เขียน python แล้วเหรอ by cmmadnat
กูเกิลก็ใช้ Java มาแต่ไหนแต่ไรแล้วนะครับ
เผลอ ๆ มีเทพ Java เยอะกว่า
mr_tawan Mon, 11/24/2014 - 20:26
In reply to กูเกิลก็ใช้ Java by nat3738
เผลอ ๆ มีเทพ Java เยอะกว่า Oracle อีก (ทั้งบิดามารดา Java ก็เคยอยู่ Google กันมาหมดแล้ว 555)
แหมลุง - Google Favor Python
cmmadnat Mon, 11/24/2014 - 20:26
In reply to กูเกิลก็ใช้ Java by nat3738
แหมลุง -
Google Favor Python over Java เสมอ อวยมากด้วย ต้องลองดูพวกวิดีโอ Training ของพวก cloud (ไม่ public) แล้วลุงจะรู้ว่า google engineer ชอบกัด java มาก หาว่ายาวกว่าบ้าง อะไรบ้าง
ตบท้ายด้วย จริงๆ เค้าก็ชอบเขียน java นะ
(ps ผม pure Java EE ครับ)
ผมเดาเล่น ๆ ว่า คน Google
mr_tawan Mon, 11/24/2014 - 20:28
In reply to แหมลุง - Google Favor Python by cmmadnat
ผมเดาเล่น ๆ ว่า คน Google ไม่ชอบ Java EE 555
แต่ตัว Search Engine นี่เข้าใจว่าเป็น Java มาตั้งแต่ต้น แถม Eric Schmidt (อดีต CEO) ก็เคยทำงานกับทีม Java ที่ Oracle มาก่อน
ผมก็ไม่ชอบ ระบบอะไรก็ไม่รู้
nat3738 Mon, 11/24/2014 - 20:33
In reply to ผมเดาเล่น ๆ ว่า คน Google by mr_tawan
ผมก็ไม่ชอบ ระบบอะไรก็ไม่รู้ จะดีพลอยทีต้องก่อสงคราม (war) กันเลยทีเดียว
/me เผ่น
เท่าที่ทราบเว็บดังๆที่ใช้ GWT
gudgee Mon, 11/24/2014 - 20:16
เท่าที่ทราบเว็บดังๆที่ใช้ GWT มี AdWords, Apple iAds, Amazon AWS
ได้ข่าวว่า Google Calendar กับ Google Sheet ก็ปรับมาใช้แนวเดียวกับ Inbox
มันดีไหมครับดีกว่าดู mail
gamegolf Mon, 11/24/2014 - 20:30
มันดีไหมครับดีกว่าดู mail ปกติยังไงเคยโหลดมาลองแล้วแต่ใช้ไม่ได้เหมือนจะต้องใช้ invite ด้วย
เห็นเขาว่า อารมณ์เหมือน
mr_tawan Mon, 11/24/2014 - 21:03
In reply to มันดีไหมครับดีกว่าดู mail by gamegolf
เห็นเขาว่า อารมณ์เหมือน social network ที่ทำตัวเป็น email client ครับ
มันเลือกให้ว่าอีเมลไหนจะเด้งเ
mrmamon Mon, 11/24/2014 - 22:18
In reply to เห็นเขาว่า อารมณ์เหมือน by mr_tawan
มันเลือกให้ว่าอีเมลไหนจะเด้งเตือนเรารึเปล่าครับ แล้วดาษจะแบ่งแคตาลอคของอีเมลให้ แต่ก็ยังเห็นครบทุกเมลนะ
iOS ไม่เป็น Swift หรอ
Golffy Mon, 11/24/2014 - 20:35
iOS ไม่เป็น Swift หรอ
ภาษายังไม่เสถียรดีมั้งครับ
landoflaf Tue, 11/25/2014 - 18:50
In reply to iOS ไม่เป็น Swift หรอ by Golffy
ภาษายังไม่เสถียรดีมั้งครับ
เพราะเขียนแบบนี้เลยใช้บน
pittaya Mon, 11/24/2014 - 22:32
เพราะเขียนแบบนี้เลยใช้บน Firefox ไม่ได้?
บอกได้เลยว่า GWT เทพมาก
chatchai Mon, 11/24/2014 - 22:42
บอกได้เลยว่า GWT เทพมาก