Tags:
Node Thumbnail

กูเกิลอธิบายเบื้องหลังการสร้างแอพอีเมลแนวใหม่ 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

Get latest news from Blognone

Comments

By: cmmadnat
iPhoneUbuntuWindows
on 24 November 2014 - 19:32 #766496

ไม่เขียน python แล้วเหรอ google?

By: nat3738
ContributorAndroidRed HatUbuntu
on 24 November 2014 - 20:09 #766503 Reply to:766496

กูเกิลก็ใช้ Java มาแต่ไหนแต่ไรแล้วนะครับ

By: mr_tawan
ContributoriPhoneAndroidWindows
on 24 November 2014 - 20:26 #766506 Reply to:766503
mr_tawan's picture

เผลอ ๆ มีเทพ Java เยอะกว่า Oracle อีก (ทั้งบิดามารดา Java ก็เคยอยู่ Google กันมาหมดแล้ว 555)


  • 9tawan.net บล็อกส่วนตัวฮับ
By: cmmadnat
iPhoneUbuntuWindows
on 24 November 2014 - 20:26 #766507 Reply to:766503

แหมลุง -
Google Favor Python over Java เสมอ อวยมากด้วย ต้องลองดูพวกวิดีโอ Training ของพวก cloud (ไม่ public) แล้วลุงจะรู้ว่า google engineer ชอบกัด java มาก หาว่ายาวกว่าบ้าง อะไรบ้าง

ตบท้ายด้วย จริงๆ เค้าก็ชอบเขียน java นะ
(ps ผม pure Java EE ครับ)

By: mr_tawan
ContributoriPhoneAndroidWindows
on 24 November 2014 - 20:28 #766508 Reply to:766507
mr_tawan's picture

ผมเดาเล่น ๆ ว่า คน Google ไม่ชอบ Java EE 555

แต่ตัว Search Engine นี่เข้าใจว่าเป็น Java มาตั้งแต่ต้น แถม Eric Schmidt (อดีต CEO) ก็เคยทำงานกับทีม Java ที่ Oracle มาก่อน


  • 9tawan.net บล็อกส่วนตัวฮับ
By: nat3738
ContributorAndroidRed HatUbuntu
on 24 November 2014 - 20:33 #766510 Reply to:766508

ผมก็ไม่ชอบ ระบบอะไรก็ไม่รู้ จะดีพลอยทีต้องก่อสงคราม (war) กันเลยทีเดียว

/me เผ่น

By: gudgee
iPhoneAndroidWindows
on 24 November 2014 - 20:16 #766505
gudgee's picture

เท่าที่ทราบเว็บดังๆที่ใช้ GWT มี AdWords, Apple iAds, Amazon AWS

ได้ข่าวว่า Google Calendar กับ Google Sheet ก็ปรับมาใช้แนวเดียวกับ Inbox

By: gamegolf
iPhoneAndroidWindows
on 24 November 2014 - 20:30 #766509

มันดีไหมครับดีกว่าดู mail ปกติยังไงเคยโหลดมาลองแล้วแต่ใช้ไม่ได้เหมือนจะต้องใช้ invite ด้วย

By: mr_tawan
ContributoriPhoneAndroidWindows
on 24 November 2014 - 21:03 #766516 Reply to:766509
mr_tawan's picture

เห็นเขาว่า อารมณ์เหมือน social network ที่ทำตัวเป็น email client ครับ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: mrmamon
ContributorAndroidWindows
on 24 November 2014 - 22:18 #766538 Reply to:766516

มันเลือกให้ว่าอีเมลไหนจะเด้งเตือนเรารึเปล่าครับ แล้วดาษจะแบ่งแคตาลอคของอีเมลให้ แต่ก็ยังเห็นครบทุกเมลนะ

By: Golffy
ContributoriPhoneIn Love
on 24 November 2014 - 20:35 #766511
Golffy's picture

iOS ไม่เป็น Swift หรอ


@mamuang

By: landoflaf
Windows
on 25 November 2014 - 18:50 #766782 Reply to:766511
landoflaf's picture

ภาษายังไม่เสถียรดีมั้งครับ

By: pittaya
WriterAndroidUbuntuIn Love
on 24 November 2014 - 22:32 #766542
pittaya's picture

เพราะเขียนแบบนี้เลยใช้บน Firefox ไม่ได้?


pittaya.com

By: chatchai on 24 November 2014 - 22:42 #766548

บอกได้เลยว่า GWT เทพมาก