برنامه نویسی

Qwik – چارچوب پست مدرن

معرفی Qwik

فریم ورک های مدرن با چالش بزرگی از نظر عملکرد روبرو هستند، آنها برتر از آنچه شرکت ها به دنبال آن هستند نیستند.

برخی از این فریم ورک ها عملکرد را به عنوان ابزار واقعی خود تطبیق داده اند، به عنوان مثال Svelte، اما هیچ یک از آنها به انتظارات واقعی نرسیده اند زیرا به دنبال سریع تر کردن برنامه های وب در زمان اجرا هستند، اما هیچ کس به دنبال این نیست. منبع مشکل

در اینجا Qwik آمده است، که رویکرد متفاوتی را اتخاذ کرده است، تمرکز از “انجام دادن سریعتر” به “انجام کمتر”. ) کار کند.

Qwik چارچوبی است که توسط خالق Angular، Misko Hevery، با همکاری Adam Bradley، سازنده Ionic، و Manu Almeida، سازنده Gin Framework، ساخته شده است.

اینها پیشگامان توسعه وب هستند. من فکر نمی کنم که ما فقط با یک چارچوب جاوا اسکریپت دیگر سروکار داشته باشیم. شاید باید برای چارچوب جدیدی آماده باشیم که پارادایم را تغییر دهد.

چرا Qwik؟

Qwik با یک هدف روشن همراه است: دستیابی به عملکرد برتر، کمال، 0 جاوا اسکریپت و HTML خالص. بله، ما اینجا هستیم. وقت آن است. Qwik تلاش می‌کند و همچنین موفق می‌شود تا فراتر از آنچه چارچوب‌های دیگر می‌توانند انجام دهند، عمل کند.

آخرین فریم ورکی که با مفهوم جدیدی همراه شد Astro بود که هیدراتاسیون جزئی را معرفی کرد، انقلابی در چارچوب های جاوا اسکریپت.

به عنوان مثال، اگر صفحه‌ای داریم که با متنی شروع می‌شود که نیازی به جاوا اسکریپت ندارد، هیچ چیزی را بارگذاری نمی‌کنیم، اما اگر به پایین صفحه پیمایش کنیم که به جاوا اسکریپت برای تعامل نیاز دارد، صفحه را با جاوا اسکریپت مورد نیاز هیدراته می‌کنیم.

Qwik بازی را نابود کرد، بدون هیدراتاسیون جزئی، اما هیدراتاسیون صفر و 0 جاوا اسکریپت در بار اول.

به عنوان مثال، اگر یک فرم تماس در پایین صفحه داشته باشیم، Angular، React یا VueJS جاوا اسکریپت مورد نیاز را در بارگذاری اول بارگذاری می کند، Astro آن را اگر به پایین اسکرول کنیم، Qwik آن را فقط و فقط در صورتی بارگذاری می کند. روی دکمه ارسال فرم کلیک کنید، جاوا اسکریپت نه زمانی که فرم را در مقابل خود داریم، بلکه اگر با آن تعامل داشته باشیم بارگیری می شود.

مفهوم کلید Qwik

Qwik، فلسفه چارچوب اول HTML واضح است: سریع‌ترین زمان ممکن را به صورت تعاملی انجام دهید (برای انجام سریع‌تر با انجام هیچ کاری).

فریم ورک فراخوانی جاوا اسکریپت را تا آنجا که ممکن است به تاخیر می اندازد و آن را تنها چیزی که کاملاً مورد نیاز است فراخوانی می کند. تمرکز روی بار اول است.

به این ترتیب، فقط HTML خالص را بارگیری می کند. برای رسیدن به این هدف، Qwik بر یک مفهوم مهم استوار است. در این پاراگراف به عمق آن خواهیم پرداخت.

قابلیت از سرگیری مجدد

چارچوب های مدرن اکنون برای بهبود هیدراتاسیون با یکدیگر رقابت می کنند. Qwik از این نظر منحصر به فرد است که قابلیت ازسرگیری دارد.

نام این مفهوم به ما درکی از آنچه در مورد آن صحبت می کنیم، “توقف/رزومه”، از سرگیری برنامه از جایی که سرور به جای پخش مجدد همه کار متوقف شد، به ما می دهد.

سریال‌سازی کنترل‌کننده‌های رویداد، کلید توقف و از سرگیری برنامه است. اما انجام این کار چیز جدیدی نیست، ما قبلاً آن را از طریق jQuery انجام دادیم.

به عنوان مثال، استفاده از جاوا اسکریپت خالص. تفاوت با Qwik این است که کار بر روی Qwik مانند کار بر روی React است، DX مدرن را پذیرفته است.

اگر بخواهیم عمیقاً در مورد شکل بالا فکر کنیم، مشکل قرقره، مقیاس بندی را درک خواهیم کرد. اگر ما یک برنامه وب گسترده داشته باشیم، زمان زیادی طول می کشد تا با هیدراتاسیون بارگذاری شود.

حتی با Hydration جزئی، مقیاس کردن آن چالش برانگیز خواهد بود، Qwik با قابلیت از سرگیری فقط HTML را بارگیری می کند، که زمان زیادی را صرف نمی کند.

کسری از ثانیه است و شما برنامه خود را در مرورگر خود بارگذاری می کنید.

شهر Qwik

در 1 می 2022، هیوری در پادکستی گفت که هدف آنها ساخت روتری است که قابلیت انجام مسیریابی MPA (برنامه چند صفحه ای) با مزایای مسیریابی SPA (برنامه تک صفحه ای) را ارائه می دهد. به عبارت دیگر، انجام روت MPA بدون رفرش کردن صفحه.

فقط قسمت هایی را رندر کنید که نیاز به تازه سازی دارند. این ممکن است تخیلی به نظر برسد، اما قبلاً انجام شده است، آنها آن را انجام دادند و نام آن شهر Qwik است.

بنابراین Qwik ترکیبی از رندر سمت سرور و رندر سمت کلاینت است. از آن دو بهره می برد.

Qwik City متا فریمورکی است که برای Qwik طراحی شده است، مانند Next.js برای React.js. مسیریابی در شهر Qwik بسیار ساده است، بر اساس ساختار دایرکتوری های ما در فهرست مسیرها است.

src/

└── routes/

    └── some/

        └── path/

            └── index.tsx       <https://example.com/some/path>

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با متا فریمورک 0 جاوا اسکریپت ما، برنامه بدون یک جاوا اسکریپت اختصاص داده شده به شهر Qwik بارگیری می شود، اما بیشتر از آن وجود دارد. همچنین ارائه می دهد:

  • مسیریابی مبتنی بر دایرکتوری
  • چیدمان های تو در تو
  • منوهای مبتنی بر فایل
  • پودرهای سوخاری
  • پشتیبانی از تالیف محتوا با فرمت های فایل .tsx یا mdx
  • نقاط پایانی داده

نتیجه

فریمورک های مدرن تمام جاوا اسکریپت را دانلود می کنند و بعد از آن همه آن را اجرا می کنند.

Qwik کمی جاوا اسکریپت را دانلود می کند و تا زمانی که به آن نیاز نداشته باشیم آن را اجرا نمی کند. چارچوب در حال تغییر مدل ذهنی است.

ما فکر می کنیم که Qwik یکی از پیشگامان در چارچوب های JS خواهد بود. عملکرد راه اندازی را بهبود بخشیده است، که مشکل واقعی فریمورک های مدرن است، اما در مورد Qwik، اینطور نیست.

بگذارید آینده را ببینیم و با ما همراه باشید زیرا این اولین مقاله ما در مورد چارچوب است و البته آخرین مقاله نیست. در مقالات بعدی، عمیقاً به مفاهیم اصلی خواهیم پرداخت و چند نمونه از ساخت برنامه های کاربردی Qwik را انجام خواهیم داد.

این مقاله توسط آقای هاوری میسکو (خالق Angular و Qwik) با مهربانی بررسی شده است، ما از او برای کمک بسیار سپاسگزاریم.

پیوند به مقاله اصلی

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا