รวมบรรยากาศและสรุปเนื้อหาในงาน Firebase Dev Day 2018

#FirebaseDevDay

Jedsada Saengow
JED-NG
7 min readOct 8, 2018

--

เนื่องจากเมื่อวาน (7 ตุลาคม 2018) มีโอกาสได้เข้าร่วมงาน Firebase Dev Day 2018 ก็ได้รู้จัก Tools ต่าง ๆ ของ Firebase มากขึ้น รวมถึงเห็นปัญหาที่ถูกแก้ถ้าได้นำมาใช้จากในงานที่ว่า แถมยังไปฟรีไม่มีค่าใช้จ่ายอีก จึงอยากแชร์บรรยากาศและสรุปเนื้อหา(ที่ตามทันนะ 🤣🤣) ให้ท่านผู้อ่านได้รับชมครับ

Speakers ในงาน Firebase Dev Day 2018

สำหรับ Speakers ท่านที่ให้ความรู้ในครั้งนี้มีดังนี้

ภาพ Speaker ที่ได้จาก Email

สถานที่จัดงานและการเดินทาง

สถานที่จัดงาน ต้องบอกว่าสะดวกมาก ๆ ครับ นั่นคือ อาคารสาทรธานี 2 ซึ่งสามารถเดินทางด้วยรถไฟฟ้า BTS ไปลงที่สถานีช่องนนทรีและเดินอาคารด้วยทางเชื่อมได้เลย สะดวกมาก ๆ

ภาพการเดินทางไปอาคารสาทรธานี 2 ที่ได้จาก Email

หัวข้อแต่ละ Session ใน Firebase Dev Day 2018

โดยทางผู้เขียนจะไล่ไปตามช่วงเวลาจากภาพด้านบนนะครับ

1. Registration

เริ่มต้นด้วยการลงทะเบียนครับ ก็ใช้ QR Code ในการลงทะเบียนซึ่งทีมงานก็ไล่ Scan ได้รวดเร็วดีครับ

ส่วนหน้าตาของบัตรก็ตามภาพเลย

เอามาให้ดู 3 ช่วงเวลาเลยครับ เช้า-ไฟแดง เที่ยง-ไฟส้ม เย็น-ไฟขาว

ส่วนบรรยากาศก็ประมาณนี้ครับ ห้องใหญ่ดี มีจอที่มีความละเอียดมาก ๆ อยู่ด้านหน้าสุด และจออีก 2 จอที่ด้านข้างและด้านหลัง เรียกได้ว่าครบทุกมุม แต่ตอนเช้าเปิดไฟสีแดง เลยรู้สึกว่าแสบตานิดหน่อยครับ

2. Welcome Remarks

ช่วงนี้ก็จะกล่าวเปิดงานและภาพรวมของงาน โดยคุณ Wittaya Assawasathian (Wittaya A) ครับ

บรรยากาศก่อนงานเริ่ม ชุดสีขาวคือคุณ Wittaya Assawasathian

3. What’s new in Firebase

ช่วงนี้คุณ Jirawat Karanwittayakarn (Jirawatee) หรือว่าพี่ตี๋ ก็จะพูดถึง Product ใน Firebase ที่มีการอัพเดท ณ​ ตอนนี้มีอะไรบ้าง

รวมไปถึงนำข้อมูลสถิติที่มีผู้ใช้ Product แต่ละตัว และยกตัวอย่าง Application ที่ publish อยู่บน Store ที่ไว้วางใจเลือกใช้ Firebase มี Application ใดบ้าง

Application ที่เลือกใช้ Firebase
ข้อมูลสถิติที่มีผู้ใช้ Product แต่ละตัว

อย่างในภาพด้านล่างคือ Product ตัวใหม่ของ Firebase ที่มีชื่อว่า Firebase In-App Messaging ซึ่งเจ้าตัวนี้จะคอยรับสั่งการให้แสดง Message ในเวลาที่ Application อยู่ในสถานะ Foreground เท่านั้น

ซึ่งสามารถ Custom ตัวมันได้ด้วยว่า จะให้โชว์แบบไหน สีอะไร ใส่ภาพอะไร โชว์กี่ครั้ง และใส่ Action ให้มันได้ด้วยว่า เมื่อ User คลิกที่ปุ่มแล้วจะให้ทำสิ่งใดต่อ

ส่วนเรื่องอื่น ๆ ที่ไม่ได้ถ่ายภาพมา มีดังนี้

  • Firebase Hosting การ Deploy ต่อไปนี้สามารถเลือกให้ Deploy เฉพาะไฟล์ที่มีการเปลี่ยนแปลงได้ด้วย (จากเดิมการ Deploy ต้อง Deploy ทุกไฟล์) และการสร้าง Project จะสามารถสร้าง Website โดย supports multiple sites (จากเดิม 1 Project จะมีแค่ 1 Site)
  • Firebase Test Lab ในตอนนี้ Fastlane สามารถ Integrate กับ Firebase Test Lab ได้ด้วย (แต่รองรับเฉพาะ iOS ก่อน Android กำลังจะมา)

ซึ่งจริง ๆ พี่ตี๋พูดเยอะมากนะครับในช่วงหัวข้อนี้ แต่ผู้เขียนตั้งใจฟังจนจดสรุปได้ไม่ทัน และถ่ายภาพไม่ทัน (เนื่องจาก Product หลาย ๆ ตัวผู้เขียนไม่เคยใช้ จึงนึกภาพตามไม่ทัน)

แต่ส่วนตัวแล้วชอบแกจริง ๆ ครับ พูดได้ชัดเจน พูดเร็ว แล้วก็ชอบยิงมุขตรง ๆ ดี หรือเพราะแกเป็นเด็กใต้นะ 🤔🤔

4. ML Kit for iOS developers

หัวข้อนี้ Speaker คือ Kajornsak Peerapathananont (Kajornsak P.) จาก Agoda ครับ แม้หัวข้อพูดถึง iOS dev ก็จริง แต่ก็ได้เห็นความเจ๋ง ของ ML Kit อยู่ดีครับ

และมีประโยคหนึ่งที่พี่ Kajornsak ได้ยกมาพูดถึงคือ ระบบ Machine learning ทำเองได้ แต่ต้องใช้เวลาศึกษาหลายศาสตร์ รวมไปถึงต้องใช้เวลา แต่หากมี ML Kit นี้ ก็จะตอบสนองไปได้ระดับหนึ่งเลยครับ

ซึ่ง ML Kit มี 6 แบบให้ใช้ คือ

  • Image labeling เมื่อส่องกล้องไปที่สิ่งใด เจ้าตัว ML จะคำนวนหาว่าภาพนั้นมีองค์ประกอบอะไรบ้าง
  • Text recognition (OCR) เมื่อส่องกล้องไปที่ใดที่มี Text ก็จะได้ Text ที่อยู่ในนั้นออกมา มีภาพที่ผู้เขียนถ่าย Demo ที่พี่ Kajornsak ทำมาด้วยครับ
  • Face detection เป็นตัวตรวจจับใบหน้า ซึ่งอาจจะใช้จับความเคลื่อนไหวเพื่อให้ทราบถึงอารมณ์ของคนได้ หรือจะจับจำนวนคนก็ได้
  • Barcode scanning สามารถ Read ได้โดยมีความเป็น most standard formats ของ Barcode
  • Landmark detection เมื่อส่องกล้องไปยังสถานที่ก็จะได้ชื่อและตำแหน่งมาได้เลย แต่จะมีบาง Case ที่สถานที่นั้นมีมากกว่า 1 ชื่อ และมากกว่า 1 ตำแหน่ง เช่น หอไอเฟลจำลอง เป็นต้น
  • Smart reply (coming soon)

ML Kit มีให้ใช้ Resource ในการทำงานได้ทั้งฝั่ง On-device และ Cloud โดย Feature แต่ละตัวอาจจะไม่รองรับ หรือรองรับได้อย่างใดอย่างหนึ่ง โดยสามารถดูได้จากภาพด้านล่าง

5. Adding Firebase to your Flutter app

หัวข้อนี้สำหรับผู้เขียนแล้ว WOW มากครับ ออกตัวแบบนี้เพราะว่าผู้เขียนใช้ React Native มาก่อน และติดตามเจ้า Flutter อยู่เล็กน้อย แต่ในตอนนี้ก็มีการถูกพูดถึงกันเยอะแล้ว

ที่บอกว่า WOW เพราะในวันนี้ คุณ Tanitphon Paniwan จาก Apppi ได้ Live code โชว์ความสะดวกสบายของ Tools ที่ใช้ในการ Dev ตัวอย่างเช่น Extendsion ของ VS Code ที่รองรับได้แทบจะเป็น IDE ตัวใหญ่ ๆ ของเจ้าอื่น

มีคำพูดหนึ่งที่บอกว่า คนส่วนใหญ่ที่หนีจากเจ้าอื่นมาใช้ Flutter เพราะว่ามันเป็นภาษา Dart ครับ (ตอนแรกผู้เขียนนึกว่าเรื่อง Performance)

แต่ส่วนตัวสำหรับผู้เขียนรู้สึกสนใจมากที่สุดคือ มี Library สำหรับ Firebase ไว้ให้ครบหมดแล้ว ไม่ต้องไปหาที่ไหน โดยมันถูกเรียกว่า FlutterFire

เรื่องของการ Live code เนี่ย ต้องขอคาราวะเลยครับ คุณ Tanitphon Paniwan พิมพ์ Code และใช้ Auto complete ของ Editor ได้คล่องแคล่วมากกกกกกก คือแบบว่า โคตรไวอ่ะครับ และสุดท้ายก็แจก Repo สำหรับท่านที่สนใจก็สามารถเข้าไปดูได้ที่ลิงค์ในภาพ

6. Lunch

สำหรับอาหารกลางวัน ไม่ได้ถ่ายภาพมาครับ หิวมากกก เลยไม่สนอะไรแล้ว 😆 😆 แต่อาหารอร่อยครับ ดูดีด้วย มี 3 แบบให้เลือก นี่มันงานฟรีจริงหรือป่าว คุ้มจริง ๆ

7. Bringing Firebase Admin SDK to your server

ต่อไปเป็น Session ของคุณ Henry Lim ซึ่งเป็น GDE ที่อายุน้อยที่สุด โดย Session นี้พูดเป็นภาษาอังกฤษ ซึ่งผู้เขียนอ่อนภาษาอังกฤษจึงฟังไม่ออก ขออภัยเป็นอย่างสูงครับ 😭 😭 😭

แต่คุณ Henry Lim ก็ได้โชว์การ นำ Firebase Admin SDK มาใช้งานให้ดูครับ

ไม่ค่อยได้เก็บภาพเพราะตอนนี้มานั่งหลังห้อง เนื่องจากแว๊ปไปหากาแฟกิน ขึ้นมาช้าครับผม

ส่วน Product ตัวนี้ เห็นพี่ตี๋พูดไว้ช่วงแรกว่าล่าสุดรองรับสำหรับ .NET ให้ใช้ได้แล้ว (ปัจจุบันรองรับ .NET Framework 4.5+ or .Net Core 1.5+)

ท่านผู้อ่านที่สนใจเพิ่มเติมสามารถดูได้จากลิงค์ด้านล่าง

8. Migrate Realtime Database to Cloud Firestore

ก่อนจะเริ่ม Session นี้ มี Surprise จากพี่หนูเนย ผู้ที่อยู่ในขบวนการบุกเบิก (และเป็นหนึ่งในผู้ที่ทำให้ผู้เขียนเริ่มเขียน Blog ด้วยนะ😆) โดยบินมาจากเชียงใหม่มาเยี่ยมพวกเราครับผม

ส่วน Session นี้ คุณ Thanongkiat Tamtai จาก 20scoops ได้แนะนำการใช้งาน Realtime Database ว่าเริ่มมาใช้ได้อย่างไร และเปลี่ยนไปเริ่มใช้ Cloud Firestore รวมไปถึงที่มาของ Cloud Firestore ด้วยว่ามันเคยเป็นอะไรมาก่อน

9. Building natural conversational chatbots by Dialogflow and Firebase

พี่ตี๋บอกว่าหัวข้อนี้อาจจะมีอยู่ในบทความ Medium มาซักพักแล้ว ตามลิงค์ด้านล่าง

แต่ครั้งนี้จะเพิ่มเรื่องการ Save ค่าลงไปใน Database ด้วย ซึ่งบทความล่าสุดก็มาครับ

โดยจะสาธิตทั้งหมดในเวลา 40 นาที จัดไปครับผมมมม

โดยช่วง Session นี้เราก็ได้เห็นการสร้าง Bot ที่ Dialogflow กันแบบสด ๆ ซึ่งก็ได้ข้อคิดแต่ละ Step ว่า

  • เราต้องสอน Bot อย่างไร
  • พยายามคุม Scope ให้ User ตอบเราอย่างไร ให้เกิดเป็นข้อมูลที่ต้องการมากที่สุด
  • สร้าง Parameter สำหรับการรับ-ส่งค่าอย่างไร

โดยสุดท้ายแล้ว เราก็ได้ Flow ของ Bot ให้เป็นการตอบกับ User เพื่อประมวลผล BMI ประมาณนี้ครับ

User : อ้วนไหม
Bot : ขอทราบน้ำหนักเป็น kg และส่วนสูงเป็น cm ด้วยครับ
User : xx kg, xx cm
Bot : น้ำหนักของคุณคือ xx kg ส่วนสูงของคุณคือ xx cm ใช่ไหมครับ
User : ใช่
Bot : คุณหุ่นดีครับ

ก็จบไปด้วยความสนุกสนานครับ

10. Getting Started with Cloud Functions for Firebase using Kotlin JS

เมื่อพูดถึง Kotlin ท่านผู้อ่านจะนึกถึงอะไรครับ Android ใช่ไหม ? แต่ความจริงแล้ว Kotlin มันยิ่งกว่า Crossplatform อีกนะครับ มันมีอยู่แทบทุก Platform

โดยใน Session นี้ คุณ Theerasan Tonthongkam หรือพี่ต๊ะ (พี่ต้า) จาก eatigo จะมาพูดถึงการใช้ Kotlin JS โดยการทำงานสุดท้ายของมันคือจะแปลงจาก Kotlin ไปเป็น JS นั่นเอง

เราก็จะเห็นขั้นตอนการนำ Firebase มาใช้กับตัว Kotlin นี้ แต่ว่าพี่ต๊ะ ก็ได้เตือนเกี่ยวกับปัญหาต่าง ๆ ที่อาจจะเกิดขึ้นในการแปลงค่าจาก JS ให้ Kotlin รู้จัก อย่างเช่น เรื่องของ type ที่ JS มันไม่มี Type ที่ชัดเจน ทำให้ Kotlin จะรับค่าได้แค่ Type เป็น Dynamic ในปัจจุบัน

11. Snack Break

ก่อนจะไป Session Code Battle ก็มี Break อีกครั้ง สำหรับอาหารมื้อนี้ก็ดูดีเช่นเดียวกับเมื่อกลางวันอีกแล้ว คุ้มค่าจริง ๆ ครับ

12. Firebase Code Battle

และแล้วก็มาถึง Session สุดท้าย การ Battle ครั้งนี้จะมีผู้ร่วม 3 platform คือ

มีโจทย์คือ ทำ Game ที่มีการเล่นคือเขย่าแข่งกัน

แต่มีเงื่อนไขคือจะต้อง Login ผ่าน Firebase Authen ด้วยการ Signin with Google จากนั้นมีการใช้ Realtime Database ในการ Read and Write ค่าเขย่าของแต่ละ Platform ซึ่งสุดท้ายก็จะนำมาเขย่าแข่งกัน

ในช่วงแรกเริ่มด้วยการสร้างส่วนของ Authen ก็มีผู้แพ้ก็คือฝั่งของ iOS จึงต้องโดนลงโทษโดยการวิดพื้น 10 ที จัดไปครับผม

ถัดมาคือการเชื่อมต่อ Realtime Database และ Build ลง Device ผู้ที่ช้าที่สุดก็ยังคงเป็นทาง iOS เช่นเคยครับผม ช่างกดดันเหลือเกิน

สุดท้ายก็ได้ Application ทั้งหมด 3 Platform พร้อมสำหรับการแข่งโค้งสุดท้าย ที่จะเขย่าแข่งกัน !!!

Lady and Gentleman …. บัดนี้ได้เวลาพร้อมแล้วที่จะได้รับชมการแข่งขัน พร้อมแล้ว 3 2 1 Go !!!

จากภาพที่เห็น ผู้ที่ได้คะแนนมากที่สุด เค้ามาจากการกดดันอย่างนับไม่ถ้วน แต่จุดนี้เค้าทำสำเร็จ iOS เป็นผู้ชนะครับผมมมม

ด้วยความที่ไม่เชื่อในทีมงานของ Firebase Dev Day เอง จึงได้เชิญผู้ร่วมสนุกอีก 3 ท่านมาเขย่าเช่นเดิม

และผลลัพธ์ก็เป็นเอกฉันท์ครับ iOS ชนะ 2 ครั้งรวด

ก็เป็นการจบการ Battle ที่สนุกสนานครับ และถือเป็นการจบงานของ Firebase Dev Day 2018 นี้ด้วย

13. Closing Remarks

สุดท้ายงานเลี้ยงย่อมมีวันเลิกลา ทีมงาน Firebase และ Speaker ก็ได้กล่าวปิดจบงานในวันนี้ครับ

ขอขอบคุณ

สุดท้ายนี้ต้องขอขอบคุณพี่ ๆ ทีมงาน Firebase Dev Day และ Speaker ทุกท่านที่ได้มอบความรู้และดูแลเราอย่างดีในวันนี้

และหวังว่าบทความนี้จะเป็นการตอบแทนของพี่ ๆ ได้บ้างนะครับ แล้วก็ต้องขอโทษท่านผู้อ่านด้วยที่ไม่สามารถเก็บข้อมูลมาได้หมดครับ

แต่มี Blog ของคุณ Minseo Chayabanjonglerd มาแนะนำครับ Blog นี้เก็บทุกเม็ด ขอคาราวะเลย สามารถดูได้ที่นี่ครับ

ข่าวสาร Firebase

สุดท้าย สำหรับท่านผู้อ่านที่ไม่อยากพลาดข่าวสารของทาง Firebase สามารถติดตามได้ช่องทางต่าง ๆ ที่ลิงค์ด้านล่างครับ

หากท่านผู้อ่านมีคำถามหรือข้อสงสัย หรือมีคำแนะนำ ติชม สามารถติดต่อผู้เขียนได้เลยครับ

--

--