আমি ওয়েব অ্যাপ্লিকেশনগুলির সাথে সর্বাধিক কাজ করার প্রবণতা রাখি এবং যদিও আমি সাধারণ হওয়ার চেষ্টা করছি, আমার উত্তর আপনার প্রোগ্রামিংয়ের ক্ষেত্রে প্রযোজ্য নাও হতে পারে ।
আমি "লাইব্রেরি" সহ "ফ্রেমওয়ার্ক" সিনোমিক্যাল ব্যবহার করতে যাচ্ছি।
কাঠামো বাস্তবায়নের আগে অবশ্যই কয়েকটি বিষয় বিবেচনা করতে হবে, এখানে কয়েকটি সাধারণ উদাহরণ রয়েছে।
# 1। কাঠামো সময় এবং প্রচেষ্টা বাঁচাতে হবে?
এই প্রশ্নের উত্তর প্রায় সবসময়ই হ্যাঁ । নির্দিষ্ট সমস্যাগুলি সমাধান করার জন্য ফ্রেমওয়ার্কগুলি তৈরি করা হয় এবং সেগুলি খুব ভাল সমাধান করা যায়। উদাহরণস্বরূপ, এন্টি ফ্রেমওয়ার্কের মতো ফ্রেমওয়ার্কগুলি আপনাকে এসকিউএল-কোড লেখার থেকে পুরোপুরি বাঁচাতে পারে । আপনার প্রোগ্রামিং টিম এসকিউএল তে সাবলীল না হলে কোনটি দুর্দান্ত হতে পারে।
ফ্রেমওয়ার্কগুলি নির্মিত হয়, ক) জটিল উপাদানগুলিতে একটি প্রোগ্রামার-বান্ধব ইন্টারফেস যুক্ত করুন বা খ) ইতিমধ্যে সুপরিচিত (বা প্রতিষ্ঠিত) উপাদানগুলিতে বিমূর্ততা যুক্ত করুন।
আধুনিক (বা কিছু ক্ষেত্রে প্রাক্তন) আসলে উন্নয়নের পথে যেতে পারে । এটি প্রযোজ্য বিশেষত যখন আপনি বা আপনার প্রোগ্রামিং টিম একটি নতুন কাঠামো বাস্তবায়ন করতে চলেছে, যেখানে তারা এর আগে কখনও কাজ করেনি।
এটি আপনার বিকাশ প্রক্রিয়াটি সম্ভবত ধীরে ধীরে কমিয়ে দিতে পারে, যা সম্ভাব্য ব্যয়বহুল হতে পারে।
# 2 আপনার আবেদনের স্কেল
বলা হয়ে থাকে যে "কিছু করার মতো মূল্য অতিরিক্ত করা উচিত" তবে সাধারণত এটি হয় না। আপনার আবেদনের বিন্দুটি যদি "আলু" মুদ্রণ করে তবে একটি সুপার-মাপের কাঠামো কার্যকর করার কোনও ভাল কারণ সম্ভবত নেই ।
আপনি যখন কোনও অ্যাপ্লিকেশন বিকাশ করছেন (এটি ওয়েব, ডেস্কটপ, মোবাইল বা অন্য কোনও ধারণার যোগ্য অ্যাপ্লিকেশন হোক) - যদি আপনি মনে করেন যে আপনার কাঠামোর আকারটি আপনার (সম্ভবত ভবিষ্যতে) প্রয়োগকে "বামন" করে, তবে এটি বড় হতে পারে সতর্কতা চিহ্ন যে আপনার ফ্রেমওয়ার্কটি কেবল আপনার অ্যাপ্লিকেশনটি স্ফূত করছে। আপনি যদি jQuery অন্তর্ভুক্ত করেন তবে ডকুমেন্টটি প্রস্তুত হওয়ার পরে আপনার বডি-ট্যাগটিতে একটি "লোডড" -ক্লাস যুক্ত করার জন্য একটি ভাল উপাখ্যানটি হ'ল। স্রেফ নেটিভ জাভাস্ক্রিপ্টের সাহায্যে এটি করা সামান্য কিছুটা কঠিন হতে পারে তবে এটি আপনার অ্যাপ্লিকেশনটি ফুলে যায়।
অন্যদিকে যদি কোনও ফ্রেমওয়ার্ক ভিতরে (যেমন ডাটাবেস ফ্রেমওয়ার্কগুলি) প্রচুর নোংরা কাজ করে, তবে আপনি এটি ফ্রেমওয়ার্কটি কেবল "আংশিকভাবে" ব্যবহার করলেও এটি কার্যকর করা কার্যকর হতে পারে। একটি ভাল উপাখ্যানটি হ'ল আপনার নিজস্ব ADO.NET বা মঙ্গোডিবি-ড্রাইভার তৈরি করার চেষ্টা না করা , কেবল আপনাকে পুরো লাইব্রেরিটি ব্যবহার করার দরকার নেই বলে।
কখনও কখনও ফ্রেমওয়ার্কগুলি ওপেন-সোর্স আসে (এবং 'আপনি যা-কিছু করতে চান'-লাইসেন্স সহ)। এটি একটি নতুন সম্ভাবনা খুলে দেয় যেখানে কোনও প্রোগ্রামিং দল কেবল একটি কাঠামোর অংশ বেছে নিতে পারে।
এটি শেষ পর্যন্ত # 1 এবং # 3 প্রশ্নের সাথে আবার সম্পর্কযুক্ত।
# 3 প্রভাব।
কখনও কখনও একটি কাঠামো বাস্তবায়ন শেষ ব্যবহারকারীকে সরাসরি প্রভাবিত করতে পারে । এটি বিশেষত ওয়েব অ্যাপ্লিকেশনগুলির জন্য সত্য, কারণ বড় ক্লায়েন্ট-সাইড ফ্রেমওয়ার্কগুলি শেষ ব্যবহারকারীর অভিজ্ঞতার উপর negativeণাত্মক প্রভাব ফেলতে পারে। ধীর মেশিনযুক্ত ব্যবহারকারীরা ধীরে ধীরে উপস্থাপনা, জাভাস্ক্রিপ্ট সহ পারফরম্যান্স সংক্রান্ত সমস্যা বা সাব-পার মেশিনগুলির কারণে সৃষ্ট অনুরূপ সমস্যাগুলি অনুভব করতে পারেন। ধীর সংযোগ সহ ব্যবহারকারী লোডিংয়ের সময়টি ধীর (কমপক্ষে প্রাথমিক) অনুভব করতে পারেন।
এমনকি অন্যান্য ধরণের অ্যাপ্লিকেশনগুলিতে, শেষ-ব্যবহারকারীরা আপনার অ্যাপ্লিকেশন-নির্ভরতা দ্বারা নেতিবাচকভাবে প্রভাবিত হতে পারে। ফ্রেমওয়ার্কগুলি সর্বদা সর্বদা কিছু ডিস্কের জায়গা নেয় এবং আপনি যদি কোনও মোবাইল অ্যাপ্লিকেশন (বা কোনও ডেস্কটপ অ্যাপ্লিকেশন) বিকাশ করে থাকেন তবে এটি বিবেচনায় নেওয়া প্রয়োজন হতে পারে।
সার্ভার-সাইড ফ্রেমওয়ার্কগুলি (আরও বেশি ওয়েব-নির্দিষ্ট) সম্ভবত আপনার শেষ ব্যবহারকারীদের প্রভাবিত করবে না, তবে এটি আপনার অবকাঠামোকে প্রভাবিত করবে । কিছু ফ্রেমওয়ার্কের নিজস্বতা নির্ভর করে যার জন্য আপনাকে কেবল ওয়েব সার্ভার বা সার্ভার সম্পূর্ণরূপে পুনঃসূচনা করতে হবে।
কিছু ফ্রেমওয়ার্কগুলি খুব সংস্থান- ভারীও হতে পারে ।
এটি অবশ্যই পয়েন্ট # 1 এবং # 2 তে ফিরে বেঁধেছে।
এটি সমস্তই কেবলমাত্র "বিবেচনার বৃত্ত", এবং আপনার কোনও কাঠামো কার্যকর করা উচিত কিনা তা সিদ্ধান্ত নেওয়ার জন্য কোনও আসল বৈজ্ঞানিক পদ্ধতি নেই।
কর্পিন মার্চ এটি খুব ভাল সংক্ষিপ্তসার করেছে:
যে গ্রুপগুলির সাথে আমি সবার সাথে কাজ করেছি তারা একই কাজ করে - ব্যয় এবং বেনিফিট সম্পর্কে অনুমান করুন, সর্বাধিক উত্পাদনশীল পথ বেছে নিন এবং আশা করি তারা সঠিক আছেন। এটি মারাত্মকভাবে বৈজ্ঞানিক নয় - একটি অংশ স্বীকৃতি, তিনটি অংশের অভিজ্ঞতা, এক অংশ বিপণনে সংবেদনশীলতা, এক অংশের চালক এবং পাঁচটি অংশের র্যাঙ্কের মতামত।
এছাড়া গুরুত্বপূর্ণ অভিজাত হতে না । ফ্রেমওয়ার্কগুলি এমন সরঞ্জাম যা ব্যবহার করা হয়। আমি উভয় চরম মানুষকে চিনি; একদিকে আপনার কাছে লোকটি নিজের জন্য জীবনকে খুব শক্ত করে তুলছেন, অন্যদিকে আপনার কাছে ছেলেটি ধীর, ফোলা অ্যাপ্লিকেশন তৈরি করে।
সমস্ত কাঠামোর ব্যবহারের ক্ষেত্রে রয়েছে, এটি সঠিক উদ্দেশ্যে বাস্তবায়নের বিষয়।