กูเกิลอธิบายเบื้องหลังการสร้างแอพอีเมลแนวใหม่ Inbox ที่ทำงานได้บน 3 แพลตฟอร์มหลักคือ iOS, Android และเว็บ โดยโจทย์ของกูเกิลคือต้องการสร้างประสบการณ์ใช้งานที่ดีและมีประสิทธิภาพที่ยอดเยี่ยม แต่ก็ต้องการให้โค้ดเรียบง่าย ไม่ต้องดูแลหลายเวอร์ชัน
คำตอบของกูเกิลคือเขียนส่วน frontend ของแต่ละแพลตฟอร์มแยกจากกัน ใช้ภาษาและเครื่องมือแบบเนทีฟ โดยเวอร์ชัน Android เป็น Java, เวอร์ชันเว็บเป็น JavaScript+CSS, เวอร์ชัน iOS เป็น Objective-C
ส่วนโค้ดที่ทำงานอยู่ด้านหลังหรือ backend กูเกิลใช้วิธีแยกส่วนการจัดการข้อมูลของแอพ (ตัว M ในแนวคิด MVC) โดยเขียนโค้ดส่วนนี้ด้วย Java บน Android ก่อนแล้วใช้วิธีแปลงโค้ด
เมื่อแปลงโค้ดส่วน M เสร็จแล้ว กูเกิลค่อยนำไปเชื่อมต่อกับโค้ดส่วนของ UI ของแต่ละแพลตฟอร์มต่อไป
กูเกิลบอกว่าแนวทางนี้ช่วยให้สร้างแอพที่ทำงานข้ามแพลตฟอร์มด้วยฐานโค้ดชุดเดียวกัน แต่ยังรักษา UI และประสิทธิภาพของแอพบนแต่ละแพลตฟอร์มเอาไว้ได้ ปัจจุบันแอพ Inbox มีโค้ดประมาณ 2/3 ที่แชร์ข้ามแพลตฟอร์มกัน
ที่มา - Gmail Blog, Ars Technica
Comments
ไม่เขียน python แล้วเหรอ google?
กูเกิลก็ใช้ Java มาแต่ไหนแต่ไรแล้วนะครับ
เผลอ ๆ มีเทพ Java เยอะกว่า Oracle อีก (ทั้งบิดามารดา Java ก็เคยอยู่ Google กันมาหมดแล้ว 555)
แหมลุง -
Google Favor Python over Java เสมอ อวยมากด้วย ต้องลองดูพวกวิดีโอ Training ของพวก cloud (ไม่ public) แล้วลุงจะรู้ว่า google engineer ชอบกัด java มาก หาว่ายาวกว่าบ้าง อะไรบ้าง
ตบท้ายด้วย จริงๆ เค้าก็ชอบเขียน java นะ
(ps ผม pure Java EE ครับ)
ผมเดาเล่น ๆ ว่า คน Google ไม่ชอบ Java EE 555
แต่ตัว Search Engine นี่เข้าใจว่าเป็น Java มาตั้งแต่ต้น แถม Eric Schmidt (อดีต CEO) ก็เคยทำงานกับทีม Java ที่ Oracle มาก่อน
ผมก็ไม่ชอบ ระบบอะไรก็ไม่รู้ จะดีพลอยทีต้องก่อสงคราม (war) กันเลยทีเดียว
/me เผ่น
เท่าที่ทราบเว็บดังๆที่ใช้ GWT มี AdWords, Apple iAds, Amazon AWS
ได้ข่าวว่า Google Calendar กับ Google Sheet ก็ปรับมาใช้แนวเดียวกับ Inbox
มันดีไหมครับดีกว่าดู mail ปกติยังไงเคยโหลดมาลองแล้วแต่ใช้ไม่ได้เหมือนจะต้องใช้ invite ด้วย
เห็นเขาว่า อารมณ์เหมือน social network ที่ทำตัวเป็น email client ครับ
มันเลือกให้ว่าอีเมลไหนจะเด้งเตือนเรารึเปล่าครับ แล้วดาษจะแบ่งแคตาลอคของอีเมลให้ แต่ก็ยังเห็นครบทุกเมลนะ
iOS ไม่เป็น Swift หรอ
@mamuang
ภาษายังไม่เสถียรดีมั้งครับ
เพราะเขียนแบบนี้เลยใช้บน Firefox ไม่ได้?
pittaya.com
บอกได้เลยว่า GWT เทพมาก