มางาน Kotlin Meetup 1.2.41 แบบชิวๆ

Minseo Chayabanjonglerd
MikkiPastel
Published in
4 min readMay 24, 2018

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

เอารูปนี้เป็นปกแล้วกัน บัตรงานนี้หมดใน 10 ชั่วโมงแหน่ะ

ปล. ขออภัยที่กลับก่อนน๊าาา คุณหญิงจำปาที่บ้านจิกนุ้ง

โอเคคะ รู้แหละ session แรกทุ่มนึง แล้วมาสาย เลยเป็นงี้แหละ

ตอนแรกจะเป็นทางเจ้าบ้านในครั้งนี้ THiNKNET มาแนะนำว่าเขามี product อะไรบ้าง เปิดเว็บให้ดูเลย นอกจาก jobthai ก็มี product อื่นๆนะ

ก่อนที่จะเริ่ม session ของเหล่า speaker มาเริ่มที่ฝั่ง Thailand Kotlin Developer โดยพี่เบิร์ดกันก่อนเลย

  • คร่าวๆ มี update จาก Google I/O 2018 ที่ Android Developer มาเขียน Kotlin กันมากขึ้น และมีแอปบน store ที่เป็น Kotlin code แล้ว
  • เจ้า Kotlin เขา Support library ใหม่ๆด้วยนะจ๊ะ
  • Appcode เป็น plug-in ที่ใช้เขียน Kotlin ใน xcode เพื่อเชื่อมกับ swift
  • จัดการ Bundle ฝั่งเว็บด้วย kotlin-js
  • กิจกรรมแจกเสื้อ ที่เราเข้าไป PR ใน github สามาาถร่วมสนุกจนกว่าเสื้อจะหมดนะ ที่กรุ๊ป อาจจะ reply post ที่เราแปะไว้ด้านล่างนี้ (อุตส่าห์ขุดนะเนี่ย) หรือตั้งโพสใหม่ก็ได้นะ ทางทีมงานจะช่วยดูให้

เนื่องจากฝนตก รถติด เลยมีการปรับเปลี่ยนกันเล็กๆน้อยๆ

Android and App Engine with Kotlin by Inaki Villar [Android GDE, Senior Android Developer @ Agoda]

ภาษา Kotlin เป็น WORA คือ white once, run anywhere เขียนได้ทุก os เลยจ้าาา ไม่ว่าจะเป็น windows, macOS, linux, iOS, Android, webassembly (wasm32 only)

สำหรับฝั่ง server ก็มีหลายๆตัวดังรูปเลยจ้า ในที่นี้ใช้ Google Cloud นะ

วันนี้จะทำแอปที่เชื่อกันว่าหลายๆคนคงจะรู้จัก นั่นคือ กระเป๋าเงิน Bitcoin นั่นเองงงงงงงงง (อันนี้แอบเซอร์ไพรส์ ไม่ได้คาดคิดมาก่อนแหะ)

โครงสร้างฝั่งแอปก็เป็น Android Architecture Components นั่นเอง เขียนด้วยภาษา Kotlin

และการเชื่อมต่อกับ Google Cloud ☁️ มีดังนี้

ฝั่ง Google Cloud ☁️ ใช้สามตัว คือ App engine, endpoints, datastore

แล้วก็ดึง data ออกมาเป็น json จาก endpoints

หน้าตาเจ้าแอปนี้จะเป็นแบบนี้

บางคนอาจจะฟังทันบ้าง ไม่ทันบ้าง ในด้าน technical คุณนากิบอกว่าจะฝาก information เกี่ยวกับ session นี้มาให้พี่เบิร์ดอีกทีจ้า

อัพเดตแปปจ้า อันนี้บล็อกคุณนากิ เอ๊ะเรา bookmark ไว้ ยังไม่ได้อ่านเลยจ้า ตอนแรกก็แอบคุ้นๆอ่ะ แง

Introduction to build React app with Kotlin by Patipan Injai [Android Developer @ Ascend]

น้องบอกว่างานนี้เป็นงานแรกที่เป็น speaker แต่ขอแอบไม่เชื่อได้ม่ะ 555 ดูเชี่ยวชาญกว่าพี่อีกลู๊กกกกก (ย้อนกลับมางาน Meetup คราวก่อนที่เราก็ขึ้นไปพูดครั้งแรก แหะๆ)

น้อง(เขาเรียกคนฟังว่าพี่ๆง่ะ แต่อายุน้อยกว่าพี่เอกก็น้องแหละ ฮ่าๆ)
เฮ้อออ เอาใหม่ๆ น้องได้บอกลำดับขั้นตอนการทำ แบบ step-by-step ให้เห็นภาพกว้าง

ก่อนอื่นเตรียมตัวกันก่อน เจ้า Node.js ที่ใช้ ใช้ได้ version 8 เท่านั้นนะ ไม่งั้นมันจะใช้ไม่ได้ (คงต้องลบออกลงใหม่แล้วแหละ เพราะเครื่องเราลงเวอร์ล่าสุดไว้ตอนไป workshop Vue.js)

การสร้างโปรเจก มีสองวิธี แบบง่ายๆ แบบในรูป กับแบบหัวร้อน ซึ่งเคยทำแบบหัวร้อนในตอนนั้น แล้วก็พัง สร้างใหม่หลายรอบ เหมือนที่น้องเขาพูดเลย

ตาเราก็เบลอ กล้องถ่ายมาก็เบลออีก =_= อันนี้เป็นการสร้างโปรเจกแบบง่าย

Editor ที่ใช้ มีสองตัว คือ VS Code ที่ลง plug in Kotlin ซึ่งตัวนี้ฟรี และ intellij ultimate ซึ่งตัวนี้ไม่ฟรี

เราไม่รู้ฝั่ง React เท่าไหร่เลยอ่ะ พอรู้แต่หลักการที่คล้ายๆเจ้า Vue.js ใน Kotlin ตัวเด่นๆ คือ Rbuilder

เราสามารถ Set state ใน class เดียวกันเท่านั้น

ตัวที่ใช้มีทุกอย่างยกเว้น redux หื้มมม

ฝั่ง React ก็มีเจ้า Router ด้วยเช่นกัน

ในที่นี้ใช้เจ้า Firebase Hosting 🔥 ในการ deploy

จบด้วย Reference ว่าเรียนกับอาจารย์ท่านไหน ลองซูมรูปเอาแล้วกันเน้อออ

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

  • ยังไม่ได้ลอง deploy กับ Heroku หรือเจ้าอื่นๆ
  • เวลาขึ้นโปรเจกใช้ npm run build เหมือน Vue.js เลย

น้องบอกว่าจะเขียนบล็อกเกี่ยวกับ session นี้ด้วย พี่รออ่านอยู่น๊าาา

ปล. สไลด์ตัวหนังสือเล็กไปนิดนึง

อัพเดตสไลด์เป็นไฟล์ keynote นะฮะ

Make your Java code More awesome in Kotlin by Anirut Teerabut [Android Developer @ QueQ]

มีท่าที่เราไม่เคยใช้ด้วยแหะ น้องยกมา 3 ตัวอย่าง

  • Infix notation อันนี้ไม่เคยใช้แหะ ใส่ชื่อ event listener ไว้หลังชื่อ id ของตัวนั้นๆ เช่น button onClick และparameter มีเพียงหนึ่ง
  • For loop มีทั้งแบบปกติ forEach และแบบอยากได้ index forEachIndexed
  • RecyclerView มี demo เอ้ยยย live code สิ

การ live code มีการ compare ระหว่าง Java และ Kotlin ให้เราดูด้วย เริ่มจาก adapter แล้วก็หน้า Activity จนมาคลิก item

ซึ่งเราต้องขออภัยด้วยที่กลับก่อน เพราะแม่เราไลน์ตามจนจะโทรตามแล้ว ฮืออออออๆๆๆๆๆๆ

อัพเดต ลิ้งสไลด์จ้าา

และ repository

ทั้ง 3 sessions ก็ได้ความรู้ใหม่ๆด้วย ทั้งเรื่อง Google Cloud, React, Infix และได้ทบทวน RecyclerView ที่เขียนมาตลอดด้วยว่าใช้ท่าต่างกันไหม จนอยากเขียนบล็อกใหม่เลย เพราะก่อนหน้านี้เป็น Java ด้วย

แอบสบายใจนิดๆ ที่เนื้อหาในงานนี้ไม่ทับไลน์กับ session Kotlin Generation ใน Code Mania 111 ของเรา ซึ่งสไลด์ยังไม่เสร็จ และก็ดีใจที่บัตรรอบแรกขายหมดนะ เย้ เพิ่มความกดดันไปอีกกกก

เอาจริงๆนะ ทาง Thailand Kotlin Developer เปิดกว้างเรื่อง speaker นะ ใครมีอะไรดีๆเกี่ยวกับ Kotlin ก็มาแชร์กันได้เลย support developer กันสุดๆ

ปิดท้ายด้วยภาพบรรยากาศนิดๆหน่อยๆ

สุดท้ายฝากร้านกันสักนิด ฝากเพจด้วยนะจ๊ะ

--

--

Minseo Chayabanjonglerd
MikkiPastel

Android Developer | Content Creator AKA. MikkiPastel | Web2 & Web3 Contributor