فریم ورک ها چقدر خوب هستند؟

اگر شما هم از آن دسته برنامه نویسان وب سایت باشید که با فریم ورک کار می کنند و زبان برنامه نویسی شما هم PHP باشد، حتماً گلایه های بسیاری هم دارید!

در این که زبان پی اچ پی زبان قدرتمندی است و سهم بزرگ یا شاید سهم بیشتر بازار وب سایت را به عهده دارد، شکی نیست، زبانی که با گرامر زیبا و روانش هر برنامه نویسی را به خود جذب می کند، در سرعت توسعه فوق العاده تأثیر گذار است و امنیت وبسایت را به خوبی تأمین می کند، تعریف زیبایی از شیءگرایی دارد و تمام ابزار مناسب برای برنامه نویسی موفق را در اختیار می گذارد.

در کنار تمام این مزایا، مزایای دیگری وجود دارند که گاهاً و به مرور زمان تبدیل به ضرر می شود و آن هم framework های این زبان می باشد. هیچ فریم ورکی در php به صورت اختصاصی توسط توسعه دهنگان این زبان توصیه نشده است (به غیر از zend که به دلیل دخالت در توسعه زبان، گاهی بصورت ضمنی سازگارترین فریم ورک پی اچی پی شناخته می شود و  آن هم به دلایلی چون سنگین بودن بیش از حد، خیلی مورد علاقه توسعه دهنگان نیست)، و در واقع ده ها framework برای این زبان توسط توسعه دهنگان خلاق ایجاد شده است، فریم ورک هایی که پاره ای از زمان را در تسخیر خود دارند و به یکباره توسط فریم ورک دیگری ترور می شوند!

در واقع ضعف اصلی توسعه برنامه های وب با پی اچ پی، همین فریم ورک ها هست، چیزی که استفاده از آن ضروری نمی باشد، اما سهم استخدام بازار را به تسخیر خود درآورده اند! برنامه نویس پی اچ پی بیچاره باید هر سال طبق میل بازار رفتار کند و هر سال با یک فریم ورک جدید به ساز بازار کار برقصد!

اما آیا این فریم ورک اینقدر ضروری می باشد؟ در واقع باید بگوییم خیر! در حقیقت پی اچ پی به تنهایی هر آنچه که برای توسعه موفق یک وبسایت لازم می باشد، در اختیار برنامه نویس و مدیر پروژه قرار داده است. آنچه که framework ها را ارزشمند کرده است، api ها، استانداردها و اجبارهای خاص آن ها برای یکدست شدن تیم برنامه نویسی می باشد، اگر از api ها فاکتور بگیریم، تمامی موارد دیگر کاملاً به صورت شخصی و شرکتی قابل پیاده سازی است (که البته مستلزم صرف زمان است، اما شاید ارزنده تر باشد)، در مورد API ها باید گفت، بستگی به سلیقه تیم توسعه هم دارد، ممکن است اصلاً API های یک فریم ورک از نظر یک تیم توسعه جالب نیاید و آن ها تصمیم به توسعه یک api شخصی بگیرید، یا از یک api آماده دیگر استفاده کنند، که البته در این مورد آخر ممکن است اصلاً api مذکور با فریم ورک مورد استفاده سازگاری نداشته باشد و خود این مطلب هم ضعفی برای فریم ورک محسوب می شود و در واقع دست توسعه دهنده را برای استفاده از دریای بی کران api های رایگان زبان php می بندد.

البته به هیچ عنوان قصد نداریم framework را به باد انتقاد بگیریم، زیرا قطعاً این فریم ورک ها مزایای بسیار زیادی دارند و کمک شایانی می توانند به یکپارچه سازی نرم افزار بکنند، و در واقع framework همانطور که از اسم آن – چارچوب کاری – بر می آید برای همین یکپارچه سازی ایجاد شد و بعد امکاناتی به آن اضافه شد.

اما آنچه حائز اهمیت می باشد، ضعف یک اجماع بزرگ برای استفاده برنامه نویسان php از یک فریم ورک واحد، و یا حداقل دو یا سه مورد می  باشد، و وجود ده ها فریم ورک که هر روز یک کدام از آن ها مورد توجه مدیران شرکت ها قرار می گیرد، دردسر ساز شده است.

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

به هر حال امیدواریم این اوضاع ناامید کننده بازار کار PHP سر و سامانی بگیرد و استفاده از فریم ورک تنها به عنوان یک مزیت نسبی محسوب شود و نه به عنوان یک الزام!