شما در طراحی وب سایت تکنولوژی های متعددی برای توسعه وب سایت برای انتخاب دارید. به طور کلی می توان آن ها را به CMS ها (مانند وردپرس، جوملا، دروپال) و Framework ها (مانند لاراول، سیفونی) تقسیم کرد. هر یک از این تکنولوژی های توسعه وب دارای ویژگی هایی هستند که به واسطه آن ها انتخاب مناسبی برای نوع خاصی از وب سایت ها به حساب می آیند. پس در همین قدم اول اگر سوال شما این است که لاراول بهتر است یا وردپرس باید از شما بپرسم: برای چه پروژه ایی؟
گاهی تکنولوژی های توسعه وب حتی آن هایی که در یک گروه از CMS یا Framework قرار دارند (مثلا وردپرس و دروپال که هر دو CMS هستند) بخاطر هزینه و زمان توسعه بسیار متفاوت شان نه بخاطر توانایی های فنی آن ها، یکی بر دیگری ترجیح داده می شود.
مسئله دیگر نیز تصور عموم از تکنولوژی های وب است. تعصب برخی بر روی یک تکنولوژی خاص و در نظر نگرفتن امکانات، شرایط و ورژن های جدید تکنولوژی ها باعث شده تصویری غیر واقعی از برخی از آن ها در نزد عموم به وجود آید. مثلا در ابتدا وردپرس یک سیستم وبلاگ بود. اما امروز با توسعه فراوان و تیم پشتیبانی عظیم خود تبدیل به یک CMS قدرتمند شده است که می تواند از وب سایت های شرکتی و خبری تا وب سایت های فروشگاهی را سرویس دهی کند.
از سوی دیگر توان حرفه ایی و تجربه توسعه دهنده هر تکنولوژی اهمیت بسیاری دارد. یعنی در بسیاری مواقع این توان فنی توسعه دهنده است که درصد موفقیت پروژه را مشخص می کند و نه امکانات تکنولوژی. مثلا ما در CMS ها توسعه دهندگان تازه کار بیشتری در بازار داریم، طبیعی است که تازه کاران در این حوزه پروژه های ناموفق زیادی دارند و به طبع مشتریان ناراضی زیادی به وجود می آورند. در این حالت نیز ممکن تمرکز افراد و نتیجه گیری آن ها از توسعه دهنده به تکنولوژی منحرف شود و یکی را به جای دیگری مقصر بدانند.
نکته دیگر وجود منابع انسانی است که نقش مهمی نه تنها در توسعه بلکه در نگهداری پروژه دارد. به طور طبیعی هر تکنولوژی عمر و دوران خود را داشته و همیشه محدودیت هایی در استخدام نیروی حرفه ایی وجود دارد. ما در کار خود زیاد می شنویم که برنامه نویس خوب زیاد داریم اما برنامه نویس خیلی خوب کم پیدا می شود و برخی پروژه ها برنامه نویس خیلی خوب نیاز دارند.
خوب این مقدمه ایی برای مقایسه تکنولوژی های وب و اینکه چقدر می تونه این نکته علیرغم سادگی برای متخصصان (در اکثر پروژها) برای افراد عادی دشوار باشد. برای همین در این مقاله از دارکوب به مقایسه بیشتر وردپرس و لاراول می پردازم.
لیست مطالب
وردپرس پر طرفدار ترین سیستم مدیریت محتوا یا همان CMS است. موفقیت این سیستم مدیون سادگی در توسعه و استفاده، شبکه توسعه دهندگان فراوان، متن باز و منعطف بودن آن است. این سیستم مدیریت محتوا از PHP و MySQL استفاده می کند. در ابتدا وردپرس یک سیستم تولید محتوا برای وبلاگ نویسان بود اما با افزوده شدن امکانات و تحول زیاد آن تبدیل به یک CMS شد که بتواند سیستم های فروشگاهی را نیز سرویس دهی کند.
وردپرس دارای افزونه ها، قالب های فراوانی است که اضافه کردن هر نوع امکاناتی را به آن آسان کرده است. البته بیشتر این پلاگین ها رایگان است و بخاطر استفاده زیاد از آن مشکلات فنی و امنیتی آن ها در سطح مطلوبی قرار دارد.
لاراول Laravel یکی از معروف ترین فریم ورک های PHP بر اساس معماری MVC برای توسعه اپلیکیشن های تحت وب است. این فریم ورک متن باز تحت لیسانس MIT ارائه شده است. این فریم ورک PHP که بر روی اجزای symphony توسعه داده شده، اساسی مناسب برای استفاده از کدهای قابل اعتماد و تست شده فراهم می کند. لاراول کارهایی چون ارتباط با دیتابیس، سشن ها، روتینگ ها، احراز هویت و غیره را بسیار آسان کرده است.
لاراول خیلی سریع توانست به فریم ورکی محبوب نزد توسعه دهندگان تبدیل شود. شاید از ویژگی های مهم این فریم ورک PHP بتوان به سادگی و سرعت بالای آن اشاره کرد. در ادامه به بررسی بیشتر ویژگی های لاراول می پردازم.
همانطور که در مقدمه توضیح دادم هر تکنولوژی وب ویژگی هایی دارد که در نهایت این ویژگی یکی را نسبت به دیگری نسبت به هر پروژه اولویت می دهد.
لاراول به طور حرفه ایی چالش های متداول پیش روی هر توسعه دهنده را حل کرده است:
بسیاری افراد در ساخت محصول سفارشی مثلا خودرو از نقطه صفر آغاز می کنند، برخی نیز به دنبال سفارشی سازی قطعات آماده می روند. استفاده از یک چارچوب فوق العاده مانند لاراول، مانند داشتن یک کارگاه عالی با ابزارهای بسیاری است تا این کار را انجام دهید. در حالی که با استفاده از یک برنامه مانند وردپرس، مانند شروع به مونتاژ یک ماشین می کنید، چیزی است که برای یک کار خاص مثلا وبلاگ نویسی فراهم شده است. هر دو دارای مزایا و معایب خود را دارند.
یک ماشین سفارشی (مانند لاراول) زمان زیادی برای توسعه نیاز دارد، توسعه، نگهداری، یادگیری، خطاها و اشتباهات زیادی در این مسیر وجود دارد. اما از سوی دیگر منعطف و سفارشی بودن برای اهداف خاصی که توسعه داده شده به خوبی عمل می کند.
اما در مقابل در وردپرس، کمتر چیزی را از پایه شروع می شود، برنامه نویسی، خطاها، نگهداری کمتری نیاز است؛ در مقابل انعطاف پذیری کمتر بوده و پیش فرض هایی درباره عملکرد نهایی وب سایت وجود دارد. و قسمت های مختلف باید به خوبی به هم متصل شوند تا مشکلات فنی و امنیتی در پی نداشته باشند. که در اینجا حرفه ایی بودن توسعه دهنده برای این نقاط حساس ضروری است.
وردپرس یک سیستم مدیریت محتوا است. بنابراین اگر پروژه زیر رده پورتال مبتنی بر محتوا مانند وبلاگ، روزنامه، آموزش، نمونه کارها قرار گیرد، پس وردپرس انتخاب اول است. این اصلا معنا نمی دهد که لاراول تمام ویژگی های عالی مدیریت محتوا را از صفر ایجاد کند، چون قسمت های مختلفی باید توسعه داده شوند: ذخیره خودکار پیش نویس، گالری تصاویر، برچسب ها، دسته ها و غیره.
از سوی دیگر، اگر پروژه شما پر از اقدامات مبتنی بر کاربر مانند ثبت نام، پیام های داخلی، آپلود محتوا، رای گیری، تطبیق پروفایل، سوابق پرداخت و موارد مشابه باشد، پس کد سفارشی مبتنی بر فریم مانند لاراول بسیار بهتر است. برای اینکه منصفانه نظر بدهیم، همه اینها ممکن در وردپرس با کمک پلاگین ها قابل پیاده سازی باشد، اما برای پروژه های بلند مدت و بزرگ نگهداری و اتصال اجزا به ساختار و به روز رسانی ها می تواند کار بسیار دشواری باشد و سیستم در نهایت آن چالاکی لازم را نداشته باشد.