گذشته نگر 2024: عشق غیرمنتظره من و لاراول

این ارسالی برای چالش نوشتن سال جدید 2025 است: Retro'ing and Debugging 2024.
با مشخص کردن اولین روزها و ماه های سال 2024، سایتی را برای میزبانی مقالات و وبلاگ ها و آنچه که آپلودز و موسیوز می نامیدم راه اندازی کردم. من از Astro استفاده می کنم که در سال های گذشته از گتسبی مهاجرت کرده ام. Astro مسلماً در کامپایل سایتهای استاتیک سریعتر است و به نظر من روشی سادهتر و تمیزتر برای ایجاد صفحات وب مبتنی بر اجزای سادهتر دارد. این قابلیت جاسازی “جزایر” واکنش، نرم، حتی جاوا اسکریپت ساده و خیلی بیشتر را بدون نیاز به رفتن کامل در SPA در صورت عدم تمایل دارد. این خیلی وسوسه انگیز بود که نگاه نکنم و کاملا رک و پوست کنده شدم. در حالی که من از بخشی از آنچه Astro برای ارائه دارد استفاده نمیکنم، برای من نه تنها برای سایتهای استاتیک، بلکه برای ایجاد POC، دموهای سریع و موارد دیگر، تبدیل به ابزاری شده است. همچنین پایه و اساس یک سیستم مدیریت محتوای سبک وزن شده است که من در حال توسعه آن هستم و امسال برای مشتریان و یک سازمان غیرانتفاعی پیاده سازی کرده ام. CMSی که من به آن اشاره می کنم از یک back-end نوشته شده در لاراول استفاده می کند.
لاراول نسخه 11 اوایل امسال وارد شد و من شروع به مهاجرت به 10 از سال قبل کردم. این دومین سالی است که از لاراول به عنوان یک چارچوب وب اولیه برای سرویس پشتیبان استفاده می کنم تا جایگزین Firebase و کانتینرها، توابع و غیره خودم که در جای دیگر میزبانی شده اند شود. من بدون شک در جهت استفاده از سرویسهای نوشته شده در Go که برای تقویت برنامههای لاراول توسعه میدهم، کار خواهم کرد، اما به نظر میرسد لاراول آنقدر چیزهای خارج از جعبه ارائه میدهد که من برای انتخاب ناامید هستم و خود را بسیار سازندهتر از همیشه میبینم.
چیزی که من را وارد لاراول کرد به خودی خود بخشی از زیرساخت اصلی آن نبود، بلکه یک شخص ثالث به نام Filament بود که از اینکه چقدر سریع می توانم داشبوردهای مدیریت را با سرعت رعد و برق ایجاد کنم در مقایسه با سایر فریم ورک هایی که قبلاً با آن مواجه شده بودم شگفت زده شدم. من متوجه شدم که از جاوا اسکریپت و تایپ اسکریپت به PHP برمیگردم، اما در باتریهای مورد نظر شامل چارچوب لاراول. همه اینها پس از آن است که سال ها پیش Perl را در اولویت برای وردپرس کنار گذاشتیم، اما همیشه به دنبال چیزی هستیم که بتوانم سیستم های پشتیبان محکمی را با آن بنویسم. لاراول همه چیز را دارد.
فکر میکردم اکنون در طول سالها زمان و تلاش خود را برای یادگیری و پیادهسازی برنامههای React و Vue، MeteorJS حتی در روزهای اولیه از دست خواهم داد، اما در تمام آن زمان فکر میکردم که اکنون آن را به نفع لاراول رها کنم، چه اتلاف تلاشی است. تاریخ؟
اما من اشتباه می کردم، زیرا لاراول به دنبال جایگزینی نیست بلکه به عنوان یک توانمند در این زمینه عمل می کند.
همانطور که فریمورکها پیش میروند، پایه محکمی در MVC دارد، چیزی که من سالها با آن آشنا بودم و از آن راضی بودم، به طوری که این الگو مشخص شده است، اما من فکر میکنم این چیزی نیست که قدرت فعلی آن باشد و بسیاری از فریمورکهای مبتنی بر جاواسکریپت/تایپ اسکریپ قبلاً این را دارند. اگر از نوشتن با PHP خوشحال هستید، که من در طول سال ها در کنار آن بزرگ شده ام و در روزگار گذشته پرل بیش از حد می نویسم، می تواند به طور کامل جایگزین جاوا اسکریپت شود. را $
قبل از متغیرها برای من چیزی آشنا از دهه 90 است و هنوز هم هست. ترکیب AlpineJS در پسزمینه و Livewire به من این امکان را میدهد که قالبهایی مانند 'blade' بنویسم که جاوا اسکریپت فعال را در قسمت جلویی نمایش میدهند و حتی رفتاری شبیه SPA بدون نوشتن یک خط جاوا اسکریپت دارند. شاید از این نظر کمی شبیه XHTML باشد.
اما اگر هنوز هم بخواهم یک React App بنویسم و آن همه دانش، عرق خون و زحمات را حفظ کنم، می توانم همانطور که لاراول می تواند این کار را با یک کد چسب به نام اینرسی انجام دهد که در سال 2024 تقریباً به اندازه کافی با آن بازی نکرده ام و بدون شک در سال آینده بیشتر کاوش خواهد کرد. در جایی که میتوانستم به Firebase یا موارد مشابه بپردازم تا یک بکاند محکم برای برنامههای جلویی خود در فضای React به من بدهم، اکنون میتوانم به شدت به Inertia تکیه کنم تا کارهای سنگینی را برای من انجام دهم تا با لاراول در قسمت پشتی ادغام کنم. حذف قفل سرویسهای BaaS و اجازه دادن به من برای «کنترل مجدد» دادههایم، مالکیت واقعی آنها در ماشین مجازی ابری، swarm، کلاستر k8s یا هر چیز دیگری. من دوست دارم.
اگر نمیخواهید لاراول را جایگزین کنید، میتوانید لاراول را با NextJS ادغام کنید و نوشتن API در لاراول نیز آسان است. بنابراین، ادغام با هر چیزی که بتواند REST را صحبت کند، کار خوبی است.
با ذکر کلمه «breeze»، کیتهای شروعی از جمله Breeze و Jetstream وجود دارد که به ما احراز هویت کاملاً کاربردی را میدهد و آماده استفاده با برنامههای ساده Laravel، API، Livewire یا Inertia است، اگرچه من معتقدم Vue فریم ورک جلویی ترجیحی است. دومی اما من Vue را نیز دوست دارم و آنها به ما Vite دادند، متشکرم ایوان تو. من واقعاً استفاده از جت استریم 2 کیت استارت را دوست دارم زیرا حتی 2FA را به ما می دهد. سعادت
اوه، و من گفتم MVC، اما زبان لاراول وجود دارد، یک ORM که من واقعاً از آن استفاده میکنم، به غیر از Artisan که لاراول را با یک CLI برای ایجاد مدلها، ویوها، کنترلکنندهها با مهاجرتهای آماده استفاده، پین میکند. دیگر هیچ تغییری در انتقال ساخت و ساز به برنامههای من وجود ندارد، همانطور که قبلاً با سایر فریم ورکها انجام میدادم، همه چیز فقط در لاراول وجود دارد.
من عرق کردن چیزهای کوچک را متوقف کرده ام و می توانم به نوشتن برنامه هایم ادامه دهم.
من امیدوارم که این کار ادامه پیدا کند زیرا من در سال 2025 از لاراول با شایستگی و اعتماد بیشتری استفاده می کنم و بسیار امیدوارم که شما نیز این کار را انجام دهید.