موارد استفاده و کاربردهای PHP چیست؟
۲۱ مرداد ۱۳۹۹
PHP یکی از محبوبترین زبانهای برنامهنویسی در جهان است که بهدلیل CMSهای محبوبی مانند WordPress یا Drupal، که توسط اکثر وبسایتها مورد استفاده قرار میگیرد. همچنین تقاضا بسیاری برای توسعه برنامهها با فریمورکهایی مانند Symfony یا Laravel وجود دارند.
اخیرا با حضور Node.js که براساس JavaScript و برای پروژههایی که بسیار بهروز هستند، مناسبتر است و اینها باعث شده PHP در برخی موارد کنار گذاشته شود. اما آیا واقعا این موضوع درست است؟ آیا PHP هنوز هم انتخاب مناسبی برای توسعه برنامههای مدرن است؟ چهموقع میتوان از PHP استفاده کرد؟
با بازگشت به روزهایی که روزنامهها، بهاشتباه آگهی درگذشت Mark Twain را چاپ کردند، این نویسنده مشهور گفت “گزارشهای درگذشت من بسیار اغراق آمیز است”. اگر امروزه هم PHP ذهنی برای فکر کردن و دهانی برای حرف زدن داشت، میتوانست این جمله Mark Twain را تکرار کند.
با اینکه PHP موارد استفاده بیشماری دارد اما بااینحال بسیار نادیده گرفته شده است!
با این وجود که در PHP 7.4، این زبان بسیار کارآمدتر و شیگراتر از قبل شده است اما خیلی از توسعهدهندگان، از انتخاب این زبان بهعنوان گزینهای برای توسعه مدرن و برنامههای نوآورانه، غافل میشوند. بهنظر میرسد توسعهدهندگان و تصمیمگیرندگان حوزه کسب کار در موارد زیر به اجتماع نظر مشترکی رسیدهاند:
- با وجود اینکه ۷۹ درصد از کل وبسایتهای جهان از PHP استفاده میکنند، بیشتر توسعهدهندگان این زبان را برای وبسایتهای مبتنی بر محتوا مناسب میدانند و نه برنامههای کاربردی.
- مناسب برای پروژههای عمومی مانند درگاههای وب و یا فروشگاههای تجارت الکترونیک مبتنی بر CMSهای مختلف PHP مانند WordPress یا Drupal.
- در مقابل رقیبی مانند Node.js، سرعت کمتری دارد، اما میتواند از بسیاری از فناوریهای نوآورانه برای ساختن برنامههای بسیار تعاملی پشتیبانی کند (میکروسرویسها، وبسوکتها).
اما هنوزهم PHP بهعنوان قلب تپنده بسیاری از معروفترین و موفقترین شرکتهای فناوری در جهان است. شرکتهایی مانند: Facebook، Blabacar یا Slack. بسیاری از استارتآپهای کوچکتر تصمیم میگیرند از PHP بهعنوان زبان برنامهنویسی بلندمدت خود استفاده کنند. چرا؟
زیرا بهاین دلیل که PHP نهتنها در بلند مدت، بهتر و بهتر میشود، همچنین مزیتهای خاصی را هم برای توسعهدهندگان و مشاغل ارائه میدهد. علیرغم کلیشهها، این زبان قادر است با WebSocket (اما محدودیتهایی هم دارد) کار کند یا بهصورت میکروسرویس خدماتدهی کند و بسیاری از فناوریهای دیگر را پشتیبانی میکند.
بیایید تعدادی از شرایطهایی که PHP مناسب است را بررسی و تحلیل کنیم.
استفادههای مناسب از PHP
۱) ایدهای را در ذهن خود پرورش دادهاید و میخواهید آن را بهسرعت در بازار آزمایش کنید
آیا ایده کسب و کاری را در ذهن خود پرورش دادهاید و آرزو میکنید که در اسرع وقت آن را به بازار ارائه دهید تا پتانسیل رشد ایده خود را در بازار آزمایش کنید؟ انتشار سریعتر ایدههایتان به دلایل مختلفی اهمیت پیدا میکند، یکی از آنها صرفه جویی در هزینهها است، همچنین شروع سریع ممکن است منجر به یافتن مدلهای تجاری جدیدی شود که قبلا حتی آنها را در نظر نگرفته بودید.
اگر ایده کسب و کار شما، نیازمند یک برنامه وب باشد، زبان PHP انتخاب مناسبی است. وقتی مبحث Time-to-Market یا TTM در میان باشد، زبان PHP برتری پیدا میکند زیرا میتوانید ایدههایتان را بهسرعت توسعه دهید. این سرعت را مدیون دو فریمورک Laravel و Symfony در زبان PHP هستیم که یک انتخاب باورنکردنی از کتابخانههای اختصاصی، آماده هستند و یک اکوسیستم از پیش ساخته شده در اختیار ما قرار میدهند. سرمایهگذاران استارتآپها انتظار نتایج سریع دارند و قطعا PHP میتواند در این موضوع به شما کمک کند تا برنامه خود را سریعتر تحویل دهید و انتظارات را برآورده سازید.
۲) بهینهسازی Seo از اهمیت بالایی برخوردار باشد
بیشتر برنامههای وب B2C نهتنها نیاز دارند که استفاده آسانی داشته باشند بلکه نیاز دارند تا توسط کاربران بالقوهشان راحتتر پیدا شوند. فروشگاههای آنلاین و سایر پروژههای تجارت الکترونیکی بهترین نمونه از مدلهای B2C هستند. اگر میخواهیم برنامه وب ما برای کلمههای کلیدی مختلف در موتورهای جستجوگر محبوب، رتبه بالایی داشته باشد باید در طول توسعه این امر را مورد توجه قرار دهیم.
رباتهای موتور جستجو به وبسایتهایی با کدهای تمیز HTML علاقه دارند، زیرا crawl کردن و خواندن فایلهای HTML که کدنویسی تمیزی دارند، برایشان سادهتر است. ساختن چنین کدهایی یکی از دلایل استفاده از PHP است. ویکیپدیا یکی از نمونههای اصلی وبسایت مبتنی بر PHP است که ترافیک زیادی را از نتایج موتورهای جستجوگر به خود اختصاص داده است. در حقیقت، هر بار که به یک وبسایت غنی از متن میروید که در گوگل رتبه بالایی را به خود اختصاص داده، احتمال بسیار بالایی دارد که با PHP توسعه یافته باشد.
فریمورکهای laravel و Symfony به لطف موتورهای قالبسازی (template engine) مانند Blade یا Twig به ما کمک میکنند وبسایتهایی با Seo بهینه سازی شده، بسازیم. آنها ضمن انعطاف پذیری در طراحی، کدهای سازگار با موتور جستجو را ارائه میدهند.
۳) ثبات برنامه در تجارت شما بسیار مهم باشد
زبان PHP با دو دهه فعالیت و توسعه مداوم، یک راهحل بسیار پایدار است. فریمورکهای Laravel و Symfony به ترتیب به مدت ۱۰ و ۱۵ سال، در توسعه برنامههای مدرن نقش ایفا کردهاند. با گذشت زمان، آنها بالغ شدهاند و بیشتر نقصهایشان رفع شده است. تیمهای توسعه این فریمورکها هنوز هم در پاسخ به آخرین روندهای تکنولوژی و انتظارات توسعهدهندگان، در حال بهبود بخشیدن به این فریمورکها هستند.
افرادی که در بخش توسعه این فریمورکها فعالیت میکنند، مسیری طولانی را طی کردهاند تا روند توسعه عالی را در پیش بگیرند. همچنین PHP دارای جامعه کاملا بالغی است. در مقایسه با یک توسعه دهنده متوسط JavaScript/Node.js، توسعه دهندهای که در سطح متوسطی از زبان PHP قرار میگیرد از تجربه برنامهنویسی بیشتری برخوردار میشود (اگرچه این مورد بر اساس مشاهدات است).
۴) به REST API برای توسعه برنامهی موبایلی خود نیاز دارید
همهی فریمورکهای بزرگ PHP، پشتیبانی عالی برای REST APIها ارائه میدهند. حتی باید افزود که فریمورک Symfony یک پلتفرم کامل برای توسعه APIهای REST و GraphQL ارائه میدهد. این پلتفرم را با نام API Platform میشناسند که ساخت API را بسیار سریع میکند و فقط نیاز به افزودن منطق توسعه دارد.
با استفاده از API Platform، بسیاری از کارهای معمول بهصورت خودکار میشوند و فرایند توسعه API به طرز شگفتانگیزی کارآمد است. تمام مستندهای APIها را با فرمت OpenAPI/Swagger برای اجرا، دریافت میکنیم.
از آنجا که این مستندات بهطور خودکار ایجاد شده و بهروز میشوند، دیگر نیازی نیست که کاربران API هر دفعه نگران بهروز بودن آنها شوند. علاوه بر اینها API Platform، ساختار بسیار پایداری برای پاسخ به درخواستها دارد، همچنین اگر پروژه ما یک برنامه CRUD ساده داشته باشد، این پلتفرم تقریبا با کمترین تلاشی تمام این ساختار را برای توسعه در اختیار ما قرار میدهد.
۵) به معماری مبتنی بر میکروسرویس علاقهمند هستید
غافلگیر شدهاید؟ اما به صحت این موضوع باور داشته باشید! نکته این است که طراحی مبتنی بر میکروسرویس در پشت پیادهسازی Interfaceها پنهان شده است و این چیزی نیست جز، API. اینها به این معنا هستند که بدون تاثیرگذاری در سرویسهایی که از API استفاده میکنند، تغییر تکنولوژی که در پشت نقاب است، آسان است. همچنین قبلا هم گفتهایم که زبان PHP برای توسعه API بسیار عالی است.
چرا PHP از خدمات میکروسرویس پشتیبانی میکند، اما چندان محبوب نیست؟ آنچنان که از مشاهدات بر میآید، دلیل اصلی این است که توسعهدهندگانی که از زبان PHP استفاده میکنند، دارای نگرش سالمی نسبت به خدمات میکروسرویس هستند و سعی نمیکنند که از این معماری در هر پروژهای استفاده کنند. میکروسرویسها میتوانند راهحلی بسیار کارآمد باشند اما برای پروژههای بزرگ، به معنای اینکه اگر نیاز به مقیاسپذیری بالایی باشد، استفاده از معماری میکروسرویس عقلانیتر است! در هنگام استقرار و سازگاری در بین سرویسها، رسیدگی به موارد دشوار است. برای پروژههای کوچک، جوانب منفی طراحی معماری مبتنی بر میکروسرویس از جوانب مثبت آن بیشتر است و به همین دلیل است که باید رویکردی معقول در اجرای معماری میکروسرویسها داشته باشیم.
شما چه فکری میکنید؟ آیا هرکدام از این استدلالها که برای استفاده از زبان PHP در توسعه برنامه مدرنِ سال ۲۰۲۰ به پروژهای که شما بر روی آن کار میکنید، مربوط میشود؟ یا شاید شما در مورد این استدلالها مطمئن نیستید؟
منبع: https://tsh.io/blog/when-is-php-used-in-modern-app-development
توسعهدهندگان دربارهی ما چه میگویند
تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...
MohammadReza
keikaavousi
بعد از بسته شدن @fandoghpaas و ناراحتی همهمون از اینکه یه سرویس خوب و صادق نمیتونه از پس هزینهها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوتهایی داشت که کمی کار میخواست ولی تا الان کاملا راضی.
jadi
jadi
یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.
Arch
EbadiDev
واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیتهای سرویس دیتابیسشون اینه که خودشون به صورت دورهای بکآپ میگیرن.
...
Ali Najafi
me_ali_najafi
یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@
Navid
1navid
عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم
Amir H Shekari
vanenshi