رابط کاربری گرافیکی (GUI) چیست؟
برای برقراری تعامل میان کاربر با ماشین (کامپیوتر)، از نوعی رابط گرافیکی به نام رابط کاربری گرافیکی یا Graphical User Interface استفاده میشود. این رابط کاربری، شامل نمایههای گرافیکی مثل دکمهها، آیکونها و تعاملات قابل انجام با کمک این آیکونها است. در واقع به جای نوشتن متن یا کدهای فرمان، از رابط کاربری گرافیکی استفاده میشود. یکی از نمونههای بسیار متداول استفاده از GUI، در سیستم عاملهای مایکروسافت مانند نسخههای مختلف ویندوز است.
استفاده از رابط کاربری گرافیکی یا GUI در سیستمهایی عامل مثل ویندوز، باعث راحتی کاربران شده است. کاربران دیگر برای تعامل با کامپیوتر همانند سیستم MS-DOS نیازی به نوشتن فرمان ندارند. آنها به راحتی از آیکونهای گرافیکی ویندوز استفاده کرده و با عملکرد هر کدام آشنایی دارند. بنابراین این رابط کاربری جزئیات فنی و دشوار سیستم را ساده میکند.
تاریخچه رابط کاربری گرافیکی
GUI در اواخر دهه 1970 در آزمایشگاه پژوهشی Xerox Palo Alto ابداع شد و به طور تجاری در سیستمهای عامل ویندوز شرکت مایکروسافت و سیستم مکینتاش شرکت اپل به کار رفت. این رابط گرافیکی برای رفع ناکارآمدی رابطهای متنی و فرمان محور به وجود آمد تا کاربران عادی هم بتوانند از این فناوری استفاده کنند.
رابط کاربری گرافیکی به مفهومی استاندارد در حوزه برنامه نویسی تبدیل شده است. کاربران با وجود این رابط به راحتی میتوانند از کامپیوترها و سایر دستگاههای الکترونیکی استفاده کنند. کاربران با دستکاری مستقیم آیکونهای گرافیکی مثل دکمهها، مرورگرها، ویندوزها، تبها، منوها و غیره از این فناوری استفاده میکنند. پس همه ما در طول روز با این رابطهای گرافیکی سرور کار داریم. بسیاری از رابطهای کاربری مدرن دارای صفحه لمسی و امکان برقراری تعامل با کمک فرمان صوتی هستند.
سفارش یا انجام پروژههای برنامهنویسی
عملکرد رابط کاربری گرافیکی
مفهوم اصلی مورد استفاده GUI در سیستم عامل، مفهوم Abstraction است. در اینجا فرمانهای پیچیده به صورت نشانگر و آیکون درآمده است. پس با انتزاع یا Abstraction میتوان اطلاعات و فرایند کار را ساده کرد و از دید کاربر پنهان نمود. یعنی در سیستم عامل ویندوز به راحتی با کمک نشانگر ماوس روی آیکونهای مدنظرتان کلیک میکنید. بعد از کلیک روی آیکون مدنظرتان میتوانید فعالیت مدنظرتان را از کامپیوتر بخواهید. در واقع رابط کاربری گرافیکی، زبان کاربر را در قالب فرمان یک خطی، یک کلیک یا دو کلیک به زبان کامپیوتر ترجمه میکند. حالا کامپیوتر این زبان ترجمه شده را میفهمد و به آن پاسخ میدهد.
مثالی کاربردی
صفحه نمایش زیر، مثالی از GUI است. اگر بخواهید روی این صفحه با اپلیکیشن خاصی کار کنید، باید رویش با کمک نشانگر ماوس کلیک کنید. مثلا برای تماشای فیلم از برنامه KMPlayer استفاده میکنید. حالا اگر رابط کاربری گرافیکی روی این سیستم وجود نداشت، چه کار باید میکردیم؟
باید برنامه خط فرمان (Command Prompt) را باز میکردیم و خط فرمان مربوط به اپلیکیشن مدنظرمان را به همراه دستورالعملهای فید وارد میکردیم تا اپلیکیشن مد نظرمان مثل KMPlayer را باز میکردیم و فیلم میدیدیم. این کار چندان جالب نیست چون برای هر کاری باید فرمان خاصی را وارد کنید. ولی حالا با وجود GUI میتوانیم KMPlayer را تنها با دیدن آیکون آن تشخیص دهیم و با دو بار کلیک رویش، آن را باز کنیم. بعد فیلم مدنظرمان را انتخاب کرده و میبینیم.
با توجه به مثال فوق، رابط کاربری گرافیکی، زندگی ما را بسیار ساده کرده است. حتی افراد عادی که تخصص خاصی هم ندارند به راحتی از کامپیوترها استفاده میکنند. پس GUI توانسته کامپیوترها را به تولید انبوه رسانده و کار با آنها را جذاب تر نماید.
مطلب پیشنهادی: رزبری پای (Raspberry Pi) چیست؟
نرم افزار Sketchpad را میتوان اولین برنامه طراحی گرافیکی کامپیوتری دانست. ایوان ساترلند در سال 1962 این برنامه را در شرکت MIT تهیه کرد. کاربران با کمک یک قلم نوری و این برنامه میتوانستند طراحیهای مهندسی را دستکاری کنند. حالا دیگر سیستم عاملهای مدرن با رابطهای کاربری گرافیکی در ابزارهای کاربردی مثل دستگاههای خودپرداز، دستگاههای سلف سرویس، بازیهای ویدئویی، گوشیهای هوشمند و دسکتاپها به کار میروند. برخی از رابطهای گرافیکی مدرن شامل مایکروسافت ویندوز، macOS، Ubuntu Unity و GNOME برای محیطهای دسکتاپ و اندروید، iOS، BlackBerry OS، ویندوز 10 موبایل، Palm OS-WebOS و Firefox OS برای گوشیهای هوشمند هستند.
مزایا و معایب رابط کاربری گرافیکی
در ادامه به مزایا و معایب GUI اشاره میکنیم.
مزایا
- سهولت در استفاده از فناوری برای کاربران فراهم است.
- ظاهر بصری خوشایند که امکان استفاده افراد عادی از دستگاههای حاوی این رابط را فراهم میکند.
- حتی افراد فاقد دانش کامپیوتر هم میتوانند کارهای سادهای مثل تماشای فیلم روی کامپیوتر را با GUI انجام دهند.
- جستجو در میان فایلها با وجود GUI بسیار ساده است چون به فایلها و جزئیات آنها دسترسی دارید.
- تمامی پاسخهای حاصل از کامپیوتر به خوبی با وجود GUI قابل درک هستند.
- حتی فرد کاملا ناآشنا با کامپیوتر هم با رابط کاربری گرافیکی به راحتی با عملکرد اپلیکیشنها و برنامههای مختلف، آشنا میشود. اگر رابط کاربری نداشتیم، کاربر باید فرمان مربوط به هر عمل را وارد میکرد پس به دانش برنامه نویسی نیاز داشتیم.
مطلب پیشنهادی: محبوبترین زبان های برنامه نویسی
معایب
- هر فرد تنها میتواند از برنامههایی که قبلا برنامه ریزی شده اند، استفاده کند.
- افراد عادی قادر به تغیر عملکرد اصلی یک سیستم نیستند.
- برای استفاده از رابط کاربری گرافیکی روی هر سیستمی به نیروی برق بیشتری نیاز داریم.
- استفاده از این رابطها در مقایسه با اجرای رابطهای مبتنی بر فرمان، کندتر صورت میگیرد.
- رابطهای گرافیکی به فضای حافظه بیشتری نیاز دارند.
- استفاده از GUI برای کاربران ساده است ولی برای برنامه نویسان این طور نیست. آنها باید هر function را به طور مجزا طراحی و اجرا کنند و از abstraction هم برای آسایش کاربران استفاده کنند.
- اگر عملکرد مورد نیاز در سیستم وجود ندارد پس کاربر یا باید فرمان مربوطه را بشناسد و وارد کند یا کارش نیمه تمام میماند.
بهترین زبانهای برنامه نویسی GUI
زبانهای برنامه نویسی بصری متفاوتی برای انجام طراحی رابط کاربری گرافیکی وجود دارند. ولی بهترین زبانها شامل C# یا جاوا است چون میتوانند GUIها را به طور همزمان روی مرورگر و به عنوان نرم افزار دسکتاپ اجرا نمایند. سایر برنامهها شامل Python، HTML5، جاوا اسکریپت و C++/C هستند.
رابط کاربری کاراکتری چه فرقی با رابط کاربری گرافیکی دارد؟
رابط کاربری کاراکتری (Character User Interface) تحت عنوان رابط کاربری خط فرمان یا رابط کاربری غیرگرافیکی شناخته میشود. این رابط از فرمانهای متنی برای برقراری تعامل با برنامه کامپیوتری استفاده میکند. توسعه دهندگان نرم افزار و سازندگان سیستمها از رابطهای خط فرمان برای تنظیم دستگاهها، مدیریت فایلهای کامپیوتری و دسترسی به ویژگیهای برنامه استفاده میکنندکه با رابط کاربری گرافیکی در دسترس نیستند.
رابط کاربری کاراکتری از اتوماسیون و اسکریپتینگ پشتیبانی میکند و کنترل دقیق تر و کارایی بالاتری نسبت به GUI دارد. اولین روش مورد استفاده در کامپیوترهای دهه 1980، رابط کاربری کاراکتری بود. ولی ابزارهای الکترونیک مدرن مجهز به رابطهای کاربری گرافیکی هستند.
مطلب پیشنهادی: Git چیست؟
کاربر چگونه با GUI در تعامل قرار میگیرد؟
1.کاربر با عملکردهای ساده مثل کلیک کردن باعث تحریک GUI میشود. حالا GUI خواستههای کاربر را شناخته و آن را به زبان اسمبلی (assembly language) ترجمه میکند. به تصویر زیر دقت کنید.
2.GUI علاوه بر ترجمه عملکرد کاربر به زبان ماشین، فرایند در حال اجرا، پاسخ حاصل از ماشین، مقدار حافظه مورد استفاده، اندازه فایل، سرعت پردازشگر، برق مصرفی دستگاه، کارهای جاری و بسیاری از ویژگیهای دیگر را نمایش میدهد.
3.کاربر برای استفاده از هر فرایند خاصی روی هر دستگاهی، تنها از کلیک یا فشار دکمه استفاده میکند.
4.کاربر برای اجرای اپلیکیشن یا برنامه روی سیستمهای عامل میتواند از دو کلیک استفاده کند. همچنین با کلیک راست روی هر برنامه به ویژگیها و عملکردهای جانبی دسترسی دارد.
5.هر اپلیکیشن که روی سیستم عامل قرار دارد، دارای رابط کاربری خاص خودش علاوه بر رابط کاربری آن سیستم عامل است.
6.هر رابط کاربری دارای فرمتهای خاص خودش برای نمایش گرافیک و متن است. این امر امکان تبادل داده میان اپلیکیشنهای قابل اجرا روی نرم افزار مشترک طراحی رابط گرافیکی را فراهم میکند.
7.تست رابط کاربری گرافیکی در طول فرایندی سیستماتیک انجام میشود تا عملکرد سیستم و عناصر طراحی آن وارسی شود. ابزارهای تست دستی و خودکار قابل اجرا به کمک اپراتورها هستند و تحت مجوزها و در پلتفرمهای مختلف عرضه میشوند. برخی از ابزارهای محبوب تست رابط کاربری گرافیکی شامل Tricentis Tosca, Squish GUI Tester, Unified Functional Testing (UFT), Maveryx, Appium, و eggPlant Functional هستند.
در نهایت . . .
قبل از رابط کاربری گرافیکی، رابط خط فرمان (CII) وجود داشت. در آن زمان افراد عادی قادر به استفاده از کامپیوتر و سایر دستگاههای دارای این رابط نبودند. حالا با وجود رابطهای کاربری گرافیکی، حتی افراد عادی هم از کامپیوترها و ابزارهای مدرن، استفاده میکنند. صنعت فناوری اطلاعات پر از مشاغل مناسب برای طراحی و توسعه GUI است. زبانهای برنامه نویسی مدرن برای توسعه GUI به کار میروند. بنابراین چشم انداز توسعه رابطهای کاربری گرافیکی روشن است و دنیای اطرافمان را در جهت آسایش بیشتر انسانها تغیر میدهد.
به جمع برنامهنویسان کارلنسر بپیوندید!
منابع:
Omnisci
Educba
2 دیدگاه
-
27 خرداد 1401
سلام خسته نباشید.
ممنون سایت خوبتون من یه اپیلکیشن با برنامه GUI متلب نوشتم میخواستم بدونم با چه رو شی میشه اینو در اندروید هم اجرا کرد؟-
14 آذر 1402
برای اجرای برنامه در اندروید شما باید از جاوا و کاتلین استفاده کنید
کلا متلب نرم افزار شبیه ساز هستش
برای ران در اندروید باید زبان برنامه نویسی رو کلا تغییر بدید
-
دیدگاه شما