কনসোল-ভিত্তিক থেকে জিইউআই ভিত্তিক প্রোগ্রামিংয়ে যাওয়ার সময় প্রধান পার্থক্যগুলি কী কী?


18

কনসোল ভিত্তিক (টার্মিনাল হিসাবে, প্লেস্টেশন নয়) প্রোগ্রামিং সহ আমি অন্যান্য অনেকের মতোই শুরু করেছি। তবে যত তাড়াতাড়ি বা পরে, আপনার জিওআই-ভিত্তিক প্রোগ্রামিংয়ের বিষয়ে স্পর্শ করা দরকার, আপনি চান বা না চান। এই রূপান্তরটি আপনাকে কীভাবে সামনের অংশ (এবং সম্ভবত ব্যাকএন্ড) সম্পর্কেও ভাবতে হবে তাতে অনেক পরিবর্তন রয়েছে।

সুতরাং, কনসোল-ভিত্তিক প্রোগ্রামিং থেকে জিইউআই ভিত্তিক প্রোগ্রামিংয়ে যাওয়ার সময় প্রধান পার্থক্যগুলি কী কী?


1
আপনি টার্মিনাল হিসাবে কনসোল মানে, তাই না? প্লেস্টেশনের মতো কনসোল নয় ..
জেবিআরউইলকিনসন

@ জেবিআর উইলকিনসন: হ্যাঁ আমি প্রশ্নটি পরিষ্কার করব।
গ্যাবলিন

উত্তর:


18

সবচেয়ে বড় পার্থক্যটি হ'ল ইউআই এর ডিজাইন। একটি ভাল জিইউআই একটি অ্যাপ্লিকেশন তৈরি করতে বা বিরতি দিতে পারে। ম্যাক ভক্তরা গড় ম্যাক ওএস এক্স অ্যাপ্লিকেশনটির সুন্দর ডিজাইনের জিইউআইয়ের দিকে দৃষ্টি আকর্ষণ করবে এবং তারা একটি পয়েন্ট পেয়েছে, তবে এটি কোনও প্রযুক্তিগত সমস্যা নয় - এটি একটি নকশা / নীতি / ব্যবহারের বিষয়।

প্রযুক্তিগত সমস্যা হিসাবে, কোনও নির্দিষ্ট ক্রমে:

  1. ব্যবহারকারী যে কোনও সময়ে যে কোনও ক্রমে যে কোনও কিছু করতে পারেন, কনসোল প্রোগ্রামের বিপরীতে যেখানে আপনি হয় ইনপুট চেয়েছেন বা তাদের আউটপুট বলছেন। আপনি ধরে নিতে পারবেন না যে আপনি ওয়ার্কফ্লো উইজার্ড-স্টাইলি প্রয়োগ না করে তারা আপনার আশ্বাসের আদেশটি অনুসরণ করবেন।

  2. ইতিমধ্যে উল্লিখিত হিসাবে, ইভেন্টগুলি এতে একটি বড় ভূমিকা পালন করে এবং আপনি শেষেরটি পরিবেশন করার সময় আপনি একাধিক ইভেন্ট ঘটতে পারেন, যাতে আপনি 'বর্তমান ইভেন্টের' ভিত্তিতে সত্যই আপনার রাজ্যটি নির্মাণ করতে পারবেন না। বিভিন্ন ইভেন্ট জুড়ে প্রসঙ্গ বজায় রাখতে ক্লোজার বা একই জাতীয় প্রক্রিয়া ব্যবহার করুন। কোনও কনসোল অ্যাপে আপনার এফএসএম সাধারণত 'ইনপুট, প্রসেস ইনপুট, আপডেট আউটপুট' লুপের আশেপাশে স্ব-অন্তর্ভুক্ত থাকে। জিইউআই প্রোগ্রামিংয়ে একই ধরণের কাঠামো নেই - 'মেন' হ'ল একটি পুনরায় প্রবেশকারী ইভেন্ট-চালিত জিনিস, প্রায়শই একটি জিনরমাস সুইচ () বিবৃতি।

  3. আপনাকে বিভিন্ন স্ক্রিনের আকার / রেজোলিউশনগুলি বিবেচনা করতে হবে এবং জিইউআই'র ব্যবহারকারীদের মনিটরের সর্বোচ্চ 800x600 থেকে আকার পরিবর্তন করতে দেওয়া উচিত।

  4. আপনাকে বিভিন্ন ইনপুট কৌশলগুলি বিবেচনা করতে হবে - মাউস, কীবোর্ড, স্পর্শ ইত্যাদি Some কিছু প্রযুক্তি নিখরচায় আসে (মাউস-হুইল স্ক্রোলিং), অন্যদের কিছু সংহতকরণের কাজ (কালি) প্রয়োজন।

  5. অ্যাক্সেসযোগ্যতা - একটি জিইউআই কম সক্ষম ব্যবহারকারীদের জন্য অনেক বেশি উপযুক্ত যারা দৃষ্টি, শ্রবণশক্তি, মোটর দক্ষতা বা জ্ঞানীয় দক্ষতা সীমাবদ্ধ করে। একটি 'ডিং' শব্দটি কনসোলের কোনও ক্রিপ্টিক ত্রুটির বার্তার তুলনায় দুর্দান্ত এবং স্পষ্ট।

  6. আন্তর্জাতিকীকরণ - আমি ধরে নিচ্ছি যে আপনার কনসোল অ্যাপ্লিকেশনটি কেবল মার্কিন যুক্তরাষ্ট্র / এএনএসআই, তবে আপনি যখন জিইউতে প্রবেশ করবেন তখন আপনার কাছে ভাষা / সংস্থান প্যাকেজ থাকতে পারে যা অন্য ভাষা এবং অঞ্চলগুলিকে কোডিংয়ের কোনও পরিবর্তন না করে লক্ষ্য করতে পারে, যদি আপনি এটির জন্য প্রস্তুত থাকেন তবে শুরু। উদাহরণস্বরূপ, কোডগুলিতে কোনও হার্ড-কোডেড ভাষার স্ট্রিং নেই - সবকিছু রিসোর্স লুকআপ হিসাবে।

  7. বাস্তবায়ন প্রযুক্তির জন্য আপনার কাছে আরও অনেক বিকল্প রয়েছে - ওয়েব-ভিত্তিক, বিভিন্ন জিইউআই কিটস, ফ্ল্যাশ / ডাব্লুপিএফ ইত্যাদি etc.

  8. রঙ এবং অ্যানিমেশন ব্যবহার। কনসোল প্রোগ্রামগুলি সাধারণত একরঙা হয় এবং খুব বেশি প্রাণবন্ত হয় না। অনেকগুলি আধুনিক জিইউআই ফ্রেমওয়ার্কগুলি থিমযুক্ত উইজেট সরবরাহ করে এবং প্রায়শই নিখরচায়, চাল / আকার / প্রদর্শন / আড়াল অ্যানিমেশন প্রভাব রাখে।

  9. গ্রাফিক্স। কনসোল অ্যাপ্লিকেশনগুলি মাঝে মাঝে ডায়াগ্রামগুলির জন্য ASCII আর্ট ব্যবহার করে তবে একটি জিইউআই অ্যাপ্লিকেশন আপনাকে সম্পূর্ণ গ্রাফিকাল ক্ষমতা দেয়। লাভলি আর্ট খুব বড় পার্থক্য করতে পারে।


1
আমি আপনার বক্তব্যটি সাধারণভাবে দেখতে পেয়েছি, তবে আমি এখানে ভ্রান্ত দ্বৈতত্ত্বের সাথে একমত নই। মানে, কনসোল অ্যাপ্লিকেশনগুলির জন্য আপনার ইউআই-তেও মনোযোগ দেওয়া দরকার, আপনার ইভেন্ট-ভিত্তিক কনসোল অ্যাপ্লিকেশন থাকতে পারে, আপনি একটি টার্মিনাল অ্যাপস থাকতে পারেন যা আসলে একটি জিইউআই প্রদর্শন করে এবং কেবল রৈখিক পাঠ্য নয় এবং আকারগুলিতে মনোযোগ দেওয়ার প্রয়োজন হয় (এবং মাউস দিয়ে কাজ করতে পারে), আপনি অ্যাক্সেসযোগ্য ক্লিপ অ্যাপ্লিকেশনগুলি করতে পারেন, আপনি ক্লিপ অ্যাপ্লিকেশনগুলিকে গুইয়ের মতোই আন্তর্জাতিককরণ করতে পারেন, আপনি রঙ এবং অ্যানিমেট জিনিস ব্যবহার করতে পারেন। আমি আপনাকে 7 এবং 9 আরও সীমাবদ্ধ তা মঞ্জুর করব।
হাইলেম

17

আমার জন্য এটি ইভেন্ট-চালিত প্রোগ্রামিংয়ের অভ্যস্ত হয়ে উঠবে। এটি এখনও কনসোল-ভিত্তিক সফ্টওয়্যারটিতে প্রয়োগ করতে পারে তবে আমি এটি বেশিরভাগই জিইউআইয়ের সাথে ব্যবহার করি। একবার আপনি এটি উপলব্ধি করার পরে, এটি একটি খুব শক্তিশালী সরঞ্জাম।


একমত। আপনার যে জিনিসটি শিখতে হবে তা হ'ল ব্যবহারকারী তারপরে কী করতে পারে তা আপনার কোডের সম্পূর্ণ নিয়ন্ত্রণে নেই।

সংলাপের সূচনা সঙ্গে।
মরগান হের্লোকার 22

6

আমি মাল্টি-থ্রেডিং বলব এবং এটি ইউআইয়ের সাথে জড়িত (আপনি যদি অবরুদ্ধকরণ UI গুলি করতে চান)


থ্রেডিং হ'ল সত্যই ক্লান্তিকর প্রযুক্তিগত সমস্যা।
ক্লিমেন্ট হেরেম্যান

2

ইউআইতে নিয়ন্ত্রণের প্রবাহ এবং ব্যবহারকারী ইনপুটটির বৈধতা বিবেচনা করা খুব গুরুত্বপূর্ণ হয়ে ওঠে।


2

একটি GUI প্রোগ্রাম স্ক্রু হতে থাকে যখন একটি কনসোল প্রোগ্রাম সময়ের সাথে সাথে পরিশোধিত হতে থাকে।


1

সাধারণত আমি কনসোল-ভিত্তিক প্রোগ্রামটিকে মডেল হিসাবে ভাবি, যেখানে জিইউআই-ভিত্তিক প্রোগ্রামটি ভিউ / কন্ট্রোলার যা মডেলকে এম্বেড করে।


1

আমার জন্য একটি ভাল জিইউআই ডিজাইন করা সবসময় আরও চ্যালেঞ্জিং ছিল যে এটি বাস্তবায়নের প্রযুক্তিগত বিবরণ।

এটি "ম্যাকের মতো সহজ এবং পরিষ্কার করুন" বলা সহজ। এটিকে তৈরি করা অবিশ্বাস্যরকম শক্ত; সেখানে সর্বদা প্রচুর বিবরণ থাকে যা সেখানে পাওয়া উচিত, তবে একই সাথে তাদের দৃষ্টিগোচর হওয়া উচিত।

সরলতা http://stuffthathappens.com/blog/wp-content/uploads/2008/03/simplicity.png


1
গুগল ওয়েভ বা আইমোভিতে একবার দেখুন এবং আপনি জানেন যে এই চিত্রগুলি বিভ্রান্তিকর।
আইভো ফ্লিপস

0

কিছু (অনেক?) ভাষায় আমার মধ্যে প্রধান পার্থক্য হ'ল, এখন আপনাকে একটি লাইব্রেরি বেছে নিতে হবে। আপনার অ্যাপ্লিকেশনটির পিছনের অংশটি হ'ল "কনসোল" প্রোগ্রামিং করা (এবং আরও অনেক কিছু এর জন্য) আপনার ভাষার মানক উত্স ব্যবহার করে। একটি জিইউআই যুক্ত করা (আপনি আশা করি) এখনও স্ট্যান্ডার্ড আইডিয়ামগুলিতে আপনার "মডেল" রাখতে পারেন, তবে এখন একটি বিশাল অংশ, "ভিউ" কিছু বাহ্যিক গ্রন্থাগারের উপর নির্ভর করবে (এবং, অজানা, আপনি এটি "চিরকালের জন্য" আটকে থাকবেন)। আপনার (আমার) কেস (অতিরিক্ত শিখন-পদক্ষেপের বক্ররেখার উল্লেখ না করা) হিসাবে এই লাইব্রেরির পছন্দটি শিক্ষানবিশের পক্ষে একটি বিশাল দায়িত্ব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.