อบรม Flutter Fundamental 7 ชั่วโมง #2

ภาพตัวอย่างจากห้องเรียนในรุ่นที่ 1

 

วันที่และเวลา

วันอาทิตย์ที่ 9 มิถุนายน 2562 เวลา 9:00-17:00

 

ระยะเวลา

7 ชั่วโมง (ไม่รวมช่วงพักเที่ยง)

 

สถานที่

The Connecion Seminar Center @MRT ลาดพร้าว
MRT ลาดพร้าว ประตูทางออก 4

 

ราคา

ราคาปกติ 3,900 บาท เหลือเพียง 2,900 บาท (รวมอาหารกลางวัน และของว่าง)

 

ผู้สอน

ภาณุวัฒน์ จันทวี (เบนซ์)

Computer Science, CMU
Laravel Developer
Android Developer
Flutter Developer

 

พื้นฐานของผู้เรียน

ไม่จำเป็นต้องเขียน Flutter หรือ Mobile App มาก่อน แต่อย่างน้อยควรสามารถเขียนโปรแกรมจากภาษาใดภาษาหนึ่งได้บ้าง

 

การเรียน

ผู้เรียนจะต้องนำ Notebook หรือ Macbook มาเอง โดยเครื่องมือที่ใช้เขียนโปรแกรม คือ Android studio หรือ VS Code แล้วแต่ผู้เรียนถนัด แต่ผู้สอนจะใช้ Android Studio ในการสอน เนื่องจากถนัดกับปุ่มลัดต่างๆใน Android Studio โดยใน course นี้จะไม่สอนวิธีติดตั้ง Flutter ดังนั้นผู้เรียนต้องติดตั้ง Flutter พร้อมรันแอปด้วย emulator หรืออุปกรณ์จริงมาจากที่บ้านแล้ว

 

เนื้อหา

เนื้อหาใน course นี้ผมจะเน้นไปที่พื้นฐาน Flutter ที่ควรรู้เพื่อนำไปต่อยอดได้เอง เน้นไปที่การใช้ Widget ต่างๆ ในการเขียน UI เป็นหลักครับ แต่ก็จะ overview เนื้อหาอื่นๆที่จำเป็นกับการพัฒนาแอปไปด้วย

 

1. Flutter Overview

  • Why should Flutter.
  • Flutter roadmap.
  • Flutter VS ____.

2. Dart and Flutter tool

Flutter ใช้ภาษา dart ในการเขียนโปรแกรม ดังนั้นผมจะแนะนำ key สำคัญของภาษา dart ที่ควรรู้ และการใช้รูปย่อต่างๆในภาษา dart ที่มักใช้บ่อยๆใน Flutter

  • Dartpad and Print log.
  • Simplied code in dart.
  • Constructor in Dart.
  • Optional parameter.
  • Arrow functions.
  • Get/Set Method.
  • Importing package.
  • Hot reload and restart.
  • Android studio shortcut.
  • Flutter snippet.

3. State and Widget

เรื่องพื้นฐานใน Flutter คือต้องรู้ว่า Stateless / Stateful Widget คืออะไร และทำไมถึงต้องใช้ StatefulWidget เมื่อไหร่ควรจะใช้มัน

  • Stateless Widget.
  • Stateful Widget.
  • Parameters of Widget.
  • State lifecycle.

4. Building UI with Material and Cupertino Widget

ส่วนนี้จะเน้นเป้นพิเศษ พามาลองมารู้จักกับ Widget ต่างๆใน Flutter เพื่อสร้าง UI ที่ต้องการ เช่น การทำปุ่ม การใส่สี การทำขอบมน การใช้ drawer การใช้ ListView แบบต่างๆ และใน Flutter

  • Widget is everything.
  • App Widget
  • Scaffold, AppBar, Drawer, Container, Image, Text.
  • Material icons and colors.
  • Decoration and widget style.
  • Row Column.
  • Expanded Widget
  • Stack, Align and Positioned Widget.
  • ListView and Dynamic ListView.
  • TextField and Controller.
  • Material and Cupertino widget
  • Specific platform.

5. Dialog

รู้จักการใช้ dialog ใน Flutter และการทำ custom dialog ในรูปแบบของเราเอง

  • Material dialog.
  • Cupertino dialog.
  • Custom dialog.
  • Dialog callback.

6. Routing , Navigation and Route Transition

การเปลี่ยนหน้าจอใน Flutter ต้องรู้เกี่ยวกับเรื่อง Routing ว่าทำงานอย่างไร และ Route กับ Navigator ต่างกันอย่างไร

  • Routing within app.
  • How to navigator work.
  • Create custom route transition.

7. Key Widget and BuildContext

Key และ BuildContext คือสิ่งที่ ทุกๆ Widget มีอยู่ มีหลายๆครั้งเราต้องใช้มันเพื่อระบุตัวตนของ Widget ผมพาไปลองเล่นกับ key แบบต่างๆ และ ผมจะพาไปรู้จักกับ BuildContext มันว่ามันคืออะไร ทำงานอย่างไร

  • Global key and other keys.
  • BuildContext in Flutter.
  • Widget tree and BuildContext.

8. BLoC Pattern

ผมอยากจะแนะนำให้รู้จักกับ BLoC Pattern ใน Flutter ที่ช่วยเรื่องการจัดการ state ว่าใช้งานอย่างไร ทำไมถึงต้องใช้มัน

  • BLoC Pattern 101.
  • StreamBuilder.
  • BLoC with StreamBuilder.

9. Call API , JSON , Future, Async and Await

ลองใช้งาน call API เพื่อทำให้แอปของเราสามารถติดต่อกับ server ได้ และการใช้ Future<> และ Async method มันคืออะไร ที่ชวนงง สำหรบผู้เริ่มต้น

  • Http library.
  • JSON and Dart.
  • Future and Async
  • FutureBuilder

10. SharePreference

ทำแอปให้เก็บข้อมูลลง memory ภายในแอป

  • Read/write data on SharePreference.

11. Multi-Localization

การทำแอปให้รองรับหลายภาษา หลายประเทศ

  • Custom localization class.
  • Changing localization.

12. Multi-Screen and Multi-Layout

การทำแอปให้รองรับ layout ในหลายขนาดหน้าจอ เช่นในโทรศัพท์และแท็บเลต

  • MediaQuery
  • LayoutBuilder
  • OrientationBuilder

13. Basic testing

การเขียน testing ใน Flutter เบื้องต้น

  • Unit test
  • Widget test

14. Hero widget

การกำหนด Widget ให้แสดง animation ระหว่างหน้าจอ transition

  • Basic hero Widget
  • Hero flight

15. Method Channel

เรียกใช้งาน Native code จาก Flutter

  • Invoking native code.

Workshop

สำหรับ Workshop จะเน้นไปที่เรื่องของ Widget มาทำแอปง่ายๆตามที่กำหนด ด้วย Flutter เพื่อฝึกการใช้ Widget การเขียน UI และการจัดการ state เบื้องต้นใน Flutter

 

การชำระเงิน

โอนผ่านบัญชีธนาคาร ตามเลขที่บัญชีข้างล่างนี้ หรือ พร้อมเพล์ 091-880-1312 (ภาณุวัฒน์ จันทวี)
จากนั้นโปรดแจ้งหลักฐานการโอนเงินมาที่ LINE id : benz7net หรือที่เพจ benzneststudios

ขออภัย ไม่สามารถออกใบกำกับภาษีได้

 

ติดต่อ

เพจ https://web.facebook.com/benzneststudios/
LINE : benz7net
โทร 091-880-1312 (เบนซ์)

 

ภาพการเรียนจาก #1

รวมภาพ Flutter Fundamental #1