เขียน Python สร้างแอพและเว็บด้วย Python ผ่าน Flet

Flutter เป็นสุดยอดเฟรมเวิร์คจาก Google ที่ทำให้เราสามารถสร้างได้ทั้ง Desktop App, Mobile App และ Web App แต่ภาษาที่ Flutter ใช้นั้นเป็น Dart หากเดฟอย่างเรา ๆ ถนัดแต่ Python แต่ก็อยากเขียน Flutter ด้วยละจะทำไงดี?

Flet เป็นเฟรมเวิร์คที่ทำให้เราใช้ Python ในการเขียน UI บน Flutter ได้ ไม่ต้องเรียนรู้ภาษา Dart แล้วหละ แค่ใช้ Python ที่เรา ๆ เขียนเป็นกันอยู่แล้วก็สามารถสร้างแอพได้ทั้ง Desktop, Mobile และเว็บเลย

ติดตั้ง Flet ไว้ใช้งาน

เนื่องจากเราจะใช้ Python ในการเขียนโค้ดเนอะ ดังนั้น Step แรกคงหนีไม่พ้นการติดตั้ง Python ซะก่อน เมื่อทำการติดตั้ง Python แล้ว ขั้นตอนถัดไปเราจะใช้ PIP เพื่อติดตั้ง Flet ผ่านคำสั่งนี้

pip install flet

ถ้าตรงนี้ติดปัญหาในการติดตั้งบน Windows ลองสั่งเปิด Terminal/Powershell ด้วย Run as Administrator ดูนะครับ

ถึงตอนนี้ Flet ก็พร้อมให้เราใช้งานละ

แอพแรกกับ Flet

เราจะมาสร้างแอพแรกกับ Flet กันโดยการใช้โค้ดตัวอย่างจาก เว็บ Fleet ให้ทำการสร้างไฟล์ชื่อ counter.py ขึ้นมาก่อนแล้วใส่โค้ดตามนี้ครับ

import flet as ft def main(page: ft.Page): page.title = "Flet counter example" page.vertical_alignment = ft.MainAxisAlignment.CENTER txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100) def minus_click(e): txt_number.value = str(int(txt_number.value) - 1) page.update() def plus_click(e): txt_number.value = str(int(txt_number.value) + 1) page.update() page.add( ft.Row( [ ft.IconButton(ft.icons.REMOVE, on_click=minus_click), txt_number, ft.IconButton(ft.icons.ADD, on_click=plus_click), ], alignment=ft.MainAxisAlignment.CENTER, ) ) ft.app(target=main)

เราจะรันแอพของเราขึ้นมาแบบ Desktop App ด้วยคำสั่ง

python counter.py

และนี่คือผลงานแรกของเรา

Counter App

ถ้าใครเคยเขียน Flutter มาก่อนจะเห็นว่าการเขียน UI ด้วย Flet จะคล้ายกับการใช้ Flutter ตรง ๆ อย่างมาก ต่างกันเพียงเราไม่ต้องใช้ Dart แล้วละแค่ใช้ Python ก็จัดได้เลย

ลองมาดู UI ที่ซับซ้อนกันซะหน่อยด้วยการก๊อปปี้โค้ดจาก ตัวอย่างนี้ มาใช้ หลังจากสั่งรันโปรแกรมก็จะได้หน้าตาแอพประมาณนี้

Calculator App

สร้างไฟล์ EXE สำหรับ Desktop App

เราจะทำการ build โปรเจคของเราเพื่อส่งมอบไปเป็นไฟล์สำหรับรันบน Windows ก่อนอื่นเราจะทำการติดตั้ง PyInstaller ก่อนผ่านคำสั่ง

pip install pyinstaller

เราจะใช้โปรแกรมเดิมของเราในไฟล์ counter.py ในการสร้างไฟล์ผลลัพธ์ด้วยคำสั่ง

flet pack counter.py

เมื่อการรันคำสั่งนี้เสร็จสิ้นเราจะได้โฟลเดอร์ชื่อ dist โผล่ขึ้นมา ข้างในจะเจอไฟล์ counter.exe แล้วละ ถ้าเรา double click ไฟล์นี้ก็จะเจอกับแอพที่เราพึ่งเขียนโผล่ขึ้นมาบนจอแล้ว

|- dist |- counter.exe

ลองรัน UI แบบเป็นเว็บ

ก่อนหน้านี้เราทำการสร้างแอพแบบ Desktop ไปแล้ว เปลี่ยนโค้ดนิดหน่อยก็จะได้เว็บแอพทันที

import flet as ft def main(page: ft.Page): page.title = "Flet counter example" page.vertical_alignment = ft.MainAxisAlignment.CENTER txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100) def minus_click(e): txt_number.value = str(int(txt_number.value) - 1) page.update() def plus_click(e): txt_number.value = str(int(txt_number.value) + 1) page.update() page.add( ft.Row( [ ft.IconButton(ft.icons.REMOVE, on_click=minus_click), txt_number, ft.IconButton(ft.icons.ADD, on_click=plus_click), ], alignment=ft.MainAxisAlignment.CENTER, ) ) ft.app(target=main, view=ft.WEB_BROWSER)

บรรทักสุดท้ายเราแค่ใส่ view=ft.WEB_BROWSER เข้าไป พอเราสั่งรันใหม่ก็จะกลายเป็น Web App แล้วครับ

Counter Web App

เรียนรู้การใช้งานภาษา Go

เรียนภาษา Go พร้อมสร้าง RESTful API ด้วย Go สุดคุ้มกับ 43+ บทเรียน พร้อมใบ Certificate ไม่จำกัดเวลาเรียน โปรโมชั่นพิเศษ เพียง 990.- บาท (ราคาปกติ 2,950 บาท) ลงทะเบียน 👉 https://www.codesass.com/courses/golang

ภาษา Go (Golang) เป็นหนึ่งในภาษายอดนิยมในปัจจุบัน มีรูปแบบ Syntax ที่เรียบง่ายสั้นกระชับ Go มีการทำงานที่ไว และเป็นภาษาที่อาศัยการ Compile ผลลัพธ์ออกมาเป็น Executable File (เช่นไฟล์ .exe) โดย Go นั้นใช้เวลา Compile โปรแกรมที่สั้นมาก ๆ เมื่อเทียบกับภาษาอื่น เช่น C/C++ เป็นต้น แถม Go ยังเป็นภาษาที่เขียนการทำงานแบบ Concurrency ได้ง่าย ข้อดีทั้งหมดนี้ Go จึงเหมาะกับการสร้างโปรแกรมทั้งแบบ CLI, Backend API, โปรแกรมบน Cloud ดังจะเห็นได้จากหลาย ๆ โปรเจคที่พัฒนาด้วย Go เช่น Docker, Kubernetes เป็นต้น

🏆 ปัจจุบันบริษัท Tech หลายแห่งในไทยรับสมัครสายงานที่เกี่ยวกับ Go ค่าตัวแพงระดับ 35K - 120K++ จบคอร์สนี้ผู้เรียนสามารถต่อยอดทำงานในสายอาชีพ Go Developer ได้เลย

คอร์สนี้สอนการใช้งานภาษา Go (Golang) ตั้งแต่เริ่มต้น พร้อมสร้าง Backend แบบ RESTful API และสร้าง Real World โปรเจคไปกับระบบขายสินค้า

👏 สิ่งที่ผู้เรียนจะได้รับจากคอร์สนี้

  • เข้าใจการเขียนโปรแกรมด้วย Go ด้วยเนื้อหาที่สั้น กระชับ ไม่หนักหัว
  • เข้าใจหลักการของ RESTful API และการใช้ Go + Gin Framework เพื่อสร้าง API
  • เรียนรู้การใช้ GORM เพื่อต่อฐานข้อมูลคือ MySQL
  • เข้าใจการทำงานกับฟอร์มผ่านภาษา Go
  • เรียนรู้การเชื่อมต่อกับ UI กับ API

♨️ พิเศษสุด !!

  • เราเชื่อว่าการเรียนต้องได้ทำจริง คอร์สของเรามี Workshop ระบบร้านขายของออนไลน์
  • ไม่จำกัดเวลาเข้าเรียน เรียนได้ทุกเมื่อที่ต้องการ
  • มีแบบทดสอบท้ายคอร์สเพื่อประเมินตนเอง
  • คอร์สนี้มีใบ Certificate แจกไว้อัพโปรไฟล์
  • ถาม-ตอบ ได้ในบทเรียนเมื่อไม่เข้าใจเนื้อหา

อัพสกิล Go สุดคุ้มในราคา 990 บาท (จากราคาปกติ 2,950 บาท) เนื้อหาจัดเต็มไม่จำกัดเวลาเรียน ลงทะเบียนที่ https://www.codesass.com/courses/golang ขอให้สนุกกับการเรียนรู้ Go ไปด้วยกันครับ 😁

Course Go


กรุณาเข้าสู่ระบบก่อนเริ่มแสดงความคิดเห็น