smalljs$molঅনুসন্ধান⌘ Kডকুমেন্টেশনপ্লেগ্রাউন্ডতুলনাইকোসিস্টেমসম্পর্কেBN
পরিচিতিGetting Startedপরিচিতিমানসিক মডেলশুরু করাTypeScript থেকে view.treeপ্রকল্পের কাঠামোটুলিংEssentialsইনস্টলেশনভিউস্টেট ও রিয়্যাক্টিভিটিরাউটিংরেন্ডারিংটেস্টিংডিপ্লয়সমস্যা সমাধানDataডেটা ফেচিংডেটা স্কিমাGiper BazaMoreশোকেসReact, Vue ও Svelte থেকেকুকবুকAdvancedপ্লাগইনমডিউল মেটাডেটাঅফলাইনগোস্ট ভিউAboutসাধারণ জিজ্ঞাসাটিমরিলিজAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

পরিচিতি

React বা Vue থেকে এসেছেন আর কিছুই মাথায় ঢুকছে না? আগে মানসিক মডেল পড়ুন: computed, watch, লাইফসাইকেল হুক আর ডেটা লোডিং কোথায় গেল, তার পাঁচ মিনিটের হিসাব।

$mol কী?

$mol একটি রিঅ্যাকটিভ UI ফ্রেমওয়ার্ক: আপনি বর্ণনা করেন ইন্টারফেসটি কী, আর ফ্রেমওয়ার্ক ঠিক করে কীভাবে এবং কখন সেটি হালনাগাদ করতে হবে। কোনো ভার্চুয়াল DOM নেই, হাতে করা সাবস্ক্রিপশন নেই, useEffect নেই। আপনি কম্পোনেন্টগুলো একটি ট্রি হিসেবে লেখেন; $mol কেবল যা দৃশ্যমান তা-ই রেন্ডার করে এবং কেবল যা সত্যিই বদলেছে তা-ই পুনরায় হিসাব করে।একটি কম্পোনেন্টে তিনটি ফাইল থাকে:name.view.tree — ঘোষণামূলক লেআউট (একটি সংক্ষিপ্ত ট্রি ভাষা)name.view.ts — আচরণ (সাধারণ TypeScript ক্লাস)name.view.css.ts — টাইপযুক্ত স্টাইল (কম্পাইলার দ্বারা যাচাই করা)এই বিভাজনটাই মূল ভাবনা: লেআউট পঠনযোগ্য থাকে, লজিক পরীক্ষাযোগ্য থাকে, স্টাইল টাইপ-নিরাপদ থাকে।তিনটির কোনোটিই একা বাধ্যতামূলক নয়। ট্রি হলো কাঠামোর একটি সংক্ষেপ, যা আপনি হাতেও লিখতে পারেন: TypeScript থেকে view.tree একই কম্পোনেন্ট দুভাবেই বানায় আর ট্রি যে কোডে কম্পাইল হয় তা দেখায়।

এটি কার জন্য?

আপনি এমন একটি ছোট অ্যাপ চান যা বড় হওয়ার সাথে সাথেও ছোট থাকে — রানটাইম সংক্ষিপ্ত এবং রেন্ডারিং ডিফল্টভাবে ভার্চুয়ালাইজড।আপনি সর্বত্র টাইপ পছন্দ করেন — এমনকি স্টাইলও TypeScript যাচাই করে।হাতে করে রিঅ্যাকটিভিটি জোড়া লাগাতে আপনি ক্লান্ত — $mol-এ স্টেট একটি স্প্রেডশিটের মতো স্বয়ংক্রিয়ভাবে রিঅ্যাকটিভ।

একটু স্বাদ

একটি কাউন্টার, সম্পূর্ণ:1$my_counter $mol_view2 sub /3 <= Count $mol_view4 sub / <= count \5 <= Increment $mol_button6 click? <=> increment?7 sub / <= label \+1namespace $.$$ {2 export class $my_counter extends $.$my_counter {3 @ $mol_mem count() { return 0 }4 @ $mol_action increment() { this.count( this.count() + 1 ) }5 }6}count রিঅ্যাকটিভ: যা কিছু এটি পড়ে, এটি বদলালে তা স্বয়ংক্রিয়ভাবে পুনরায় রেন্ডার হয়। কোনো setState নেই, কোনো ডিপেন্ডেন্সি অ্যারে নেই, নিবন্ধন করার কোনো store নেই।

এরপর কোথায়?

নিজের মেশিনে কিছু চালাতে প্রস্তুত? শুরু করা-তে যান এবং পনেরো মিনিটের কমে একটি কার্যকর অ্যাপ তৈরি করুন।
GitHub-এ এই পৃষ্ঠা সম্পাদনা করুনএটি কি সহায়ক ছিল?হ্যাঁনাপরবর্তীমানসিক মডেল
এই পৃষ্ঠায়$mol কী?এটি কার জন্য?একটু স্বাদএরপর কোথায়?
Type to search the documentation.