استفاده از فریم ورک یا کدزنی شخصی: مسأله این است!

همواره برنامه نویسان به‌خصوص کسانی که تازه کار هستند بر سر این دو راهی قرار می‌گیرد که آیا از فریم ورک ها (خواه برای طراحی Front-end باشد خواه برای Back-end) برای طراحی سایت، نوشتن یک برنامه یا اپلیکیشن و ... استفاده کنند یا شخصاً اقدام به کدزنی کنند. این مسأله در مورد طراحی ظاهر سایت خود را بیشتر نشان می‌دهد چرا که ظاهر سایت مستقیماً مسئول Look and Feel سایت است (به طور کلی منظور از Look and Feel نحوه تعامل کاربران با یک سایت، نرم‌افزار یا اپلیکیشن است.) اگر بخواهیم Frond-end یک سایت را مد نظر قرار دهیم، فریم ورک هایی همچون Bootstrap و Foundation هستند که کار را خیلی ساده کرده‌اند حتی برای کسانی که در عمرشان برنامه نویسی نکرده اند. درست است که فریم ورک هایی از این دست فرایند طراحی ظاهر سایت را خیلی سرعت بخشیده‌اند اما در عین حال دارای یکسری نقاط ضعف نیز هستند. سؤالی که در اینجا مطرح است این است که آیا همواره آسان‌ترین راه‌کار بهترین روش است یا خیر؟ همواره اکثر افراد به دنبال راه‌کاری هستند که در عین سادگی، از سرعت بالایی هم برخوردار باشد اما همان‌طور که در ادامه این مقاله خواهیم دید، چنین رویکردی دارای نقاط ضعف خاص خود است.

مزایای استفاده از فریم ورک‌ها 
یکی از دلایلی که بسیاری از برنامه نویسان و طراحان سایت به دنبال فریم ورک ها می‌روند این است که فریم ورک ها دارای مزایای زیادی هستند که در ادامه با برخی از مهم‌ترین آن‌ها آشنا می شویم:

- نیازی نیست تا شما برنامه نویس باشید: هر فریم ورک توسط تعدادی برنامه نویس حرفه‌ای نوشته شده است. لذا اگر شما یک دانش سطحی در مورد اچ تی ام ال و سی اس اس داشته باشید، به سادگی خواهید توانست سایتی زیبا و اثربخش طراحی کنید.

- صرفه جویی در زمان: همان‌طور که پیش از این گفته شد، با استفاده از فریم ورک ها به طرز قابل توجهی می‌توانیم زمان طراحی یک سایت یا اپلیکیشن را کاهش دهیم.

- عملکرد Plug & Play: در فریم ورک ها یکسری کلاس نوشته شده است که صرفاً با فراخوانی آن‌ها خواهیم توانست از عملکردهای مختلفی بهره مند شویم. از این جهت نام Plug & Play به این سری از کلاس‌ها اطلاق می‌شود که به سادگی قابل استفاده هستند.

- کدهای قابل اعتماد: زمانی که شما یک فریم ورک را دانلود می کنید، می‌توانید این اعتماد را داشته باشید که کدها پیش از این به خوبی تست شده‌اند و هیچ گونه باگی ندارند. به طور مثال، اگر از فریم ورک های طراحی Frond-end استفاده کنید، می‌توانید این اعتماد را داشته باشید که سایت شما در مرورگرهای مختلف به خوبی نمایش داده می‌شود و یا اگر از فریم ورک های Back-end استفاده می‌کنید می‌توانید این اطمینان را داشته باشید که سایت شما دارای باگ های امنیتی همچون SQL Injection و ... نخواهد بود.

- آپدیت‌های منظم: اکثر فریم ورک های معروف به طور منظم آپدیت می‌شوند که در این آپدیت ها نه تنها برخی باگ های احتمالی حذف می‌شوند بلکه ویژگی‌های جدیدی هم به آن‌ها افزوده می شود.

- برخورداری از پشتیبانی: اکثر فریم ورک های معروف دارای پشتیبانی قویی هستند به این شکل که اگر در حین استفاده از آن‌ها به مشکلی برخورد کنید، به سادگی می‌توانید مشکل خود را در فوروم ها مطرح کرده و جواب‌های متنوعی دریافت کنید.

همانطور که مشاهده می شود، استفاده از فریم ورک ها دارای مزایای گسترده ای است اما نکته‌ای که در اینجا نیاز به توجه دارد این است که اکثر این قابلیت‌ها مرتبط با زمان توسعه یک سایت یا اپلیکیشن هستند و به طور قطع نمی‌توان گفت که محصول نهایی که توسط یک فریم ورک ساخته شده است محصول باکیفیتی خواهد بود. بنابراین در اینجا نیاز هست تا با نقاط ضعف استفاده از فریم ورک ها هم آشنا شویم.

نقاط ضعف استفاده از فریم ورک ها 
اگر چه که فریم ورک ها دارای مزایای نسبتاً قابل توجهی هستند اما این در حالی است که نقاط ضعف آن‌ها را هم حتماً می بایست مد نظر قرار داد:

- منحنی یادگیری فریم ورک: اگر چه که بسیاری از قابلیت‌ها و کلاس‌های یک فریم ورک به صورت Plug & Play قابل استفاده هستند، اما شما نیاز دارید تا زمان قابل توجهی را به منظور یادگیری نحوه استفاده از این قابلیت‌ها اختصاص دهید. این قضیه به‌خصوص در زمان هایی خود را نشان می‌دهد که بخواهید از فریم ورک های Back-end استفاده کنید همچون فریم ورک لاراول برای توسعه وب اپلیکیشن های زبان برنامه نویسی پی اچ پی.

- کدهای اضافی: از آنجا که اکثر فریم ورک ها به این شکل نوشته می‌شوند که دغدغه های اکثر برنامه نویسان در ارتباط با پروژه هایشان در آن‌ها دیده شده است، مسلماً کدهای اضافی به سایت یا اپلیکیشن شما تحمیل می‌شود که این مسأله تا حدودی می‌تواند سرعت سایت شما را پایین بیاورد.

- سایتی همانند بسیاری سایت دیگر: اگر شما این توانایی را نداشته باشید که فریم ورک خود را شخصی سازی کنید، سایت شما شبیه به بسیاری سایت‌های دیگر خواهد بود و این مسأله ای است که کمتر طراح سایت یا برنامه نویسی تمایل به آن دارد (اگر توجه کرده باشید بسیاری از سایت‌ها بدون آنکه نیازی به نگاه کردن به سورس کد آن‌ها داشته باشیم، به سادگی قابل تشخیص هستند که از سی ام اسی همچون وردپرس در آن‌ها استفاده شده است که البته وبلاگ سکان آکادمی هم از این قاعده مستثثنی نیست!)

- نیاز به یکسری قابلیت‌های جدید: بسیاری از ایده‌های ناب طراحان و برنامه نویسان در فریم ورک ها قابل اجرا نیستند و طراح نیاز دارد تا یکسری پلاگین جدید نصب کرده و یا بدتر از آن نیاز دارد تا پلاگینی را از صفر بنویسید.

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

به خاطر دلایلی که در بالا به آن‌ها اشاره شد، شما این امکان را نخواهید داشت تا یکسری از اهداف منحصر به فرد خود در طراحی سایت یا برنامه نویسی را به دست آورید. در بسیاری از کتاب ها، فوروم ها و مقالاتی که در حمایت از فریم ورک ها نوشته شده‌اند همواره این سؤال مطرح می‌شود که چرا می بایست چرخ را از نو اختراع کرد؟ در دید اول این سؤال معقول و منطقی به نظر می‌رسد اما واقعیت قضیه چیز دیگری است. در حقیقت، اگر افراد از زمان های گذشته تاکنون اقدام به اختراع مجدد چرخ نکرده بودند، در حال حاضر ما می بایست از همان چرخ های اولیه که صد در صد هم گرد نبودند استفاده می کردیم. اختراع مجدد چرخ فقط زمانی مشکل زا می‌شود که شما چرخ را با همان خصوصیات قبلی اختراع کنید و هیچ چیز جدیدی به آن نیفزایید. پس به این نتیجه می‌رسیم که اختراع مجدد چرخ چیز بدی نیست اگر اصولی باشد. حال برای آنکه از این دو راهی که در مقابل ما قرار گرفته نجات پیدا کنیم می بایست هدف خود را از طراحی سایت یا برنامه نویسی مشخص سازیم. اگر شما قصد دارید تا یک فریم ورک شخصی سازی شده برای خود طراحی کنید می بایست بتوانید به سؤالات زیر پاسخ دهید:
- آیا من توانایی ساخت یک فریم ورک را دارم؟
- آیا من زمان کافی برای انجام این کار دارم؟
- آیا ساخت یک فریم ورک شخصی کار معقولی است؟

اگر پاسخ به هر سه سؤال فوق «آری» است، پس شما می بایست اقدام به نوشتن فریم ورک شخصی سازی شده یا اصطلاحاً Customized شده خود نمایید. آیا باید از فریم ورک استفاده کرد یا یک فریم ورک شخصی سازی شده نوشت؟

0


بهزاد مرادی

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






از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)