ชีวิตบน Flutter เป็นยังไง เริ่มต้นเขียน Flutter ยังไง

ผมทำงานด้าน Backend มาตลอด ทำทั้งด้าน System Admin, CI/CD, Build Automation และ Release Management ที่ต้องทำเองก็เพราะว่าไม่มีคนทำให้​ ชีวิตก็เลยไปอยู่ฝั่ง Backend เยอะมาก แต่จริงๆ ผมเป็น Developer นะ ผมกลับมาเขียน Mobile Front-end อีกรอบ คิดไปคิดมาอยู่หลายรอบว่าจะเขียนด้วยอะไรดี React Native หรือจะเขียน Flutter สุดท้ายก็มาทาง Flutter เพราะโดนป้ายยามา 😛

ช่วงแรกที่หัดเขียน Flutter ก็พบว่า “นี่มันบ้าอะไรกันเนี่ย” เพราะเขียน Android Native มาตลอดยังปรับตัวไม่ค่อยได้ แต่ความรู้เก่าๆ ที่เขียน Android Native มาก็ปรับใช้ได้ แต่ก็มีสิ่งที่ประหลาดๆ ใน Flutter เช่น Future และ Asynchronous นี่แหละ เพราะรู้สึกว่าเหมือนมันไม่มีอะไรที่แน่นอนกับชีวิตแปลกดี แต่ก็เป็นความรู้ใหม่ที่เลี่ยงไม่ได้ อีกอย่างคงเป็น Widget แปลกๆ อีกมากมายที่รู้สึกว่ามี Widget เยอะจัง อีกเรื่องก็เป็น State ซึ่งไม่เหมือน Life Cycle บน Android เท่าไร

สำหรับเรื่อง UI บน Flutter ใช้ Widget ต่างๆ มาประกอบกัน ซึ่งก็คล้ายกับเขียน Layout บน Android ก็เลยปรับตัวไม่ยาก แต่ต้องไปดู Widget ต่างๆ ว่ามีอะไรให้ใช้งานได้บ้าง ถ้ามีคนถามว่าจะเริ่มเขียน Flutter ยังไง ผมคิดว่าต้องมีความรู้ Mobile App Dev สักตัวจะเป็น Android หรือ iOS ก็ได้ เพราะ Dart จะคล้าย Java หน่อยๆ เขียนโค้ดไปมันจะค่อยๆ พิศดารขึ้นเรื่อยๆ และจะทะยอย optimized ไป

เครื่องมือที่ใช้เขียนโค้ด หลายคนแนะนำ Visual Studio Code ผมคิดว่าถ้าใครถนัด Visual Studio Code ก็ใช้ครับ ผมว่าก็สะดวกดี ถ้าใช้ sublime มาจะสนุกนะ แต่พอจะต้องใช้เครื่องมืออัตโนมัติอย่างเช่น generator ต่างๆ ก็คงต้องกลับไปใช้ Android Studio เหมือนเดิม ช่วงแรกผมก็ใช้ Visual Studio Code แต่ระยะหลังๆ ก็กลับมาใช้ Android Studio เหมือนเดิม เพราะต้องใช้เครื่องมือ generator นี่แหละ ผมทำ locale ภาษาอื่นๆ ด้วย เลยต้องใช้เครื่องมือช่วยสร้าง code จากไฟล์ locale ด้วย

ถ้าอยากจะเริ่มเขียน Flutter คงแนะนำให้อ่านจากเว็บ Flutter ก่อน ถ้ามีประสบการณ์เขียน Mobile App มาบ้าง ไปดูหัวข้อ Cookbook ได้เลย จะทำให้ศึกษาได้เร็วมากขึ้น สำหรับ Widget คงต้องค่อยๆ ลองใช้ดู เพราะเยอะมาก ลองไล่ศึกษาจาก Widget Catalog ช่วยชีวิตได้เหมือนกัน เพราะเวลางงๆ ก็กลับมาอ่านทุกครั้งสำหรับ Tutorial มีเยอะมากในอินเตอร์เน็ต ลองไปค้น Youtube กันดูได้ครับ 🙂 เกือบลืมไป ผมทำรายการ package ที่ใช้ไว้ใครสนใจก็เอาไปลองเล่นดูได้ครับ

อีกอันจะเป็น The Boring Flutter Development Show แต่ละตอนอาจจะยาวหน่อยเพราะเป็น live code และเป็น pair programming ด้วย เราจะได้เห็นแนวคิดและการแก้ปัญหาต่างๆ ผ่านรายการนี้ ได้ประโยชน์มากๆ