[Android] Google I/O Extended Bangkok 2018

สวัสดีครับ…กลับมาพบกับโพสท์ที่มีสาระอีกแล้วนะครับ (โพสท์ที่ผ่านมา มันไม่มีสาระหรือยังไง)

วันนี้ก็ขอมาพูดถึงสิ่งที่ได้เรียนรู้จากงาน Google I/O Extended Bangkok ที่จัดที่โรงละครเคแบงก์สยามพิฆเนศ เมื่อวันที่ 1 กรกฎาคม 2561 ครับ

ไม่พูดมาก เริ่มเลยดีกว่า เจ็บคอ (ทำไมต้อง Aggressive เบอร์นี้)

Welcome Remark – Wittaya Assawasathian GDG Thailand

เปิดตัวด้วยคลิป The Story of An Idea – Google I/O 2017

  • งานครั้งนี้ ถือว่าเป็นการจัดงานปีที่ 9 แล้ว
  • GDE Community ในไทยตอนนี้มี 12 คน ซึ่งถือว่ามีมากที่สุด และ Active ที่สุดใน SEA และล่าสุดมี GDE สาขา Cloud เพิ่มเข้ามา
  • เปิดตัว GDE ผู้หญิงคนเดียว และคนแรกของ GDG Thai เป็น GDE Machine Learning ชื่อ Sirinart Tangruamsub
  • พูดถึงความเป็นมาของ GDG Thailand (ครบรอบ 10 ปี เริ่มก่อตั้ง 25 มิ.ย. 2008) โดยเริ่มมาจาก GTUG Thailand

 

Opening Keynote : Start with WHY – Chetaphan Siridanupath

  • พูดถึง Golden Cercle ของ Simon Sinek (What, How, Why)
  • บ. SpaceX ทำจรวด….ว่าแต่ ทำไมต้องทำ(Why) เพราะว่าเขา Preserve Mankind มนุษย์ต้องอยู่ได้ใน ร้อยปี พันปี หมื่นปี ถ้าเกิดอะไรขึ้นกับโลก คนต้องอยู่รอดต่อไป ทำยังไง(How) ทำให้คนสามารถไปอาศัยอยู่ที่ดาวดวงอื่นได้ ทำอะไร(What) ทำให้ค่าใช้จ่ายในการเดินทางในอวกาศถูกลง ด้วยการสร้าง Reusable Rocket
  • ย้อนกลับมาที่ KBTG … Why คือ พัฒนาคุณภาพชีวิตให้ดีขึ้นด้วยการใช้เทคโนโลยี
  • What…ทำอะไรบ้าง
    • Kbank Beacon ที่ทำให้คนตาบอดสามารถใช้งาน Mobile Banking ได้ เป็นขั้นแรกของการปลดล็อกให้ทุกคนสามารถเข้าถึงการใช้งาน Mobile Banking
    • K Plus Shop ทำให้ SME ไทยสามารถสู่ตลาดโลกได้
    • Machine Lending ทำให้คนที่ไม่สามารถกู้ยืมเงินได้ (เน้นที่พวกพ่อค้า แม่ค้ารถเข็น ไม่มีเงินเดือน ไม่มีหลักประกันในการกู้ยืมเงิน) สามารถเข้าถึงการกู้ยืมเงินได้
    • Machine Commerce ปลดล็อกออนไลน์คอมเมิร์ซให้สามาถใช้ได้ทุกคน ไม่ว่าจะเป็นเกษตรกร หรือนักศึกษาที่อยากขายของให้มีพื้นที่ขายของได้ง่ายขึ้น
  • How ทำให้บริการทางการเงินฉลาดขึ้น และสะดวกขึ้น สามารถเข้าถึงได้ทุกคน จะรวยจน เด็กแก่ ตาดีตาบอด ต้องเข้าถึงได้หมด
  • KADE (AI) ประกอบด้วย 3 ส่วน : Manchine Intelligence, Service Intelligence, Design Intelligence
  • Customer Obsession : ต้องหมกมุ่นเกี่ยวกับลูกค้า ไม่ใช่แค่โฟกัส
  • แล้วไงต่อ… แต่ก่อน K Plus เป็น Channel มีสาขา, ATM, Internet และ Mobile
  • แต่ตอนนี้ K Plus เป็น “ธนาคาร” สามารถทำทุกอย่างได้บนมือถือ
  • ในอนาคตเป็น Platform ซึ่งบางทีอาจจะใหญ่กว่าธนาคาร ทำได้ทุกอย่างมากกว่าการทำธุรกรรมทางการเงิน
  • คุณรู้หรือยังว่า “What’s Your WHY”

 

I/O Keynote – Manikantan Krishnamurthy

  • พูดถึงสิ่งที่ มีการ Update ในงาน I/O 2018 ซึ่งมีหลายอย่าง แต่จะขอเน้น Google Assistants
  • ใช้งานได้ผ่าน Voice, Typing, Tap, Google Lens
  • ใช้งานได้ทั้งบนโทรศัพท์ (Smart Phone), นาฬิกา (Smart Watch), รถยนต์ (Smart Car) และ Smart Home
  • สามารถเข้าถึงเทคโนโลยีต่าง ๆ ของ Google ได้
  • เปิดคลิป Your Google Assistant: coming soon to smart displays
  • สามารถจำเสียงของผู้ใช้และโต้ตอบได้, ใช้งาน 3rd parties App ได้, ส่งข้อมูลเข้ามือถือได้, เข้าถึงอุปกรณ์สมาร์ทโฮมได้
  • ในงาน I/O 2018 ที่ผ่านมา มีอัปเดทอะไรบ้าง
  • SDK for Devices
  • สามารถพัฒนาด้วย Actions on Google, DialogFlow และเชื่อมต่อกับ Google Cloud, Firebase หรือ TensorFlow
  • ในการพัฒนา ข้อมูลบางอย่างเราสามารถ Hard Code ลงใน Dialogflow ได้เลย แต่ข้อมูลบางอย่างต้องใช้อย่างอื่นช่วย (Google Cloud Service)

 

Android / Kotlin – Somkiat Kitwongwattana

  • ตอนนี้หลายแอปเขียนด้วย Kotlin แล้ววววววว
  • เปลี่ยนดีมั้ย…ถ้าเป็นไปได้ ย้ายมาเหอะ
  • แอปในไทยหลายตัวก็เขียนด้วย Kotlin แล้ว
  • ตอนนี้ 35% ของ Android Developer ใช้ Kotlin
  • ล่าสุดมี GDE Kotlin (จริงจังเบอร์ไหน คิดดู)
  • Android Studio 3.2 มีฟีเจอร์ใหม่ ๆ เยอะมาก และรองรับ Chrome OS
  • Android App Bundle ทำให้ขนาดของ APK ที่ผู้ใช้จะดาวน์โหลดมีขนาดเล็กลง ดาวน์โหลด resource เท่าที่เหมาะกับเครื่องที่จะโหลดเท่านั้น
  • AndroidX ไม่เกี่ยวกับ SpaceX (โวะ) แต่มันคือการเปลี่ยนชื่อ Package Name พวก Support Library ต่าง ๆ ใหม่
  • Android Jetpack เพื่อชีวิตในการพัฒนาจะได้ดีขึ้น มีทั้งของเก่า และของใหม่
  • Android P มีฟีเจอร์ใหม่ ๆ เพิ่มเข้ามา โดยเฉพาะ Navigation แบบใหม่
  • Adaptive Battery ใช้ AI ในการประเมินการใช้งานแบตเตอรี่ของแต่ละแอป
  • มี API ใหม่ที่เพิ่มเข้ามา เช่น Indoor Positioning, Biometrics, Notification และอื่น ๆ อีกมากมาย
  • Slices, App Actions, Google Play Instant
  • Google Play มีฟังก์ชันใหม่เพิ่มเข้ามา และภายในเดือนสิงหาคมปีนี้ แอปใหม่ที่จะเอาขึ้น ต้อง API 26+ และ เดือนกันยายนทุกแอปต้อง API 26+
  • Android Things 1.0 เปิดตัวเป็นทางการแล้วจ้า สามารถใช้ JAVA หรือ Kotlin ในการพัฒนาก็ได้
  • หลาย ๆ เรื่องที่พูดมา เดี๋ยวจะมี Seesion อธิบายอีกทีครับ

 

Artificial Intelligence – Virot Chiraphadhanakul

  • ในปีที่แล้ว ในงาน Google I/O มีการโชว์การใช้ AI มาทำนายภาวะเบาหวานขึ้นตาจากภาพถ่ายของ Retina
  • ปีนี้ใช้ภาพถ่ายของ Retina มาทำนายได้หลายอย่างมากขึ้น ไม่ว่าจะเป็น อายุ, เพศ และโรคอีกหลายโรคได้
  • AI for Everyone
  • Cloud TPU ออกแบบมาเพื่อประมวลผล…ตอนนี้เปิดเป็น Public Beta แล้ว
  • ล่าสุดเปิดตัว TPU 3.0 (แต่ยังไม่เปิดให้ใช้)
  • TensorFlow เปิดให้ใช้ฟรีมา 2 ปีแล้ว
  • แต่เดิมเน้นใช้กับ Neural Network แต่ตอนนี้ สามารถใช้ได้หลากหลายมากขึ้น
  • ตอนนี้รื้อ API ใหม่ ให้ใช้งานได้ง่ายขึ้น แต่ก็ยังสามารถใช้งานในระดับ Low Level ได้อยู่
  • ข้อดีของ On-Device ML : Low Latency, Offline, Data stay on device, Power Efficient, Sensors
  • TensorFlow Lite เหมือน TensorFlow แต่ทำให้เหมาะกับการใช้งานบนมือถือมากขึ้น
  • ML Kit ใช้งาน Model ผ่าน Firebase
  • TensorFlow.js รันผ่านเว็บ
  • TensorFlow Hub มีโมเดล และ ดาต้าต่าง ๆ ให้เข้าไปโหลดมาใช้งานได้
  • Machine Learning Crash Course คอร์สเรียนฟรี

 

Firebase – Jirawat Karanwittayakarn

  • ประโยชน์ของ Firebase คือ Build Better App, Improve App Quality, Grow Your App
  • 1.2 M Monthly Active App
  • สามารถใส่ Skill การใช้ Firebase ลงใน Resume กันแล้ว
  • Function ใหม่ที่เพิ่งเปิดตัว Callable Functions, TypeScript, Unit Testing
  • Firebase Authentication Passwordless Sign-in ส่งเมลเข้ามาให้กดเข้าสู่ระบบแทน
  • Firebase Performance สถานะล่าสุด Stable แล้ว เข้าไปใช้งานกันได้
  • Firebase Test Lab for Android ….. ล่าสุด ตัดคำว่า for Android ออกแล้ว บน iOS สามารถใช้งานได้แล้วววววว
  • Google Analytics for Firebase สามารถดูสถิติของหลาย App ใน Project พร้อมกันได้แล้ว
  • Firebase Predictions ทำนาย User Behavior จากข้อมูลของผู้ใช้ในอดีต ซึ่งทำให้เราสามารถทำยังไงให้เรา Grow ขึ้น หรือรักษา User ให้ยังใช้ App เราอยู่ได้
  • ML Kits for Firebase มีหลายบริการให้ใช้งานได้อย่างง่าย ๆ สามารถใช้งานได้ทั้ง On-Device, In the Cloud และ Custom Model

Google Cloud Platform – Jirayut Nimsaeng

  • Google Believe in Open Cloud and Open Source
  • ประกอบด้วย Kubernetes, TensorFlow, Android, ISTIO(เป็น API Gateway ที่ Google กำลังผลักดัน)
  • ตอนนี้มี Google Cloud มี 16 Regions 49 Zones
  • Cloud Firestore BETA คลิกเดียว ได้เครื่องประสิทธิภาพสูงเลย
  • Beta of sole-tenant nodes คือบริการที่ให้เราสามารถจอง cloud ได้ทั้งเครื่องเลย ไม่ต้องไปแบ่งใช้กับคนอื่น
  • GA of GPU in GKE (Google Kubernetes Engine)
  • Persistent Disk
  • Cloud Memorystore คลิกเดียวได้ cluster มาใช้งานได้เลย
  • Cloud Composer คลิกเดียว ได้ Composer เลย
  • ชีวิตสะดวกเกิ๊นนนนน
  • Cloud Platform ออกผลิตภัณฑ์แทบทุกวัน…ไปหาอัปเดทได้ที่บล็อกของ Google Cloud Platform ได้เลยยยยยยยย

Flutter & Web – Panjamapong Sermsawatsri

  • Flutter คือ เครื่องมือในการพัฒนาแอป Cross Platform พัฒนาด้วยภาษา DART 2 รองรับ Material Design
  • ประกาศเปิดตัว Release Preview 1
  • สามารถพัฒนา Flutter ได้บน VS Code
  • Chrome 68 DevTools
    • Eager Evaluation ไม่ต้องกด Enter ผลลัพธ์ขึ้นเลย สามารถใช้ Auto Complete ได้
    • Argument Hints
    • Lighthouse 3.0 เป็นเครื่องมือในการ Audit ตัวหนึ่ง
  • Chrome OS อยู่บน Chrome Book และ Pixel Book
    • รัน Linux App ได้
    • รัน Android App ได้
  • Polymer เป็น Library ในการช่วยสร้าง Web Component
    • เปิดตัว Version 3.0 เปลี่ยนจาก HTML เป็น ES Module
  • LitElement เป็น Library สร้าง Web Component อีกตัว
  • PWA Starter Kit : ช่วยสร้าง PWA สร้างด้วย Polymer+Redux
  • .app domains : secure by default HTTPS only จ้า 490 บาท ต่อปีเท่านั้นนนนนนนน

 

Material Design – Apirak Panatkool

  • Material Design เป็น Design System ที่ Google Research มาเป็นอย่างดีแล้ว
  • ตอนนี้มี แอป 1.5 M ตัวที่ใช้ Material Design
  • ตอนนี้สามารถปรับนู่น นี่ นั่น ให้แอปดูมีความเป็นตัวเรามากขึ้น ไม่ดูเป็น Google มากเกินไปเหมือนแต่ก่อนแล้ว
  • สามารถศึกษาหาข้อมูลต่าง ๆ ได้ที่ Material.io
  • Material Design สร้างมาสำหรับทุก Platform ไม่เฉพาะ Android
  • มี Library สำหรับ Android, iOS, Flutter และ Web
  • Tools เป็นตัวเชื่อมโยง Designer และ Developer โดยเฉพาะส่วน Gallery ที่ที่ทำให้ Developer ดูงานที่ Designer ออกแบบได้ง่ายขึ้น
  • Design Flexibility, Cross Platform, …. อีกอันลืม

 

Session บ่าย

 

What’s new in Android P – Somkiat Kitwongwattana

สไลด์อยู่นี่นะครับ https://www.slideshare.net/akexorcist/whats-new-in-android-p-io-extended-bangkok-2018

  • Android P Preview 2 ก็ Final แล้ว จะไม่มีอัปเดทฟีเจอร์เพิ่มอีกแล้ว
  • เวอร์ชันนี้ จะไม่มีหน้าต่าง Force Close เหมือนแต่ก่อน แต่แอปจะปิดตัวเองไปเลย
  • Wifi Round-Trip-Time เป็น Indoor Position ควรใช้ควบคู่กับ Bluetooth
  • Display Cutout รองรับหน้าจอที่มี Notch หรือจอที่แหว่ง เลือกได้ 3 แบบ Never แสดงผลแบบไม่รองรับจอแหว่ง เสียพื้นที่ไป, Default แสดงผลแบบรองรับจอแหว่ง, Short Edge จะแสดงผลแบบ Full Screen ไปเลย แต่มีรอยแหว่ง กำหนดผ่าน Style หรือผ่านโค้ดก็ได้
  • ImageDecoder ช่วย decode รูปจาก Drawable ให้เป็น Bitmap แต่ก่อนถ้ารูปใหญ่ จะเจอปัญหา OutOfMemory แต่เปลี่ยนใหม่โดยมี 3 ขั้นคือ Source กำหนดที่มาของรูป, Decode สามารถสั่งให้ Process รูปก่อนได้ เช่นลดขนาดรูป, Post Processor ทำให้สามารถเอารูปผลลัพท์มาทำนู่นนี่ได้ ไม่ว่าจะเป็นใส่กรอบ หรือ ใส่ข้อความลงไปในภาพได้ในขั้นตอนนี้ นอกจากนี้ยังสามารถใช้กับภาพเคลื่อนไหวได้อีกด้วย
  • Biometrics API พอตัวนี้เข้ามาทำให้ Fingerprints API ที่ใช้งานยาก เพราะต้องเขียนโค้ดเพิ่มเองเยอะมาก และรองรับแค่ลายนิ้วมือ Deprecate ไปเลย…. เพราะตัวนี้รองรับมากกว่าแค่ลายนิ้วมืออีกด้วย
  • Notification ปรับปรุงการทำงานใหม่ รองรับการโต้ตอบข้อความผ่าน Notification ได้ดีมากขึ้น
  • Camera API v2 รองรับกล้องพร้อมกันได้มากกว่า 1 ตัว (จริง ๆ แต่ก่อนก็ได้นะ ในกรณีเปิดกล้องหน้า และ กล้องหลังพร้อมกัน แต่ถ้ากล้องหลังมี 2 ตัว กรณีนี้จะยังไม่ได้) หรือกล้องที่ต่อ USB ได้แล้ว
  • Text สามารถตั้งค่าการแสดงผลข้อความได้ดีขึ้นละเอียดมากขึ้น (ตั้งค่า Baseline, Backgroud Thread for Auto size Text, Magnifier รองรับการขยาย, Smart Linkify เป็นการใช้ AI ในการ identify ข้อความที่ select แล้วแนะนำ action ให้)
  • Backgroud Input & Privacy พวก Sensor บางตัว จะไม่สามารถใช้งานได้เวลาที่ App Idle อยู่
  • เอา Build.SERIAL ออกแล้ว ใช้ Build.getSerial() แทน
  • Power Management ถ้าทำแอปที่ใช้ Background Thread ต้องศึกษา
    • App Standby Bucket ระบบจะวิเคราะห์แอปใด ๆ ว่าใช้งานบ่อยแค่ไหน แล้วจะได้รับการจัดลงกลุ่ม Active, Working Set, Frequent, Rare หรือ Never ซึ่งบางทีอาจมีการเปลี่ยนแปลงในภายหลังได้
      • Active คือแอปที่กำลังถูกใช้งานอยู่ สามารถใช้ Resource ทุกอย่างได้เต็มที่
      • Working Set ใช้งานบ่อย แต่ตอนนี้ยังไม่ได้เปิดอยู่ ใช้ Resource ได้เกือบเต็มที่
      • Frequent ไม่ได้ใช้ทุกวัน แต่มีการใช้งานอยู่ ปิด Background Service นอกเวลาใช้งานแอป
      • Rare นาน ๆ ใช้ที
      • Never ลงทิ้งไว้ ไม่ได้ใช้งาน ใช้ Resource อะไรไม่ได้เลย
      • แนะนำว่า…ต้องเข้าใจว่ามันเป็น Dynamic เปลี่ยนแปลงได้ตลอด อย่าคิดว่าจะเป็น Active ตลอด ถ้าอยากให้แอป Active ตลอด ต้องหาวิธีเอา
    • Background Restriction เช็คดูได้ว่าแอปไหนใช้ Resource เยอะเกินจำเป็น
      • Excessive Wake-lock แอปไหนถูกใช้งานฟังก์ชันนี้เกิน 1 ชั่้วโมง จะโดนจำกัด
      • Excessive Background Service แอปที่ API < 26 มันจะมีปัญหาบางอย่างอยู่
    • Battery Saver พวก Background Service ใช้งานไม่ได้
    • Doze แก้ปัญหาด้วยการ ชาร์จมือถือตลอดเวลา จะไม่เข้า Mode นี้
    • สามารถดูรายละเอียดได้ที่ https://developer.android.com/preview/features/power-details
  • และมีอื่น ๆ อีกมากมาย

 

Hello, Android Studio 3.2 And Android App Bundle – Somkiat Kitwongwattana

  • Android Studio 3.2 ตอนนี้เป็น Beta 2
  • แบ่งเป็น 4 Part
    • Develop
      • AndroidX ใน AS 3.2 มีฟังก์ชันในการ Migrate จาก Support Library ให้
      • Navigation Editor เหมือน Storyboard ของ X Code นั่นแหละ…เป็น Library เสริมที่ทำให้ชีวิตสบายขึ้นเยอะ
      • Android App Bundle นักพัฒนาไม่ต้อง Release Multiple APK เพื่อให้รองรับเครื่องที่หลากหลาย
      • Slices
      • Sample Data มีให้เลือกใช้งาน ไม่ต้องใช้ Lorem Ipsum แล้ว
      • What’s new Assistant มีข้อมูลของฟีเจอร์ใหม่ให้นักพัฒนาเข้าไปศึกษากันได้
    • Build
      • D8 Debugging
      • R8, New Code Shrinker ฉลาดกว่า Proguard
      • ลบ ABIs เก่า ๆ ออก แต่ถ้ายังอยากให้มัน build อยู่ ก็ไปใส่ใน Gradle เอา
      • Build เร็วขึ้น 16% เทียบกับ 3.1.0
      • AATP2 ย้ายไปอยู่บน Google’s Maven Repository
      • multidex enable by default
    • Test
      • Emulator ดีขึ้น เวลา Test สามารถทำ Snapshot ได้, รองรับ Screen Recording, มี Virtual Scene ไว้ Test AR
      • ADB Connection Assistant
    • Optimize
      • Energy Profiler มีเพิ่มเข้ามา ทำให้เห็นว่ามีการใช้พลังงานมากขึ้นหรือไม่
      • Profiling Recorder เก็บข้อมูลตั้งแต่เปิดแอปมาวิเคราะห์ได้
  • และอื่น ๆ อีกมากมาย
  • Android App Bundle นักพัฒนาไม่ต้องไปนั่งแยก APK ให้รองรับหลายขนาด เพื่อให้ APK มีขนาดเล็กลง
    • ไม่สามารถเอาไฟล์ .aap ไปแล้วลงได้เลยเหมือน .apk มันเป็นไฟล์ที่เอาไปให้ Google Play ไป Build แยกให้
    • เป็น Dynamic Delivery build ตาม ขนาดจอ, ภาษา, CPU มันจะไปจัดการเอา Resource ตามที่เราแบ่งไว้มาให้เอง
  • Dynamic Features ทำให้สามารถแยก Base Module แล้วไปโหลดฟีเจอร์เพิ่มทีหลังได้ ถ้าอยากใช้งาน ต้องวาง Structure ของโค้ดให้เป็น Module ข้อดีคือ user โหลดมาแอปมาเท่าที่จำเป็นต้องใช้งาน

 

Android Jetpack / Android X – Theerasan Tonthongkam

  • AndroidX มันคือการ Refactor Support Library
  • Jetpack รวบรวม Library ต่าง ๆ ที่เป็น Library แนะนำในการเขียนโค้ด
  • ที่มาของ AndroidX คือ…แต่เดิม Support Library เกิดมาเพื่อรองรับการ Backward Compat หลัง ๆ เริ่มมีอะไร ๆ เพิ่มขึ้นมามากขึ้น และมีเวอร์ชันที่หลากหลาย ซึ่งบางทีก็ไม่มีการอัปเดทอะไรตามการเปลี่ยนแปลงเลขเวอร์ชัน แถม…การใช้งาน component ต่าง ๆ ต้องใช้เลขเวอร์ชันเดียวกันอีก
  • AndroidX จะมีการตั้งชื่อที่ดูมีตรรกะมากขึ้น, เลขเวอร์ชันก็เริ่มนับ 1 ใหม่ ไม่ได้เกี่ยวข้อวกับเลขเวอร์ชันของ Android อีกแล้ว, มีสโคปที่ชัดเจนมากขึ้น, v4 v7 v13 v14 จะหายไป
  • ใน Android Studio มีเครื่องมือในการ Migrate มาเป็น AndroidX ให้…แต่ยังมีปัญหาบางอย่างอยู่ ถ้าทำบุญมาเยอะอาจจะไม่เจอ Error แต่ถ้าแต้มบุญหมดก็ต้องมานั่งแก้ปัญหาที่เกิดจากการ Migrate
  • AndroidX มีอยู่ใน support 28.0.0 สามารถใช้เวอร์ชันนี้ไปก่อนจะ Migrate ก็ได้
  • พูดถึง RecyclerView Selector และ Slice
  • Kotlin Extension เรียกอีกชื่อว่า KTX
  • และอื่น ๆ อีกมากมาย

 

Hello KTX – Verachad Wongsawangtham, Tipatai Puthanukunkit

  • Pain Points ของการพัฒนาแอป Android ด้วย Kotlin
    • Android แต่เดิม ไม่ได้เกิดมาเพื่อ Kotlin ทำให้เวลาจะใช้งานฟังก์ชันของ Android บางอย่าง Boilerplate มันเยอะ
    • Static Helper หายาก ไม่มีโผล่ใน Auto Complete ใช้ชีวิตยากจัง
    • Android มี Composite Type เยอะ
  • ด้วย Pain Point ข้างบน…ทำให้เกิด KTX จะทำให้ชีวิตในการพัฒนาด้วย Kotlin ดีขึ้น
  • พูดถึงการสร้าง Extension Function Kotlin เอง พร้อม Live Demo ให้ดู

 

Migrate to Navigation Architecture Component – Nonthawit Doungsodsri

slide อยู่ที่ facebook.com/thekhaeng.io

  • เริ่มด้วยการทบทวนวิธีในการเปิด Activity ใหม่ และเปิด Fragment ใหม่ แบบเดิม ๆ
  • Pain Points คือ…ทำไมการจะทำอะไรเหมือนกัน มันเขียนโค้ดไม่เหมือนกัน แถม Boilerplate เยอะมาก
  • Navigation Component จะเขียนขึ้นบน XML ส่วนโค้ดจะเขียนแค่ .navigate() เท่านั้น
  • Navigation Graph ประกอบด้วย Host , Destination, Action
  • NavController เป็นตัวจัดการว่าจะไปหน้าไหน อะไร ยังไง อ้างอิงด้วย ID
  • Navigation UI ช่วยทำให้ปุ่มต่าง ๆ ที่อยู่ใน Menu, Tab หรือ Drawer ใช้งาน Navigation ได้
  • Save Args (Gradle Plugin) เพื่อชีวิตที่ดีขึ้นในการส่งข้อมูลข้าม Activity หรือ Fragment ใช้งานบน XML ไม่ต้องไปเขียนโค้ดเพิ่ม
  • Deep Linking นั้น…Navigation Component ก็รองรับนะครับ ได้ทั้งแบบ Explicit และ Implicit
  • ถ้ามี Graph มากกว่า 1 Graph ตอนใช้งานในโค้ด ต้องอ้างถึง Class ที่มันแปะอยู่ตอนสร้างด้วย
  • สามารถทำ Testing ได้ง่ายดายมาก ใส่ controller เข้าไป แล้วดู ID ของ Destination ได้เลย
  • 1 Actitivity ควรมี 1 Navigation Graph
  • ณ วันนี้ยังเป็น Alpha และยังไม่มี startActicityWithResult()

 

ML Kit : Machine Learning for Mobile – Jirawat Karanwittayakarn, Virot Chiraphadhanakul

  • ความสนใจ Deep Learnig มากขึ้น 50 เท่าใน 8 ปีนี้
  • Deep Neural Network คืออะไร…ไปหาอ่านเอาเองนะครับ
  • ทุกวันนี้ ML มีความแม่นยำมากขึ้นกว่าแต่ก่อนมาก มี Error แค่ 3% แม่นกว่าคนที่มี Error 5%
  • แต่ก่อนเวลาจะใช้งาน ML ต้องส่งข้อมูลไปที่เซิฟเวอร์เพื่อประมวลผล แต่ตอนนี้สามารถประมวลผลได้บนมือถือแล้ว
  • ในการประมวลผลบนมือถือนั้นสามารถทำได้ แต่ยาก…เพราะ มันต้องใช้ข้อมูลในการเทรนเยอะ, โมเดลมีขนาดใหญ่ และ การ Deploy และการทดสอบมีความท้าทาย
  • TensorFlow Lite ใช้งานได้บนมือถือ รองรับทั้ง Android และ iOS
  • ML Kit เอาโมเดลที่เทรนไว้แล้วมาใช้งาน ด้วยวิธีที่ง่ายขึ้น
    • ใช้งานได้ทั้งบน Android และ iOS
    • สามารถใช้ได้ทั้ง Base Model และ Custom Model
    • ใช้งานได้ทั้ง On-Device และ Google Cloud API
    • เข้ามาอยู่ใน Ecosystem ของ Firebase
  • ML Kit for Firebase ตอนนี้มี 5 API ได้แก่ Text Recognition, Image Labeling, Barcode Scanning, Face Detection และ Landmark Recognition
  • ในอนาคตจะมี High-Density Contour feature และ Smart Reply API
  • Smart Reply ตัวแนะนำประโยคที่น่าจะใช้ในการตอบกลับโดยอ้างอิงจากบริบทของข้อความ
  • Custom Model Support คือสามารถอัปโหลด TensorFlow Lite Model ขึ้นไปบน Firebase เพื่อให้ใช้กับงานที่เหมาะกับเราได้ดีขึ้น
    • สามารถทำ Dynamic Model Download ได้
    • A/B Testing ได้
    • เร็ว ๆ นี้จะมีเครื่องมือในการ Convert และ Compress Model ให้ให้กัน โดยจะอัปโหลด TensorFlow Model พร้อมกับ Training Data ขึ้นไป มันจะไปเทรนแล้วจะส่ง Model หลาย ๆ ตัวกลับมาให้ให้เลือกว่าจะเอา Model ที่แม่นมาก แต่ขนาดใหญ่ หรือแม่นยำน้อยลง แต่ขนาดเล็กลง
  • และสุดท้ายก็มี Demo ทั้ง 5 API ให้ดู
  • รายละเอียดต่าง ๆ ดูเพิ่มเติมได้ที่ https://medium.com/@jirawatee/รู้จัก-ml-kit-for-firebase-ตั้งแต่-zero-จนเป็น-hero-7fde18735861

 

Android Things – Kajornsak Peerapathananont

  • มันคือ IoT Device ที่ใช้ Android เป็น OS
  • เป้าหมายคือ…เป็นอุปกรณ์ที่ Powerful, intelligent และ Secure
  • สามารถสร้างได้ตั้งแต่ Prototype ไปจนถึง Production
  • เนื่องจากมันเป็น Android จึงสามารถทำได้บน AS เชื่อมต่อกับ Play Service, Firebase และ Google Cloud Platform
  • ตอนนี้ SDK มียอดดาวน์โหลดมากกว่า 100k แล้ว
  • หลายสิ่งเหมือน Android แต่มี Things Support Library เพิ่มเข้ามา และตัดบางอย่างที่ไม่สามารถใช้งานบน Android Things ได้ เช่น การโทรออก, Runtime Permission ออก
  • Supported System-on-Modules (SoMs) เป็นชิปบนบอร์ดที่ใช้ในการประมวลผล Android
  • ทุกสิ่งทุกอย่างจัดการให้หมดแล้ว Developer ทำแค่ App และส่วน Driver User ไม่ต้องลงลึกถึงฮาร์ดแวร์
  • มีหน้าเว็บ Developer Console สำหรับ Deploy Application เมื่อทำเสร็จ จะได้ ROM เอาไปแฟลชลงบอร์ด
  • เมื่อมีการอัปเดท มันจะอัปเดทแบบ OTA ผ่าน Google Play Service ให้
  • นอกจากนี้ยังมี Analytics ให้ดูด้วย
  • สิ่งที่มีเพิ่มเติมใน Android Things 1.0
    • Long-Term Support ได้รับการอัปเดท 3 ปี
    • Home Activity Support ใส่ไปใน Manifest แล้วเมื่อเปิดเครื่อง แอปเราจะเปิดขึ้นมาเลย ไม่ต้องให้ผู้ใช้ไปเปิดเอง
    • Device Updates Developer สามารถสั่งให้แอปอัปเดทได้ทันที หรือสั่งให้มีการอัปเดทแบบกำหนดเวลาได้
    • Connectivity สามารถเชื่อมต่อ Bluetooth และ LoWPAN ได้ง่ายขึ้น
    • Peripheral I/O สามารถสั่งผ่าน adb ได้เลย

 

นอกจากนี้ยังมี Session อื่น ๆ ที่ห้อง Playhouse – Breakoutroom อีกครับ แต่ผมไม่ได้เข้า หัวข้อก็ประมาณนี้

  • Transfer Learning with TensorFlow Hub – Sirinart Tangruamsub
  • GCP 101 – Jirayut Nimsaeng
  • Action on Google – Kuntee Viriyothai
  • Flutter 101 – Krisada Vivek
  • Web AR/VR – Tanitphon Paniwan
  • GKE Auto Scaling – Jirayut Nimsaeng
  • Polymer 3.0 – Pongpanot Tassaneeyachumphalee

ก็ขอจบลงเพียงเท่านี้นะครับ ขอบคุณที่อ่านจนจบ ผิดพลาดประการใดก็ขออภัยไว้ ณ ที่นี้ด้วยครับ

แต่ก่อนที่จะจากกัน ขอทิ้งท้ายด้วยวิดีโอที่พี่ตี๋เปิดตอนท้ายงานด้วยครับ

ปล. จริง ๆ มีอีก 1 Session ที่ผมไม่ได้กล่าวถึงคือ Advanced Topics (D8/R8-Nitrogen-ART) – Inaki Villar เพราะว่า Session นี้ผมออกไปหาขนมกิน + ชาร์จแบตโน้ตบุ๊กครับ

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.