เห็นมีการพูดถึงเยอะกับ Flutter
เป็น open source platform สำหรับการพัฒนา mobile app
แบบ cross platform ทั้ง Android และ iOS ด้วยภาษา Dart
แน่นอนว่าส้รางโดยทีมของ Google นั่นเอง
เมื่อไปอ่านเอกสารก็พบการขายของนิดหน่อยคือ
- Look and Feel ของ app จะเหมือนกับ native เลย
- ประสิทธิภาพแจ่มมาก
- ได้รับแรงบันดาลใจมาจาก Reactive framework
- Debug ได้รวดเร็วมาก ด้วย hot reload นั่นคือ แก้ code ไปดูผลการทำงานไป
- สามารถเข้าถึง feature ต่าง ๆ ของแต่ละ platform ได้ เช่น battery และ GPS แต่ต้องเขียน code เฉพาะไป
- ที่ชอบคือ Flutter testing support ซึ่งใช้ทั้ง unit + mocking framework และ device testing ผ่าน Flutter Driver รวมทั้ง Widget testing ซึ่งทุกอย่างในหน้าจอจะเป็น widget ทั้งหมด ทำให้เราสามารถทดสอบ widget แต่ละตัวได้เลย น่าสนใจจริง ๆ
ปล. Flutter ยังอยู่ในสถานะ beta นะ ดังนั้นอาจจะมีการเปลี่ยนแปลงครั้งใหญ่ได้ จะใช้ Flutter ก็ต้องศึกษาใหม่ รวมทั้งภาษา Dart ด้วย ความสามารถของภาษา Dart ยังไม่เท่าเทียวกับ Swift หรือ Kotlin นะ แต่ Dart 2 ก็ดีขึ้น สำหรับชาว Android นั้นสนับสนุน Android 4.1 ขึ้นไปนะ (Jelly Bean) สำหรับชาว iOS ก็ iOS 8 ขึ้นไป และไม่สนับสนุน device 32 bit ด้วยนะ
ขั้นตอนที่ 1 เริ่มต้นด้วยการติดตั้ง
สามารถติดตั้งได้ทั้ง Windows, MacOS และ Linux เลือกได้เลยจาก Get Started :: Install ผมติดตั้งบน MacOS นะ ต้องทำการ download Flutter SDK มีขนาด 621 MB ในตอนที่ติดตั้งเป็น version 0.5.1 beta จากนั้นทำการ extract และกำหนดในตัวแปร $PATH จะสามารถ run คำสั่ง Flutter ได้ใน command line ดังนี้ [code] $flutter [/code] จะบอกว่าสิ่งที่เราติดตั้งนั้นมัน out of date ดังนั้นทำการ update ซะ [code] $flutter upgrade [/code] จากนั้นจะทำการ upgrade และตรวจสอบให้ว่า ต้องทำการติดตั้งอะไรบ้าง ซึ่งตรงนี้ง่ายดี ทำให้เรารู้ว่าต้องทำอะไรบ้าง สามารถพิมพ์คำสั่งเองได้ด้วย (ให้หมอตรวจดูให้) [code] $flutter doctor -v [/code] จะทำการตรวจสอบสิ่งต่าง ๆ ดังนี้ให้- Flutter SDK และผองเพื่อน เช่นภาษา Dart
- Android Toolchain ทั้ง Android SDK และ JDK
- iOS Toolchain ทั้ง Xcode, iOS-deploy และ Cocoapods
- Android Studio IDE ติดตั้งพวก plugin ให้ครบ
- IntelliJ IDEA ติดตั้งพวก plugin ให้ครบ
- VS Code ติดตั้งพวก plugin ให้ครบ
- การเชื่อมต่อกับ device หรือพวก Emulator
ปล. สำหรับใครที่ติดตั้ง JDK หลาย version แนะนำให้กำหนด JAVA_HOME ให้เป็น JDK 1.8 ไปเลย เอาแค่ Flutter, Android และ iOS Toolchain และ Device/Emulator/Simulator ให้ผ่าน ก็เพียงพอต่อการเริ่มต้นแล้วผลการติดตั้งต้องเป็นประมาณนี้นะ [gist id="d1acc9b4941cc5a1bb30f4fe4fbdc2eb" file="result.txt"]
เพียงขั้นตอนแรกก็จัดว่าลำบากน่าดู !!Issues ต่าง ๆ ของการติดตั้ง Flutter ก็เพียบนะ !!
เมื่อทุกอย่างพร้อม ก็เริ่มพัฒนา app กันเลย
[code] $flutter create hello $cd hello $flutter run [/code] ผลที่ได้คือ การสร้างและ run app บน device/simulator/emulator น่าจะพอไปวัดไปวาได้ สำหรับการเริ่มต้นกับ flutter แถมมีความสามารถให้ใช้งานเพียบ เช่น- ทั้งการ capture หน้าจอด้วยการกดปุ่ม s
- ทั้งการดูลำดับชั้นของ element ในหน้าจอด้วยการกดปุ่ม i
สำหรับคนเริ่มต้น เหนื่อยแน่นอน !! แต่ Keep claim and coding/learningไว้มาพัฒนา app ด้วย Flutter กันต่อไปใน part 2