এই পৃষ্ঠায় Google সিজন অফ ডক্সের জন্য গৃহীত প্রযুক্তিগত লেখার প্রকল্পের বিশদ বিবরণ রয়েছে৷
প্রকল্পের সারাংশ
- ওপেন সোর্স সংস্থা:
- ক্রিয়েটিভ কমন্স
- প্রযুক্তিগত লেখক:
- nimishnb
- প্রকল্পের নাম:
- শব্দভান্ডার ব্যবহার নির্দেশিকা
- প্রকল্পের দৈর্ঘ্য:
- স্ট্যান্ডার্ড দৈর্ঘ্য (3 মাস)
প্রকল্পের বিবরণ
প্রকল্পের সংক্ষিপ্তসার
ওয়েবসাইট বিল্ডিংয়ের জন্য একটি প্রাথমিক UI উপাদান লাইব্রেরি হিসাবে শব্দভান্ডার ব্যবহার করার অপার সম্ভাবনা রয়েছে। এটির জন্য যা প্রয়োজন তা হল একটি দৃঢ় অথচ সাধারণ মানুষ-বান্ধব কীভাবে নির্দেশিকা। গুরুত্বপূর্ণ ডেভেলপার তথ্য যেমন কম্পোনেন্ট গাইড, ব্যবহারের স্পেসিফিকেশন এবং কনফিগারেশন টুইক যেকোনো ডকুমেন্টেশনের একটি অপরিহার্য অংশ গঠন করে। এটি কেবল বিদ্যমান ব্যবহারকারীদের কীভাবে শব্দভাণ্ডার ক্রমাগত বাড়তে থাকে এবং নতুন মাইলফলকগুলিতে পৌঁছাতে পারে তা অনুভব করতে উত্সাহিত করবে না, বরং তুলনামূলকভাবে নতুন প্রকল্পগুলিতে শব্দভান্ডারের ব্যবহারকে উন্নীত করবে। একজন ইন্টার্ন হিসেবে আমার কাজের কাঙ্খিত ফলাফলের মধ্যে শুধুমাত্র পূর্ব-বিদ্যমান উপাদানগুলি ব্যবহার করার জন্য একটি নো-ননসেন্স গাইড লেখাই জড়িত নয় বরং ভোকাবুলারি, ভিউ-এর জন্য একটি হোম পেজ ডিজাইন এবং ডেভেলপ করা (প্রত্যেকটির জন্য একটি সমন্বিত ডকুমেন্টেশনের দিকে পরিচালিত করে) শব্দভান্ডার এবং ফন্ট।
প্রকল্প পরিকল্পনা
সমস্যা: ডকুমেন্টেশন প্রাথমিক কারণগুলির মধ্যে একটি যা নির্ধারণ করে যে একটি নির্দিষ্ট ওপেন সোর্স লাইব্রেরি কতটা সফল হবে। বিকাশকারীরা তাদের অ্যাপ্লিকেশনগুলি তৈরি করার জন্য একটি উপযুক্ত প্রযুক্তিগত স্ট্যাক বেছে নেওয়ার সময় যে প্রধান প্রশ্নটি মনে করে তা হল "লাইব্রেরিটি কি ভালভাবে নথিভুক্ত? এটা ভাল রক্ষণাবেক্ষণ? এটির কি যথেষ্ট ব্যবহার এবং ত্রুটি সমর্থন আছে?" এই প্রকল্পের ধারণা সম্পর্কে যাওয়ার সময় আমাদের নিজেদেরকে জিজ্ঞাসা করা উচিত এই প্রশ্নগুলি। সফটওয়্যার ইঞ্জিনিয়ারিং দৃষ্টিকোণ থেকে:
প্রয়োজনীয়তা বিশ্লেষণ: আমাদের প্রয়োজনের জন্য একটি সংক্ষিপ্ত এবং একত্রিত ডকুমেন্টেশন থাকা একটি অবিরত প্রয়োজন আছে। ডকুমেন্টেশনের অভাব ওপেন সোর্স অ্যাপ্লিকেশনগুলির ভবিষ্যত দৃষ্টিকোণকে আঘাত করে, এবং এটি একটি অপরিহার্য এবং অ-নগণ্য উপাদান। এই ডকুমেন্টেশনগুলির সাথে লিঙ্ক করা একটি আকর্ষণীয় হোম পেজ হওয়া উচিত, যা তাত্ক্ষণিকভাবে মানুষের আগ্রহকে ক্যাপচার করে। ডকুমেন্টেশন ভালভাবে সংগঠিত হওয়া উচিত, যার ফলে এটির মাধ্যমে একটি নিরবচ্ছিন্ন প্রবাহ সক্ষম হবে।
স্পেসিফিকেশন: প্রয়োজনীয়তার উপর নির্ভর করে, স্পেসিফিকেশন সিদ্ধান্ত নেওয়া যেতে পারে। ডকুমেন্টেশনের বিষয়বস্তু CC নেটলিফাই ওয়েবসাইটগুলিতে উপস্থিত ডেটা থেকে তৈরি করা যেতে পারে, সাথে কিছু পরিচিত ডকুমেন্টেশন যেমন শব্দার্থক-ইউআই, স্কিট-লার্ন, নম্পি, বুটস্ট্র্যাপ ইত্যাদি থেকে অনুপ্রেরণা নিয়ে। এবং সম্পূর্ণ ডকুমেন্টেশন গাইড।
বর্তমানে ভোকাবুলারি, ভিউ-ভোকাবুলারি এবং ফন্টের সাথে যুক্ত কিছু সাধারণ সমস্যা:
ডকুমেন্টেশন একটি অনুপস্থিতি আছে; এবং কিছু থাকলেও, এর কিছু অংশ নেটলিফাই ওয়েবসাইটে ছড়িয়ে ছিটিয়ে আছে। এটি ব্যবহারকারী, বিকাশকারী বা বহিরাগত অবদানকারীদের আমাদের লাইব্রেরি ব্যবহার করতে সক্ষম করে না।
একটি নির্দিষ্ট উপাদান পেতে এবং এর সংশ্লিষ্ট কোড অনুলিপি করতে অতিরিক্ত ক্লিক লাগে। "ট্যাব উপাদান CC শব্দভান্ডার" এর মতো কিছুর জন্য একটি সাধারণ Google অনুসন্ধান পছন্দসই তথ্য ফেরত দেয় না। ডকুমেন্টেশন গাইডের মধ্যে একটি অনুসন্ধান বিকল্প ইউএক্সকে ব্যাপকভাবে উন্নত করবে।
অস্পষ্ট বিবরণ বর্ণনা করে, উপাদানগুলির জন্য আরও কিছুটা পাঠ্যভাবে বিশদ বিবরণ।
কোন লাইভ রান বিকল্প নেই। একটি লাইভ রান JSFiddle-এর মতো বিভিন্ন সাইট দ্বারা সমর্থিত, যা ডেভেলপারদের একটি সম্পূর্ণ অ্যাপ্লিকেশন চালানো ছাড়াই উপাদানটির অনুভূতি পেতে সক্ষম করে।
সমাধান
একাধিক সমাধান সম্ভব। যাইহোক, আমি এখানে কয়েকটিকে স্পর্শ করব এবং উপসংহার অংশে আমার চূড়ান্ত সমাধান উপস্থাপন করব:-
= readthedocs readthedocs ব্যবহার করে ওপেন সোর্স লাইব্রেরির জন্য ডকুমেন্টেশন লেখার একটি সুপরিচিত সমাধান। এটি পাইথন ডকুমেন্টেশন টুল স্ফিংসের উপর ভিত্তি করে তৈরি।
সুবিধা:
- ডকুমেন্টেশন তৈরির ব্যাপকভাবে স্বীকৃত ফর্ম, ইথেরিয়াম (সলিডিটি) এর মতো সংস্থাগুলি ব্যবহার করে।
- সর্বোত্তম কাঠামোগত ডকুমেন্টেশন।
- বিনামূল্যে স্ট্যাটিক হোস্টিং.
অসুবিধা:
- স্টাইলিং এর উপর নিখুঁত নিয়ন্ত্রণের অভাব।
= স্ফিংক্স ব্যবহার করে আমরা ডকুমেন্টেশন অংশের জন্য স্থানীয়ভাবে স্ফিংক্স ব্যবহার করতে পারি, এটি আমাদের সমস্ত উদ্দেশ্যে ভাল বৈশিষ্ট্য সরবরাহ করে।
সুবিধা:
- ডকুমেন্টেশনের জন্য সবচেয়ে জনপ্রিয় পাইথন টুল।
- ডকুমেন্টেশন অনুসন্ধানের জন্যও সমর্থন রয়েছে।
- ডিফল্ট CSS একটি কাস্টম দিয়ে ওভাররাইড করা যেতে পারে; .rst ফাইল ব্যবহার করে HTML এর উপর কিছু নিয়ন্ত্রণ।
অসুবিধা:
- পাইথন এবং পুনর্গঠিত পাঠ্য বিন্যাসে (.rst) কোডিং জড়িত হবে যা প্রস্তাবিত প্রকল্প ভাষা থেকে একটি বিচ্যুতি হবে।
= জেকিল থিম ব্যবহার করা জেকিল থিমগুলি গিথুব পৃষ্ঠাগুলির মধ্যে একত্রিত করা হয়েছে, এবং সেখানে আগে থেকে বিদ্যমান টেমপ্লেট রয়েছে যা আমাদের প্রয়োজনের উপর নির্ভর করে কাস্টমাইজ করা যেতে পারে।
সুবিধা:
- সমস্ত উদ্দেশ্যে প্রস্তুত ডকুমেন্টেশন থিম.
- ডিফল্ট CSS এবং শৈলীগুলি কাস্টমগুলির সাথে ওভাররাইড করা হতে পারে, পাশাপাশি HTML-এর উপরও নিয়ন্ত্রণ।
- পৃষ্ঠাগুলি তৈরি করার জন্য ডিফল্ট প্রাইমার CSS টানে।
- GitHub পৃষ্ঠাগুলির সাথে সহজ একীকরণ।
অসুবিধা:
- সেরা ডকুমেন্টেশন কাঠামো প্রদান নাও হতে পারে.
= GitHub পৃষ্ঠাগুলি ব্যবহার করা আমাদের স্ট্যাটিক সাইট (HTML, CSS, JS) তৈরি করার জন্য আদর্শ গিথুব পৃষ্ঠাগুলি।
সুবিধা:
- প্রশ্নবিদ্ধ প্রায় সবকিছুর উপর সম্পূর্ণ নিয়ন্ত্রণ।
- লেআউট, রঙ এবং শৈলী নির্ধারণে সর্বাধিক নমনীয়তা।
- শব্দভান্ডারের উপাদানগুলির সহজ ব্যবহার।
- কোড স্নিপেট এবং লাইভ রান লিঙ্কের সহজ এম্বেডিং।
অসুবিধা:
- একটি আরো সময় গ্রাসকারী পদ্ধতি হতে পারে.
= হারোপ্যাড ব্যবহার করে এটি পরিবর্তে একটি বিকল্প মার্কডাউন সমাধান দেয়।
সুবিধা:
- ন্যূনতম fiddly কোডিং জড়িত হবে.
- নিখুঁতভাবে ডকুমেন্টেশন লেখার উপর ফোকাস করা হবে।
অসুবিধা:
- CSS এর উপর নিয়ন্ত্রণের অভাব।
- সর্বোত্তম সম্প্রদায় সমর্থন থাকতে পারে বা নাও থাকতে পারে।
- MDX সমর্থন নাও করতে পারে৷
= MKDocs ব্যবহার করে এটি পরিবর্তে অন্য একটি বিকল্প মার্কডাউন সমাধান দেয়।
সুবিধা:
- সর্বনিম্ন fiddly কোডিং (আবার) জড়িত হবে.
- আরো লিখুন, কোড কম পদ্ধতি.
অসুবিধা:
- CSS এর উপর নিয়ন্ত্রণের অভাব।
- সর্বোত্তম সম্প্রদায়ের সমর্থন নাও থাকতে পারে।
- পাইথন ব্যবহার করে; একটি Amazon S3 উদাহরণ স্পিন আপ করার প্রয়োজন হতে পারে.
= VueJS +StorybookJS ব্যবহার করে এই পদ্ধতিটি সাধারণত ভোকাবুলারি এবং এর বোন রিপোজিটরি জুড়ে ব্যবহৃত হয়।
সুবিধা:
- অতীতের কাজের অভিজ্ঞতার পরিপ্রেক্ষিতে এমন প্রযুক্তির সাথে লেগে থাকা যা ঠিক ঠিক কাজ করার নিশ্চয়তা দেয়।
- কোড বেস সঙ্গে পরিচিতি.
- এই জায়গায় কোন দক্ষ প্রযুক্তি নেই।
অসুবিধা:
- সহজ বিকল্প একই উদ্দেশ্যে উপস্থিত হতে পারে.
উপসংহারে, আমি মনে করতে চাই যে VueJS+ স্টোরিবুক পদ্ধতির (HTML,CSS,JS) সাথে জড়িত পদ্ধতিটি সবচেয়ে উপযুক্ত বলে মনে হচ্ছে, এই কারণে যে আমি এতে স্বাচ্ছন্দ্য বোধ করছি। যাইহোক, এর অর্থ এই যে আমরা এই অ্যাপ্লিকেশনটি বিকাশ করার ক্ষেত্রে আমাদের পথের বাইরে যাব না। CC-ভোকাবুলারি উপাদান ব্যবহার করাও মোটামুটি সোজা হবে। যাইহোক, ডকুমেন্টেশনের কাঠামো নির্ধারণ করার জন্য, আমাদের অবশ্যই রিডথেডকস ডকুমেন্টেশনের উপশিরোনামের মধ্যে বিষয়বস্তুকে কীভাবে ভাগ করা হয়েছে তা বিবেচনা করা উচিত। আমি সেমান্টিক-ইউআই ওয়েবসাইট (যা স্টোরিবুক ব্যবহার করে) দেখে মুগ্ধ হয়েছিলাম কারণ এটির একটি ন্যূনতম চেহারা রয়েছে এবং কেউ মাত্র কয়েকটি ক্লিকের পরে তারা কী চায় তা সহজেই জানতে পারে। শব্দার্থিক-ইউআই ছাড়াও, আমি আমার কাজের জন্য UI স্টাইলিং গাইড এবং ডিজাইন সিস্টেম হিসাবে ব্যবহার করার জন্য মেটেরিয়াল ডিজাইন, প্রাইমার, বুটস্ট্র্যাপ, কার্বন ডিজাইন ইত্যাদি দেখেছি। আমরা এর জন্য অনুপ্রেরণার জন্য প্রস্তুত জেকিল ডকুমেন্টেশন থিমগুলিও দেখতে পারি।