5 Python GUI Frameworks ที่สามารถใช้สร้าง Desktop, Web และ Mobile Apps ได้

09-มี.ค.-22

คัมภีร์เทพ IT

Python ประสบความสำเร็จในหลากหลาย Use Case แต่มีคนไม่มากนักที่เข้าใจและชื่นชมความสามารถของมันในการสร้าง Graphical User Interfaces (GUI) ซึ่งในบทความนี้จะกล่าวถึง 5 Python GUI Frameworks ที่สามารถใช้สร้าง Desktop, Web และ Mobile Apps ได้ ซึ่งประกอบด้วย 3 Cross-Platform GUI Frameworks และ 2 Web Interfacing Tools

1. Streamlit

Streamlit เป็น Tool ที่ยอดเยี่ยมสำหรับการพัฒนา Web Apps โดยใช้ Python มันมีรูปแบบการ Coding แบบ Declarative ซึ่งแน่นอนว่ามีประโยชน์มาก

หากจะใช้ Tool ตัวนี้ คุณไม่จำเป็นต้องรู้ HTML, CSS หรือ JavaScript หรือ Web Development Online Courses ในเชิงลึกแต่อย่างใด เพียงแค่คุณใช้งาน Python ได้ คุณก็พร้อมทำในสิ่งที่คุณต้องการแล้ว

คุณสามารถติดตั้ง Streamlit ด้วยคำสั่งต่อไปนี้

นี่คือตัวอย่างการนำไปประยุกต์ใช้งานแบบง่าย ๆ ที่แสดง Pandas Data Frame บน Web Page

สร้าง File ที่ชื่อ quickstart.py และหากจะเริ่มใช้ Streamlit Web Server ก็ให้ Run คำสั่งต่อไปนี้

คำสั่งนี้จะเป็นการเริ่มต้นใช้ Development Server และใน Web Browser ของคุณ คุณจะได้เห็นสิ่งต่อไปนี้

นอกจากนี้คุณสามารถดู Live Version ของ App นี้ ได้ที่นี่เลย

2. Plotly Dash

Plotly เกิดขึ้นมาหลายปีแล้ว ส่วน Dash เป็น Framework ที่ใช้ประโยชน์จาก Plotly Charts เพื่อสร้าง GUI ที่เขียน Code น้อยกว่า

Plotly Dash เป็น Solution ที่ยืดหยุ่นซึ่งเหมาะกับการใช้งานที่หลากหลาย Website ของพวกเขากล่าวว่า มันถูกออกแบบมาเพื่อเข้าถึงในสิ่งที่ Tableau และ PowerBI ไม่สามารถเข้าถึงได้

สามารถติดตั้ง Plotly Dash ด้วยคำสั่งเดียวดังด้านล่างนี้ จาก PyPI Repository

ในการเริ่มต้นใช้งาน คุณสามารถสร้าง File ที่ชื่อ app.py ตามด้านล่างนี้ และ Run มันเหมือนกับ Python Script อื่น ๆ

ทำการ Run Code ด้านล่างนี้เพื่อ Activate Webserver จากนั้นมันจะเริ่มต้น Flask Development Server แล้วเปิดมันบน Web Browser ของคุณ

ทั้ง Plotly Dash และ Streamlit ดูจะเป็นเทคโนโลยีที่ค่อนข้างถูกใช้งานมานานและมีประสิทธิภาพ แม้ว่า Tools เหล่านี้จะมีประโยชน์มากในการพัฒนา Web Application แต่เราก็มี Tool ที่ช่วยเราสร้าง Cross-Platform Apps ใน Python ซึ่งคุณสามารถดูได้ในข้อถัดไป

3. Kivy

Kivy เป็น Python Framework สำหรับพัฒนา Software แบบ Cross-Platform ด้วย App นี้ คุณสามารถสร้าง Desktop Applications สำหรับ Windows, OS X และ Linux, สร้าง mobile apps สำหรับ iOS และ Android รวมทั้งใช้งานมันบน Embedded Devices ที่ใช้งาน Raspberry Pi

Python ไม่ได้ถูกจำกัดอยู่แค่การพัฒนา Web และ Desktop อีกต่อไป คุณสามารถทำสิ่งต่าง ๆ มากมายที่คุณไม่สามารถทำได้ในภาษาอื่น บางทีนั่นอาจเป็นเหตุผลที่ว่า ทำไม Python จึงเป็นเทคโนโลยีที่ได้รับความนิยมมากที่สุดใน Stackoverflow Developer Survey, 2021

ใน Documentation ของ Kivy ประกอบด้วย คำแนะนำโดยละเอียด ตั้งแต่การติดตั้งไปจนถึงการเผยแพร่ใน Android Marketplace พวกมันมีความแตกต่างกันอย่างมากจาก Platform หนึ่งไปอีก Platform หนึ่ง

หากคุณใช้ Ubuntu (Linux) คุณสามารถใช้ Official PPA ของ Kivy ในการติดตั้ง และนี่ก็เป็นคำแนะนำในการติดตั้ง

เมื่อติดตั้งแล้ว คุณสามารถสร้าง File app.py ที่ด้านล่างนี้ และ Run พวกมันเพื่อดูว่า Kivy ทำอะไรได้บ้าง

ดังที่คุณเห็นในตัวอย่างข้างต้น Grid Layout ของ Kivy นั้น มีประโยชร์อย่างยิ่งในการจัด UI Elements บน Screen คุณต้องระบุจำนวน Columns และเริ่มเพิ่ม Elements เพียงเท่านั้น เพราะ Kivy ก็มีความฉลาดเพียงพอที่จะแสดงผลให้ออกมาดีที่สุด

แน่นอนว่า Kivy ทำอะไรได้มากมาย โดยจาก Official Documentation ของมัน คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GPU Optimization, Mobile Builds, Touch Support เป็นต้น นี่คือ Tutorial ที่ยอดเยี่ยมของ Freecodecamp ที่คุณสามารถรับชมได้บน Youtube

Kivy เป็น Tool ที่ยอดเยี่ยมในการสร้างต้นแบบ Mobile Applications ของคุณ หากทีมของคุณยังไม่เชี่ยวชาญในทักษะเกี่ยวกับการพัฒนา Mobile Apps นี่อาจจะเป็นตัวเลือกที่เหมาะสมที่สุด

4. PyQt5

PyQt5 เป็น Framework ที่สร้างขึ้นจาก QT โดย QT (และ PYQT5) มีการรองรับการพัฒนาแบบ Cross-Functional มันรองรับทั้ง Windows, Mac, Linux และ Mobile Flatforms อย่าง iOS และ Android

นอกจากจะมี UI Components ที่น่าประทับใจแล้ว PyQT5 ยังทำงานร่วมกับ Native OS API ได้เป็นอย่างดี ข้อดีอีกอย่างที่ยอดเยี่ยมของ PYQT5 คือ QT Designer ซึ่งเป็น Tool ที่ช่วยให้คุณสร้าง UI ด้วย QT Widgets

คุณสามารถติดตั้ง Framework ได้ โดยใช้ PyPI ได้ดังนี้:

App ที่มีสไตล์ Hello World จะมี Code เพียงไม่กี่บรรทัดที่ทำให้มี UI ดูดีได้

QT และ PyQT5 เป็น Framework ที่ครบมีประสิทธิภาพ เนื่องจาก Ecosystem ของมันค่อนข้างครอบคลุมมาก ดังนั้น คุณอาจต้องใช้เวลาพอสมควรกว่าที่จะเชี่ยวชาญพวกมัน แต่ขณะเดียวกันการค้นหา Resources ที่จะเรียนรู้พวกมันแบบฟรี ๆ ก็ไม่ใช่เรื่องยากอะไร

อย่างไรก็ตาม PyQT5 นั้นไม่ใช่ของฟรีในการใช้งานเชิงพาณิชย์ คุณสามารถดู Tutorials ของ PyQT5 ได้จากที่นี่

5. Tkinter

Tkinter เป็น Standard Python GUI Library และเช่นเดียวกับ Kivy และ PyQT5, Tkinter ก็สามารถทำงานบน Windows, Linux และ Mac OS ได้เช่นกัน เนื่องจาก Tkinter ใช้ OS Native Elements มันจึงมีลักษณะและให้รู้สึกเหมือนกับทุกอย่างบน Platform ที่มันกำลังทำงานอยู่

Tkinter ค่อนข้างง่ายต่อการ Implement และ เรียนรู้ แต่ข้อจำกัดของมันก็คือ มันไม่มี Advanced Widgets อย่างไรก็ตาม มันเป็น Tool ที่ยอดเยี่ยมในการสร้างต้นแบบแนวคิดของคุณในเวลาอันสั้น

การติดตั้ง Official Python มาพร้อมกับ Tkinter ที่มากับมัน แต่ถ้าคุณใช้ Ubuntu คุณจะต้องติดตั้งตามคำแนะนำต่อไปนี้

เมื่อคุณติดตั้ง Package แล้ว คุณสามารถ Execute Python Script ต่อไปนี้ เพื่อเขียน Hello World App

จาก Code ด้านบนนี้ จะเปิด GUI ที่มีหน้าตา ดังด้านล่างนี้

อย่างที่คุณเห็น Tool นี้ไม่มีอะไรซับซ้อนมากนัก เมื่อเทียบกับ Tool ก่อนหน้านี้ หากคุณอยากทราบรายละเอียดเพิ่มเติมสามารถอ่านบทความได้ที่นี่

ที่มา:  https://towardsdatascience.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด