প্রকল্প সম্পর্কে

Million.js হলো একটি React পারফরম্যান্স টুল যা npm প্যাকেজ হিসেবে বিতরণ করা হয়। এটি React-কে প্রতিস্থাপন না করে, React-এর পাশাপাশি কাজ করে এবং একটি কম্পাইলার ও অপটিমাইজড ভার্চুয়াল DOM বাস্তবায়ন প্রদান করে। প্রকল্পটির ঘোষিত পদ্ধতি হলো রিকনসিলিয়েশনের সময় সম্পূর্ণ এলিমেন্ট ট্রি তুলনা করা থেকে সরে এসে পরিবর্তিত মানের সাথে যুক্ত DOM নোড সরাসরি আপডেট করার জন্য কোড তৈরি করা। README এটি একটি কাউন্টার উদাহরণ দিয়ে ব্যাখ্যা করে: React সাধারণত একটি কম্পোনেন্ট স্ন্যাপশট রেন্ডার করে এবং আগের ও নতুন JSX ট্রি তুলনা করে, যেখানে Million.js ধারণাগতভাবে এমন চেক তৈরি করে যা শুধুমাত্র কাউন্ট মান পরিবর্তিত হলে একটি প্যারাগ্রাফ আপডেট করে। প্রকল্পটি এটিকে রৈখিক ট্রি ট্রাভার্সাল থেকে লক্ষ্যবস্তু, ধ্রুব-সময়ের আপডেটে রূপান্তর হিসেবে বর্ণনা করে। এটি বলে যে Million.js React কম্পোনেন্টগুলোকে ৭০% পর্যন্ত দ্রুত করতে পারে এবং সমর্থনকারী ফলাফলের জন্য js-framework-benchmark-এর সাথে লিঙ্ক করে; এই পারফরম্যান্স পরিসংখ্যানটি একটি প্রকল্প দাবি, এখানে স্বাধীনভাবে যাচাই করা হয়নি। সেটআপটি Million.js CLI-এর মাধ্যমে স্বয়ংক্রিয় করার উদ্দেশ্যে, যা `npx million@latest` দিয়ে চালানো যায়। CLI প্যাকেজটি ইনস্টল করে এবং প্রকল্প কনফিগার করে। ডকুমেন্টেশন, একটি ইন্টারঅ্যাকটিভ ডেমো, ইনস্টলেশন সহায়তা, একটি Discord কমিউনিটি, একটি ইস্যু ট্র্যাকার এবং একটি অবদান নির্দেশিকা README থেকে লিঙ্ক করা আছে। রিপোজিটরিটি `/packages`-এর অধীনে একটি মনোরেপো হিসেবে সংগঠিত। এর প্রধান মডিউলগুলো হলো: - `million`: মূল ভার্চুয়াল DOM বাস্তবায়ন। - `react` এবং `react-server`: React সামঞ্জস্য স্তর। - `compiler`: React-এর সাথে Million.js ব্যবহারের জন্য কম্পাইলার। - `jsx-runtime`: Million.js কোরের জন্য একটি JSX রানটাইম। - `types`: শেয়ার্ড TypeScript টাইপ। README-তে Million Lint-এর সাথেও লিঙ্ক রয়েছে, যা পারফরম্যান্স সমস্যা খুঁজে বের করা এবং ঠিক করার জন্য একটি সম্পর্কিত পরিষেবা, এবং ব্লক ভার্চুয়াল DOM অভ্যন্তরীণ বর্ণনা করা একটি ব্লগ পোস্টের সাথে। Million.js MIT-লাইসেন্সযুক্ত এবং blockdom, Voby, ivi, Preact, React, Turbo এবং অন্যান্য প্রকল্পকে অনুপ্রেরণা হিসেবে কৃতিত্ব দেয়।