প্রায় 15 বছর আগে, আমি একটি কোম্পানিতে কাজ করছিলাম যেখানে আমরা ট্রাভেল এজেন্ট, বিমানবন্দরের কর্মীদের এবং এয়ারলাইন কোম্পানিগুলির জন্য অ্যাপ তৈরি করেছি। আমরা UI উপাদান এবং একক-পৃষ্ঠা অ্যাপের ক্ষমতার জন্য আমাদের নিজস্ব ইন-হাউস ফ্রেমওয়ার্ক তৈরি করেছি। আমাদের কাছে সবকিছুর জন্য উপাদান ছিল: ক্ষেত্র, বোতাম, ট্যাব, রেঞ্জ, ডেটা টেবিল, মেনু, ডেটপিকার, নির্বাচন এবং মাল্টিসিলেক্ট। আমরা এমনকি একটি div উপাদান ছিল. আমাদের ডিভ উপাদানটি দুর্দান্ত ছিল, এটি আমাদের সমস্ত ব্রাউজারে বৃত্তাকার কোণগুলি করতে দেয়, যা বিশ্বাস করুন বা না করুন, সেই সময়ে করা সহজ জিনিস ছিল না।

আমাদের কাজটি আমাদের ইতিহাসের এমন একটি সময়ে ঘটেছিল যখন JS, Ajax এবং গতিশীল HTML একটি বিপ্লব হিসাবে দেখা হয়েছিল যা আমাদের ভবিষ্যতে নিয়ে এসেছিল। হঠাৎ করে, আমরা গতিশীলভাবে একটি পৃষ্ঠা আপডেট করতে পারি, একটি সার্ভার থেকে ডেটা পেতে পারি এবং অন্যান্য পৃষ্ঠাগুলিতে নেভিগেট করা এড়াতে পারি, যেটি ধীরগতিতে দেখা যায় এবং দুটি পৃষ্ঠার মধ্যে স্ক্রিনে একটি বড় সাদা আয়তক্ষেত্র দেখা যায়। জেফ অ্যাটউড (স্ট্যাকওভারফ্লো-এর প্রতিষ্ঠাতা) দ্বারা জনপ্রিয় একটি বাক্যাংশ ছিল, যা পড়ে: "যেকোন অ্যাপ্লিকেশন যা জাভাস্ক্রিপ্টে লেখা যেতে পারে অবশেষে জাভাস্ক্রিপ্টে লেখা হবে।"- জেফ অ্যাটউড

সেই সময়ে আমাদের কাছে, এটি আসলে গিয়ে সেই অ্যাপগুলি তৈরি করার সাহসের মতো মনে হয়েছিল। এটি JS এর ​​সাথে সবকিছু করার জন্য একটি কম্বল অনুমোদনের মতো অনুভূত হয়েছিল। তাই আমরা JS-এর সাথে সবকিছুই করেছি এবং কাজ করার অন্যান্য উপায় নিয়ে গবেষণা করতে আমরা সত্যিই সময় নিইনি। HTML এবং CSS কী করতে পারে তা সঠিকভাবে শিখতে আমরা সত্যিই উদ্দীপনা অনুভব করিনি। আমরা ওয়েবকে সম্পূর্ণরূপে একটি বিকশিত অ্যাপ প্ল্যাটফর্ম হিসাবে উপলব্ধি করিনি। আমরা বেশিরভাগই এটিকে এমন কিছু হিসাবে দেখেছি যা আমাদের চারপাশে কাজ করার প্রয়োজন ছিল, বিশেষত যখন এটি ব্রাউজার সমর্থনের ক্ষেত্রে আসে। আমরা এটা আরো JS নিক্ষেপ করতে পারে জিনিস করা পেতে. ওয়েব কীভাবে কাজ করে এবং প্ল্যাটফর্মে কী উপলব্ধ ছিল সে সম্পর্কে আরও জানতে সময় নেওয়া কি আমাকে সাহায্য করেছে? অবশ্যই, আমি সম্ভবত একগুচ্ছ কোড শেভ করতে পারতাম যা সত্যিই প্রয়োজন ছিল না। কিন্তু, সেই সময়ে হয়তো তেমন একটা ছিল না। আপনি দেখুন, ব্রাউজার পার্থক্যগুলি তখন বেশ উল্লেখযোগ্য ছিল। এটি এমন একটি সময় ছিল যখন ইন্টারনেট এক্সপ্লোরার তখনও প্রভাবশালী ব্রাউজার ছিল, যেখানে ফায়ারফক্স দ্বিতীয় স্থানে ছিল, কিন্তু ক্রোম দ্রুত জনপ্রিয়তা অর্জনের কারণে বাজারের শেয়ার হারাতে শুরু করে। যদিও ক্রোম এবং ফায়ারফক্স ওয়েব স্ট্যান্ডার্ডগুলিতে একমত হওয়ার ক্ষেত্রে বেশ ভাল ছিল, আমাদের অ্যাপগুলি যে পরিবেশে চলছিল তার মানে হল যে আমাদের দীর্ঘ সময়ের জন্য IE6 সমর্থন করতে হয়েছিল। এমনকি যখন আমাদের IE8 সমর্থন করার অনুমতি দেওয়া হয়েছিল, তখনও আমাদের ব্রাউজারগুলির মধ্যে অনেক পার্থক্য মোকাবেলা করতে হয়েছিল। শুধু তাই নয়, সেই সময়ের ওয়েবে ঠিক প্ল্যাটফর্মে তৈরি করা অনেক ক্ষমতা ছিল না।

আজকে দ্রুত এগিয়ে যান। জিনিসগুলি ব্যাপকভাবে পরিবর্তিত হয়েছে। আমাদের কাছে আগের তুলনায় এই ক্ষমতাগুলির আরও বেশি নয়, যে হারে সেগুলি উপলব্ধ হয়েছে তাও বেড়েছে। আমাকে আবার প্রশ্ন জিজ্ঞাসা করতে দিন: ওয়েব কীভাবে কাজ করে এবং আজ প্ল্যাটফর্মে কী উপলব্ধ রয়েছে সে সম্পর্কে আরও জানতে সময় নেওয়া কি আপনাকে সাহায্য করবে? একেবারে হ্যাঁ। আজকে ওয়েব প্ল্যাটফর্ম বুঝতে এবং ব্যবহার করতে শেখা আপনাকে অন্যান্য বিকাশকারীদের তুলনায় একটি বিশাল সুবিধার দিকে নিয়ে যায়। আপনি পারফরম্যান্স, অ্যাক্সেসযোগ্যতা, প্রতিক্রিয়াশীলতা, সেগুলি একসাথে কাজ করুন বা শুধুমাত্র শিপিং UI বৈশিষ্ট্য নিয়ে কাজ করুন না কেন, আপনি যদি একজন দায়িত্বশীল প্রকৌশলী হিসাবে এটি করতে চান, আপনার কাছে উপলব্ধ সরঞ্জামগুলি জেনে আপনাকে আপনার লক্ষ্যে দ্রুত এবং আরও ভালভাবে পৌঁছাতে সহায়তা করে৷ কিছু জিনিস যা আপনার আর লাইব্রেরির প্রয়োজন নেই আজকে কোন ব্রাউজারগুলিকে সমর্থন করে তা জেনে, প্রশ্নটি হল: আমরা কী খাদ করতে পারি? 2025 সালে বৃত্তাকার কোণগুলি করতে আমাদের কি একটি ডিভ উপাদান দরকার? অবশ্যই, আমরা করি না। বর্ডার-ব্যাসার্ধ বৈশিষ্ট্যটি এই সময়ে 15 বছরেরও বেশি সময় ধরে ব্যবহৃত সমস্ত ব্রাউজার দ্বারা সমর্থিত হয়েছে। এবং কোণার-আকৃতি শীঘ্রই আসছে, এমনকি অভিনব কোণগুলির জন্য। আসুন তুলনামূলকভাবে সাম্প্রতিক বৈশিষ্ট্যগুলি দেখে নেওয়া যাক যা এখন সমস্ত প্রধান ব্রাউজারে উপলব্ধ, এবং যা আপনি আপনার কোডবেসে বিদ্যমান নির্ভরতা প্রতিস্থাপন করতে ব্যবহার করতে পারেন। বিন্দু অবিলম্বে আপনার সমস্ত প্রিয় লাইব্রেরি খাঁচা এবং আপনার কোডবেস পুনর্লিখন করা হয় না. অন্য সব কিছুর জন্য, আপনাকে প্রথমে ব্রাউজার সমর্থন বিবেচনা করতে হবে এবং আপনার প্রকল্পের জন্য নির্দিষ্ট অন্যান্য বিষয়গুলির উপর ভিত্তি করে সিদ্ধান্ত নিতে হবে। নিম্নলিখিত বৈশিষ্ট্যগুলি তিনটি প্রধান ব্রাউজার ইঞ্জিনে (Chromium, WebKit, এবং Gecko) প্রয়োগ করা হয়েছে, তবে আপনার বিভিন্ন ব্রাউজার সমর্থন প্রয়োজনীয়তা থাকতে পারে যা আপনাকে এখনই সেগুলি ব্যবহার করতে বাধা দেয়৷ এই বৈশিষ্ট্যগুলি সম্পর্কে জানার জন্য এখন এখনও একটি ভাল সময়, যদিও, এবং সম্ভবত কোনও সময়ে সেগুলি ব্যবহার করার পরিকল্পনা করুন৷ পপোভার এবং ডায়ালগ Popover API,

HTML উপাদান, এবং ::ব্যাকড্রপ সিউডো-এলিমেন্ট আপনাকে পপআপের উপর নির্ভরতা থেকে মুক্তি পেতে সাহায্য করতে পারে,টুলটিপ, এবং ডায়ালগ লাইব্রেরি, যেমন ফ্লোটিং UI, Tippy.js, Tether, বা React Tooltip। তারা আপনার জন্য অ্যাক্সেসযোগ্যতা এবং ফোকাস ব্যবস্থাপনা পরিচালনা করে, বাক্সের বাইরে, CSS ব্যবহার করে অত্যন্ত কাস্টমাইজযোগ্য এবং সহজেই অ্যানিমেটেড করা যায়। অ্যাকর্ডিয়ন <বিস্তারিত> উপাদান, পারস্পরিক একচেটিয়া উপাদানগুলির জন্য এর নাম বৈশিষ্ট্য এবং ::বিস্তারিত বিষয়বস্তু ছদ্ম-উপাদান বুটস্ট্র্যাপ অ্যাকর্ডিয়ন বা রিঅ্যাক্ট অ্যাকর্ডিয়ন উপাদানের মতো অ্যাকর্ডিয়ন উপাদানগুলির প্রয়োজনীয়তা দূর করে। শুধুমাত্র এখানে প্ল্যাটফর্ম ব্যবহার করার অর্থ হল যারা HTML/CSS জানেন তাদের জন্য প্রথমে একটি নির্দিষ্ট লাইব্রেরি ব্যবহার করতে না শিখে আপনার কোড বোঝা সহজ। এর অর্থ হল আপনি লাইব্রেরিতে পরিবর্তনগুলি ভাঙতে বা সেই লাইব্রেরিটি বন্ধ করার জন্য অনাক্রম্য। এবং, অবশ্যই, এর অর্থ ডাউনলোড এবং চালানোর জন্য কম কোড। পারস্পরিক একচেটিয়া বিবরণ উপাদানগুলি খুলতে, বন্ধ করতে বা অ্যানিমেট করার জন্য JS এর ​​প্রয়োজন নেই। CSS সিনট্যাক্স ক্যাসকেড স্তরগুলি, আরও সংগঠিত সিএসএস কোডবেসের জন্য, সিএসএস নেস্টিং, আরও কমপ্যাক্ট সিএসএসের জন্য, নতুন রঙের ফাংশন, আপেক্ষিক রঙ এবং রঙ-মিশ্রণের জন্য, নতুন গণিত ফাংশন যেমন abs(), sign(), pow() এবং অন্যান্য সিএসএস প্রি-প্রসেসর, বুটস্ট্র্যাপ এবং টেইলউইন্ডের মতো ইউটিলিটি লাইব্রেরির উপর নির্ভরতা কমাতে সাহায্য করে। গেম চেঞ্জার :has(), একটি দীর্ঘ সময়ের জন্য সর্বাধিক অনুরোধ করা বৈশিষ্ট্যগুলির মধ্যে একটি, আরও জটিল JS-ভিত্তিক সমাধানগুলির প্রয়োজনীয়তা দূর করে৷ জেএস ইউটিলিটিস আধুনিক অ্যারে পদ্ধতি যেমন findLast(), অথবা at(), সেইসাথে পার্থক্য(), ইন্টারসেকশন(), ইউনিয়ন() এবং অন্যান্যের মত সেট পদ্ধতি লোডাশের মত লাইব্রেরির উপর নির্ভরতা কমাতে পারে। ধারক প্রশ্ন কন্টেইনার ক্যোয়ারীগুলি UI উপাদানগুলিকে ভিউপোর্ট আকার ব্যতীত অন্য জিনিসগুলিতে সাড়া দেয় এবং সেইজন্য সেগুলিকে বিভিন্ন প্রসঙ্গে আরও পুনঃব্যবহারযোগ্য করে তোলে৷ এর জন্য আর একটি JS-ভারী UI লাইব্রেরি ব্যবহার করার দরকার নেই, এবং পলিফিল ব্যবহার করারও দরকার নেই। লেআউট গ্রিড, সাবগ্রিড, ফ্লেক্সবক্স, বা মাল্টি-কলাম এখন অনেক দিন ধরেই আছে, কিন্তু স্টেট অফ CSS সার্ভের ফলাফল দেখে এটা স্পষ্ট যে ডেভেলপাররা নতুন জিনিস গ্রহণ করার ক্ষেত্রে খুব সতর্ক থাকে, এবং তারা করার আগে খুব দীর্ঘ সময়ের জন্য অপেক্ষা করে। এই বৈশিষ্ট্যগুলি দীর্ঘকাল ধরে বেসলাইন ছিল এবং আপনি বুটস্ট্র্যাপের গ্রিড সিস্টেম, ফাউন্ডেশন ফ্রেমওয়ার্কের ফ্লেক্সবক্স ইউটিলিটি, বুলমা ফিক্সড গ্রিড, ম্যাটেরিয়ালাইজ গ্রিড বা টেলউইন্ড কলামের মতো জিনিসগুলির উপর নির্ভরতা থেকে মুক্তি পেতে এগুলি ব্যবহার করতে পারেন। আমি বলছি না আপনার ফ্রেমওয়ার্ক বাদ দেওয়া উচিত। আপনার দল একটি কারণে এটি গ্রহণ করেছে, এবং এটি অপসারণ একটি বড় প্রকল্প হতে পারে। তবে শীর্ষে তৃতীয় পক্ষের মোড়ক ছাড়া ওয়েব প্ল্যাটফর্মটি কী অফার করতে পারে তা দেখে অনেক সুবিধা আসে। অদূর ভবিষ্যতে আপনার আর প্রয়োজন নাও হতে পারে এখন, আসুন কিছু জিনিসের উপর দ্রুত নজর দেওয়া যাক যেগুলির জন্য অদূর ভবিষ্যতে আপনার লাইব্রেরির প্রয়োজন হবে না। অর্থাৎ, নীচের জিনিসগুলি ব্যাপকভাবে গ্রহণের জন্য প্রস্তুত নয়, তবে সেগুলি সম্পর্কে সচেতন হওয়া এবং পরবর্তীতে সম্ভাব্য ব্যবহারের জন্য পরিকল্পনা করা সহায়ক হতে পারে। অ্যাঙ্কর পজিশনিং CSS অ্যাঙ্কর পজিশনিং অন্যান্য উপাদানের তুলনায় পপওভার এবং টুলটিপগুলির অবস্থান পরিচালনা করে এবং পৃষ্ঠাটি সরানো, স্ক্রোল করা বা আকার পরিবর্তন করার সময়ও সেগুলিকে নজরে রাখার যত্ন নেয়। এটি আগে উল্লিখিত Popover API-এর একটি দুর্দান্ত পরিপূরক, যা আরও কর্মক্ষমতা-নিবিড় JS সমাধানগুলি থেকে দূরে সরে যাওয়াকে আরও সহজ করে তুলবে৷ নেভিগেশন API নেভিগেশন এপিআই একক-পৃষ্ঠার অ্যাপে নেভিগেশন পরিচালনা করতে ব্যবহার করা যেতে পারে এবং রাউটার, Next.js রাউটিং, বা কৌণিক রাউটিং কাজগুলির জন্য একটি দুর্দান্ত পরিপূরক বা প্রতিস্থাপন হতে পারে। ট্রানজিশন API দেখুন View Transitions API একটি পৃষ্ঠার বিভিন্ন অবস্থার মধ্যে অ্যানিমেট করতে পারে। একটি একক-পৃষ্ঠার অ্যাপ্লিকেশনে, এটি রাজ্যগুলির মধ্যে মসৃণ রূপান্তরগুলিকে খুব সহজ করে তোলে এবং আপনাকে অ্যানিমেশন লাইব্রেরি যেমন Anime.js, GSAP বা Motion.dev থেকে মুক্তি পেতে সাহায্য করতে পারে৷ আরও ভাল, API একাধিক-পৃষ্ঠা অ্যাপ্লিকেশনগুলির সাথেও ব্যবহার করা যেতে পারে। আগে মনে আছে, যখন আমি বলেছিলাম যে 15 বছর আগে আমি যে কোম্পানিতে কাজ করেছি সেখানে আমরা একক-পৃষ্ঠার অ্যাপ তৈরি করার কারণ ছিল নেভিগেট করার সময় পৃষ্ঠা পুনরায় লোড হওয়ার সাদা ফ্ল্যাশ এড়াতে? সেই সময়ে যদি এপিআই পাওয়া যেত, তাহলে আমরা একটি একক-পৃষ্ঠার ফ্রেমওয়ার্ক ছাড়াই এবং সম্পূর্ণ অ্যাপের একটি বিশাল প্রাথমিক ডাউনলোড ছাড়াই সুন্দর পৃষ্ঠা রূপান্তর প্রভাবগুলি অর্জন করতে সক্ষম হতাম। স্ক্রোল-চালিত অ্যানিমেশন স্ক্রোল-চালিত অ্যানিমেশনগুলি সময়ের পরিবর্তে ব্যবহারকারীর স্ক্রোল অবস্থানে চলে, যা গল্প বলার এবং পণ্য ভ্রমণের জন্য একটি দুর্দান্ত সমাধান করে তোলে। কিছু লোক এটির সাথে কিছুটা উপরে চলে গেছে, কিন্তু যখন ভালভাবে ব্যবহার করা হয়, তখন এটি একটি খুব কার্যকর ডিজাইন টুল হতে পারে এবং লাইব্রেরিগুলি থেকে মুক্তি পেতে সাহায্য করতে পারে যেমন: ScrollReveal, GSAP Scroll বাWOW.js. কাস্টমাইজযোগ্য নির্বাচন একটি কাস্টমাইজযোগ্য নির্বাচন হল একটি সাধারণ

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free