همه توسعهدهندگان این را میدانند که اختراع چرخ از ابتدا کاری احمقانه است. تنها کاری که باید بکنید این است که وارد یک مخزن متن باز در گیتهاب (و یا دیگر وبسایتها) شوید و پروژه را برای خودتان دریافت کنید. بعد از آن تا زمانی که به صورت کامل برایتان قابلیت شخصیسازی دارد آن را شخصیسازی کنید. هیچ نیازی نیست که کارهای دیگران را برای خودتان تکرار کنید.
اما پیدا کردن چنین پروژهای امروزه تا حدی کار سختی است. دنیای فریمورکهای وب دنیای بسیار فعالی است و پروژههای متن باز بسیاری در این دنیا وجود دارند. به همین دلیل شروع کردن با یک مورد از آنها کار بسیار دشواری خواهد بود.
حال در دنیای فریمورکهای جاوااسکریپتی وب ما همواره نام سه مورد را میشنویم. ریاکت، انگولار و ویو. اما خب قرار نیست بگوییم که این سه مورد بهترین موارد هستند. در حقیقت بهترین وجود ندارد، شما باید براساس نیازهایتان و پروژهای که طراحی میکنید تصمیم بگیرید.
در کنار این سه فریمورک، فریمورکهای بسیار دیگری نیز وجود دارند که از نظر عددی، سادهتر، سریعتر و شاید در برخی مواقع پر کاربردتر باشند. در این مطلب قصد داریم به شما ۱۵ جایگزین مناسب برای این سه فریمورک را معرفی کنیم.
Petit DOM
اگر از ایده Virtual DOM خوشتان میآيد اما تمام قید و شرطهایی را که فریمورکهای بزرگی مانند ریاکت برایتان فراهم میکند را نمیخواهید، بنابراین Petit DOM میتواند انتخاب خوبی برایتان باشد. با استفاده از این کتابخانه شما مقداری کد دریافت میکنید که به شما اجازه ایجاد تغییرات در مجموعه تگهای Virtual را میدهد. بعد از آن نیز میتوانید تمام تغییرات را به دنیای DOM واقعی ببرید. هر چیز دیگری راجع به ساختار کامپوننتها و بحث رندرینگ به خود شما مربوط میشود. خواه که کامپوننتهایتان ساده باشند و یا اینکه سلسله رندرینگ پیچیدهای را بطلبند در نهایت این ابزار میتواند به شما کمک بکند. میتوانید این ابزار را به عنوان یک پایه قدرتمند برای بهرهگیری از قابلیت Virtaul DOM در نظر بگیرید.
Surplus
استفاده از قابلیت Virtual DOM ممکن است برای همه در دسترس نباشد. Virtual DOM معمولا فضای زیادی را میطلبد بنابراین اگر پیادهسازی و تغییرات شما بسیار پیچیده نیست، شاید بهتر باشد ه به سراغ همان DOM اصلی بروید. کتابخانه Surplus دقیقا چنین کاری را برایتان انجام میدهد. روند کار کردن با این ابزار ساده است. شما باید کدهایتان را با استفاده از JSX بنویسید و بعد از آن، کتابخانه تمام آنها را به کدهایی که DOM واقعی را پیادهسازی میکنند، تبدیل میکند. اگر به قسمت معرفی این کتابخانه مراجعه کنید مشاهده خواهید کرد که به حذف Middleman اشاره کرده است و همچنین گفته که هیچ لایه اضافی در کار نخواهد بود. منظور همان است که همه چیز در حالت DOM اصلی یا اصطلاحا pure خواهد بود. Surplus ابزار سادهای برای پیادهسازی DOM ساده است.
RE:DOM
گزینهای دیگر برای افرادی که نمیخواهند از Virtual DOM استفاده کنند، کتابخانهای کوچک (2KB) به نام RE:DOM است. RE:DOM شامل قابلیتهایی است که به شما اجازه میدهد تا تنها با چند فراخوانی ساده جاوااسکریپت تگها و کامپوننتهایتان را ایجاد کنید. سینتکس این کتابخانه بسیار نزدیک به CSS است. بنابراین تنها از طریق IDها و Classها میتوانید کارهایتان را جلو ببرید.
Mithril
تمام جایگزینهای ما کوچک و مینیمال نیستند. Mithril فریمورکی است که آن را midsized معرفی میکنند. با این حال اندازه این فریمورک تنها ۸کیلوبایت است. تقریبا میشود این فریمورک را به عنوان یک جایگزین همه جانبه برای ریاکت، انگولار و ویو در نظر گرفت. Mithril به شما علاوه بر دسترسی کامل به Virtual DOM ابزارهای دیگری را نیز در اختیارتان قرار میدهد که از جمله آنها میشود به روتینگ و فراخوانیهای XMLHttpRequest اشاره کرد. در واقع هدف توسعهدهندگان این کتابخانه، استانداردسازی کردن آن بوده است.البته تنها این ابزارها برای چنین کاری کافی نیست. به همین دلیل آنها موارد دیگری را نیز به کدهایشان اضافه کردند.
Bobril
اگر که دوست دارید تا از Virtual DOM و stateful componentها ریاکت استفاده کنید و برنامههایتان را در تایپاسکریپت بنویسید Bobril میتواند به شما کمک کند. اما اگر دوست دارید که کتابخانه سازگارتر با انگولار باشد میتوانید از ngBobril استفاده کنید. در برخی از بنچمارکها این فریمورک بسیار سریعتر از ریاکت و انگولار عمل کرده است. همچنین در خانواده این کتابخانهها یک کتابخانه دیگر به نام BobX نیز وجود دارد که به شما در ایجاد تغییرات در CSS و مدیریت بهتر لایه State به شما کمک میکند.
Marko
Marko فریمورکی سریع و روان است که توسط eBay توسعه داده شده و به صورت متن باز ارائه شده است. یکی از بهترین قضایا این کتابخانه سبک بودن سینتکس قالبنویسی آن است. همچنین موتور رندرینگ آن بسیار سریع است و سازگاری بالایی را ارائه می دهد.
Svelte
فریمورکهای استاندارد معمولا همراه با یک کامپایلر و یک کتابخانه که شیوه ارائه محصول توسط کامپایلر را مدیریت میکند ارائه میشوند. حال چنین مسئلهای در بیشتر اوقات باعث میشود که زمان اجرای کتابخانه و ارائه محصول که همان برگه وب است کمی طول بکشد. کامپایلر Svelte تنها با استفاده کردن از جاوااسکریپت اصلی که توسط مرورگرها استفاده میشود این مشکل را تا حد بسیاری حل کرده است. ساختار این فریمورک به صورتی هوشمندانه طراحی شده است که علاوه بر سبک بودن وبسایت، حافظه بسیار کمی را نیز اشغال میکند.
Inferno
Inferno یکی دیگر از فریمورکهای ساخته شده است که شبیه به ریاکت عمل میکند، اما روند اجرایی آن سریعتر است و حجم کمتری برای دانلود نیاز دارد. برای دسترسی به چنین خروجی، Inferno مکانیسمهای مختلفی را از بدنه اصلی حذف کرده است. بیشتر APIهای این کتابخانه با APIهای ریاکت شباهت بالایی دارند.
Preact
یکی از کوچکترین توزیعهایی که براساس ریاکت ساخته شده است Preact است. در این کتابخانه ویژگیهای مفیدی مانند Virtual DOM و لایهبندی کامپوننتهای پیچیده پیادهسازی شده است اما برخی از موارد که ممکن است ریاکت با آنها کار بکند غیر فعال شدهاند. برای مثال میتوان به حال ارثبری از propها اشاره کرد.
Hapi
برای دسترسی به بیشتر فریمورکها تنها نیاز است که قطعه کد ساده را در کدهایتان قرار دهید. اما Hapi بیشتر شبیه به یک مجموعه از پلاگینها است. حالتی که شما کدهای مختلف از یکدیگر را دارید و میخواهید آنها را با همدیگر ترکیب کنید. در نهایت شما میتوانید چیزهایی که نیاز دارید و میخواهید در پروژهتان وجود داشته باشد را انتخاب میکنید.
Koa
Koa یک وب فریمورک جدید است که توسط تیم توسعه Express ساخته شده است. این ابزار به شما کمک میکند تا بتوانید بهتر میزان زیادی از داده و مسیرها را مدیریت کنید. همچنین به شما قابلیت بسیار خوبی برای مدیریت خطاها را میدهد. با بهرهگیری از توابع async به شما اجازه میدهد که بهتر از حالت Callback بهره ببرید. Koa از middleware در هسته خود استفاده نمیکند، بنابراین توسعه نرم افزار در این حالت بسیار سریعتر اتفاق میافتد.
Nest
Nest گزینهای مناسب برای رفع کردن پیچیدگیهای موجود در یک سرور است. معماری این فریموک براساس کنترلرها، پایپها و... ساخته شده است. این فریمورک همچنین قابلیت مدیریت درخواستهای GraphQL و میکروسرویسها را دارد.
Vanila JS
Vanilla JS یک فریمورک سریع، سبک و چند سکوی است که برای ایجاد اپلیکیشنهای قدرتمند جاوااسکریپت ساخته شده است. در این ابزار شما علاوه بر کاربردهایی که در اصل فریمورک قرار دارد، قابلیت این را نیز خواهید داشت که موارد دیگری را نیز به پکیجی که دریافت میکنید اضافه کنید. مواردی مانند انیمیشنها، عبارات با قاعده، کتابخانه ریاضی، رشتهها، آرایه و موارد بسیار دیگری.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید