วันอาทิตย์ที่ 12 มีนาคม พ.ศ. 2560

Qt Quick Application

การสร้างโปรแกรม GUI ด้วยภาษา C ในอดีตถือว่าเป็นเรื่องยาก กว่าจะสร้างได้ต้องเขียนคำสั่งกันยาวเหยียด ถึงแม้ว่า Visual C++ ของไมโครซอฟท์จะมีหน้าจอสร้างโปรแกรมแบบ GUI แต่ก็ต้องเขียนคำสั่งอีกมาก แต่พอ Visual Studio ปล่อย C# เฟรมเวิร์คออกมาทำให้เกิดการเปลี่ยนแปลงอย่างมาก การเขียนโปรแกรมง่ายขึ้น มีหน้าจอ GUI ช่วยให้ผู้เขียนสามารถสร้างฟอร์ม สร้างโปรแกรมได้ง่ายขึ้น เน้นลากวางกำหนด Properties และเขียนโค้ดควบคุมไม่มากเท่ากับ C++

ส่วนใน Linux การเขียนโปรแกรมก็ยัง อยู่ในรูปแบบเขียนคำสั่งเพื่อเรียกใช้คอนโทรลต่างๆ ของ GUI มีหลากหลาย เช่น GTK, wxWidgets และ Qt

สำหรับ Qt ก็สามารถเลอกเขียนโปรแกรมแบบเขียนคำสั่งอย่างเดียวก็ได้ หรือจะใช้ GUI ในการสร้าง Interface ก็ได้และทำได้ดีผ่านโปรแกรม QtCreator ซึ่งพัฒนาความสามารถมากขึ้นทุกวัน



QML (Qt Meta-Object Language) 

รูปแบบการเขียนโปรแกรมที่ฉีกแนวการเขียนโปรแกรมโดยสิ้นเชิง ผู้เขียนสามารถกำหนดส่วนต่างๆ ได้จากหน้าจอที่เป็นแบบ GUI และสามารถกำหนดคุณสมบัติต่างๆ พร้อมเขียนคำสั่งกำกับ แล้วระบบค่อยแปลงเป็นภาษา C++ แล้วสร้างไฟล์ประเภท execute ก็นับว่าสะดวกในการเขียนโปรแกรม แต่ก็ไม่ง่ายมากจนใครๆ ก็สามารถเปิดโปรแกรมแล้วลากวางและสร้างโปรแกรมได้ เพราะแนวคิดเปลี่ยนไปมากพอสมควร

คลิกเลือก Qt Quick Application ในการสร้างแอปพลิเคชัน (ในรูปนี้ลองเลือก Control 2)
หากเลือก Control2 ก็จะมี style ให้เลือก

หน้าจอแสดงรายละเอียดให้ดู

หน้าจอตัวอย่างโปรแกรมที่สร้างขึ้นด้วย Wizard ของ Quick Control 2

ตัวอย่างหน้าจอเมื่อสั่งรันโปรแกรม พิมพ์ข้อความแล้วคลิกปุ่ม Press Me ก็จะแสดงข้อความทาง Console

ชื่อว่า Quick แต่อาจไม่ Quick สมชื่อ เพราะต้องศึกษาหลักการเขียนอีกมาก และที่กังขาอยู่ประการหนึ่ง ว่ามันจะแตกแนวไปจากภาษา C++ ไปหรือไม่เพราะในวันหนึ่งอาจจะไม่มีความยั่งยืน เพราะไม่มีองค์กรรองรับ คือ ถ้ามันแตกแขนงไปมากก็สุ่มเสี่ยงต่อการพัฒนาในอนาคต ยกตัวอย่างโปรแกรม FoxPro และ Visual FoxPro

FoxPro ถูกซื้อและพัฒนาต่อจากไมโครซอฟท์ ในตอนนั้นผู้ใช้ต่างดีใจและคิดถึงอนาคตของโปรแกรมว่าจะอยู่ได้อีกยาวนาน เพราะค่ายยักษ์แบบไมโครซอฟท์ต้องพัฒนาอีกยาวนานแน่นอน

จาก FoxPro ก็พัฒนาเป็น Visual FoxPro ทำให้การเขียนโปรแกรมเป็นไปอย่างง่ายดาย ไม่ว่าจะเขียนจากโค้ดเหมือนเดิม หรือจะสร้างจากหน้าจอ Design ก็ง่ายแสนจะง่าย ระบบสามารถพัฒนาได้กว้างขวางพอสมควร และเป็นคู่แข่งสำคัญกับ Visual Basic เรียกได้ว่า อะไรที่ VB ทำได้ VFP ก็ทำได้เช่นกัน และเกือบจะหมดด้วย อีกทั้งมีฐานข้อมูลในตัวทำให้โปรแกรมพัฒนาได้เร็วกว่า VB ที่ใช้ฐานข้อมูลของ Access

แต่ใครจะไปคิดว่าวันหนึ่ง Microsoft ได้ยกเลิกการพัฒนา VFP ไปเสียอย่างนั้น ปล่อยให้ทุกอย่างกลายเป็นอดีตเสียอย่างนั้น

หลายคนมองว่า ไมโครซอฟท์ซื้อ FoxPro มาเพื่อดอง ไม่ให้เป็นคู่แข่งกับ VB และ Access แต่สุดท้ายฐานผู้ใช้ยังเหนียวแน่น ก็ยังทำให้มีแรงผลักต่อไป สุดท้ายก็ต้านไม่ไหว

ไม่รู้ว่า QML จะลงเอยเช่นเดียวกันหรือเปล่าก็ไม่รู้ แต่ตอนนี้ก็ต้องลองศึกษากันต่อไปว่า จะรุ่งจะร่วง
แต่ข้อคิดประการสำคัญประการหนึ่ง คือ เรียนรู้ก่อน ใช้งานก่อน ถือว่าประสบผลสำเร็จแล้วครับ


ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...