Skip to content

কেন UnoCSS?

প্রেরণা

আমরা আপনাকে UnoCSS-এর স্রষ্টা Anthony Fu দ্বারা লেখা ব্লগ পোস্ট Reimagine Atomic CSS পড়তে সুপারিশ করি, যাতে UnoCSS-এর পেছনে প্রেরণা সম্পর্কে আরও ভালো বোঝা পান।

UnoCSS X-এর থেকে কীভাবে আলাদা?

Windi CSS

UnoCSS Windi CSS-এর একটি দলের সদস্য দ্বারা শুরু হয়েছিল, Windi CSS-এ যে কাজ করেছিলাম তার অনেক অনুপ্রেরণা নিয়ে। যখন Windi CSS আর সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয় না (মার্চ ২০২৩ থেকে), আপনি UnoCSS-কে Windi CSS-এর "spiritual successor" হিসাবে বিবেচনা করতে পারেন।

UnoCSS Windi CSS-এর on-demand প্রকৃতি, attributify mode, shortcuts, variant groups, compilation mode এবং আরও অনেক কিছু উত্তরাধিকার সূত্রে পায়। তার উপরে, UnoCSS সর্বাধিক extensibility এবং performance মাথায় রেখে শুরু থেকে তৈরি করা হয়েছে, যা আমাদের pure CSS icons, valueless attributify, tagify, web fonts ইত্যাদির মতো নতুন ফিচার চালু করতে সক্ষম করে।

সবচেয়ে গুরুত্বপূর্ণ, UnoCSS একটি atomic CSS engine হিসাবে extract করা হয়েছে, যেখানে সমস্ত ফিচার ঐচ্ছিক, এবং আপনার নিজের conventions, নিজের design system, এবং নিজের presets তৈরি করা সহজ - আপনার যতগুলি ফিচার চান তার সমন্বয় দিয়ে।

Tailwind CSS

Windi CSS এবং UnoCSS উভয়ই Tailwind CSS থেকে অনেক অনুপ্রেরণা নিয়েছে। যেহেতু UnoCSS শুরু থেকে তৈরি করা হয়েছে, আমরা atomic CSS কীভাবে prior arts দিয়ে ডিজাইন করা হয়েছে তার একটি দুর্দান্ত ওভারভিউ পেতে সক্ষম হয়েছি এবং একটি সুন্দর এবং শক্তিশালী API-তে abstract করা হয়েছে। বেশ ভিন্ন design goals-এর সাথে, এটি Tailwind CSS-এর সাথে সত্যিকারের apples-to-apples comparison নয়। কিন্তু আমরা কয়েকটি পার্থক্য তালিকাভুক্ত করব।

Tailwind CSS একটি PostCSS plugin, যেখানে UnoCSS build tools-এর সাথে first-class integrations-এর সংগ্রহ সহ একটি isomorphic engine (PostCSS plugin সহ)। এর অর্থ হল UnoCSS বিভিন্ন জায়গায় ব্যবহার করার জন্য অনেক বেশি flexible হতে পারে (উদাহরণস্বরূপ, CDN Runtime, যা CSS on the fly জেনারেট করে) এবং বিল্ড টুলস-এর সাথে deep integrations থাকবে যা ভালো HMR, performance, এবং developer experience প্রদান করে (উদাহরণস্বরূপ, Inspector)।

Technical trade-offs একপাশে রেখে, UnoCSS সম্পূর্ণ extensible এবং customizable হওয়ার জন্যও ডিজাইন করা হয়েছে, যেখানে Tailwind CSS বেশি opinionated। Tailwind CSS-এর উপরে একটি custom design system (বা design tokens) তৈরি করা কঠিন হতে পারে, এবং আপনি সত্যিই Tailwind CSS-এর conventions থেকে দূরে যেতে পারবেন না। UnoCSS-এর সাথে, আপনি সম্পূর্ণ নিয়ন্ত্রণ দিয়ে আপনি যা চান তা তৈরি করতে পারেন। উদাহরণস্বরূপ, আমরা সম্পূর্ণ Tailwind CSS compatible utilities একটি single preset-এ implement করেছি, এবং অনেকগুলি awesome community presets আছে যা অন্যান্য interesting philosophies দিয়ে implement করা হয়েছে।

UnoCSS-এর flexibility-এর জন্য ধন্যবাদ, আমরা এর উপরে অনেক innovative features experiment করতে সক্ষম, উদাহরণস্বরূপ:

Tailwind CSS-এর উপরে ভিন্ন design goals-এর কারণে, UnoCSS Tailwind CSS-এর plugin system বা configurations সমর্থন করে না, যার অর্থ হল একটি heavily customized Tailwind CSS প্রজেক্ট থেকে migrate করা কঠিন হতে পারে। UnoCSS-কে high-performant এবং extensible করতে এটি সিদ্ধান্তমূলক সিদ্ধান্ত, এবং আমরা বিশ্বাস করি trade-off এর যোগ্য।

Released under the MIT License.