ความแตกต่างที่ใหญ่ที่สุดคือการออกแบบของ UI GUI ที่ดีสามารถสร้างหรือทำลายแอปพลิเคชัน แฟน ๆ Mac จะดึงดูดความสนใจไปที่ GUI ที่ออกแบบมาอย่างสวยงามของแอพ Mac OS X โดยเฉลี่ยและพวกเขามีประเด็น แต่นี่ไม่ใช่ปัญหาด้านเทคโนโลยี แต่เป็นปัญหาด้านการออกแบบ / การใช้งาน / ความสามารถในการใช้งาน
ผู้ใช้สามารถทำสิ่งที่พวกเขาต้องการในเวลาใดก็ได้ไม่เหมือนโปรแกรมคอนโซลที่คุณขอให้ป้อนหรือบอกพวกเขาออก คุณไม่สามารถสันนิษฐานได้ว่าพวกเขาจะทำตามคำสั่งที่คุณหวังเว้นแต่คุณจะบังคับใช้ตัวช่วยสร้างเวิร์กโฟลว์สไตล์
ดังกล่าวแล้วกิจกรรมมีบทบาทสำคัญในเรื่องนี้และคุณสามารถรับหลายเหตุการณ์เกิดขึ้นในขณะที่คุณให้บริการเหตุการณ์ล่าสุดดังนั้นคุณจึงไม่สามารถสร้างรัฐของคุณตาม 'เหตุการณ์ปัจจุบัน' ใช้การปิดหรือกลไกที่คล้ายกันเพื่อรักษาบริบทของเหตุการณ์ ในแอปคอนโซล FSM ของคุณมักจะอยู่ในตัวเองรอบวง 'รับอินพุต, ประมวลผลอินพุต, อัพเดตเอาต์พุต' มีโครงสร้างไม่เหมือนกันในการเขียนโปรแกรม GUI - 'หลัก' เป็นสิ่งที่ขับเคลื่อนเหตุการณ์อีกครั้งซึ่งมักจะเป็นคำสั่ง ginormous switch ()
คุณต้องพิจารณาขนาด / ความละเอียดหน้าจอที่แตกต่างกันและอนุญาตให้ปรับขนาด GUI จาก 800x600 ถึงสูงสุดของผู้ใช้จอภาพ
คุณจำเป็นต้องพิจารณากลยุทธ์การป้อนข้อมูลที่แตกต่างกัน - เมาส์แป้นพิมพ์การสัมผัส ฯลฯ เทคโนโลยีบางอย่างมีให้ฟรี
ความสามารถในการเข้าถึง - GUI เหมาะสำหรับผู้ใช้ที่มีความสามารถน้อยกว่าที่ จำกัด การมองเห็นการได้ยินทักษะยนต์หรือทักษะการเรียนรู้ เสียง 'ding' นั้นดีและชัดเจนเมื่อเปรียบเทียบกับข้อความแสดงข้อผิดพลาดที่เป็นความลับบนคอนโซล
การทำให้เป็นสากล - ฉันสมมติว่าแอปคอนโซลของคุณคือ US / ANSI เท่านั้น แต่เมื่อคุณเข้าสู่ GUI คุณสามารถมีแพ็คเกจภาษา / ทรัพยากรที่สามารถกำหนดเป้าหมายภาษาและภูมิภาคอื่น ๆ โดยไม่มีการเปลี่ยนแปลงการเข้ารหัสหากคุณเตรียมจาก เริ่มต้น ตัวอย่างเช่นไม่มีสตริงภาษาที่กำหนดโค้ดยาก - ทุกอย่างเป็นการค้นหาทรัพยากร
คุณมีตัวเลือกเพิ่มเติมมากมายสำหรับเทคโนโลยีการปรับใช้เช่น web-based, ชุดคิท GUI ต่างๆ, แฟลช / WPF, ฯลฯ
การใช้สีและภาพเคลื่อนไหว โปรแกรมคอนโซลโดยทั่วไปจะเป็นแบบโมโนโครมและไม่เคลื่อนไหวมากนัก เฟรมเวิร์ก GUI ที่ทันสมัยจำนวนมากมีวิดเจ็ตที่มีธีมและมีเอฟเฟกต์ย้าย / ขนาด / แสดง / ซ่อนภาพเคลื่อนไหวซึ่งมักจะฟรี
กราฟิก แอพคอนโซลใช้บางครั้งใช้งาน ASCII สำหรับไดอะแกรม แต่แอป GUI ให้ความสามารถด้านกราฟิกเต็มรูปแบบ ศิลปะที่น่ารักสามารถสร้างความแตกต่างที่ยิ่งใหญ่ได้เช่นกัน