มางาน Kotlin Meetup 1.2.41 แบบชิวๆ
คิดว่าจะไม่เขียนบล็อกแล้ว แต่มีประเด็นต้องจด สักนิดแล้วกันนะ หมายเหตุ จดด้วยมือถือล้วนๆเลย
ปล. ขออภัยที่กลับก่อนน๊าาา คุณหญิงจำปาที่บ้านจิกนุ้ง
โอเคคะ รู้แหละ 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 นะฮะ
https://drive.google.com/file/d/1S5IP5_kLrlIfatGf2bFILzUzfiwpkenA/view
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
และแบบอยากได้ indexforEachIndexed
- 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 กันสุดๆ
ปิดท้ายด้วยภาพบรรยากาศนิดๆหน่อยๆ
สุดท้ายฝากร้านกันสักนิด ฝากเพจด้วยนะจ๊ะ