loader-logo

چطور بهترین روش پیاده سازی پروژه وبسایت ام رو انتخاب کنم؟

همیشه برای کارفرما ها ، بهترین روش پیاده سازی پروژه شون سوال هست !

آیا کار من نیاز به برنامه نویسی دارد؟

اکثر سایت های شرکتی و فروشگاهی اخیر با استفاده از cms های آماده و بدون برنامه نویسی پیشرفته ای ساخته شده اند

این موضوع به این دلیل است با استفاده از cms های متن باز ، شما می تونید هزینه های آپدیت خودتون رو به یک دهم برسونید ، سرعت کارتون رو 10 برابر کنید و خروجی بهتری تحویل بگیرید

پس همیشه در نظر داشته باشید ، اگر برنامه نوینی نیاز ندارید و میلیون ها مثل کار شما وجود داره ، نیازی به برنامه نویسی ندارید

و قطعا وردپرس و قالب های از پیش آماده شده براتون مناسب تره

اگر کار من نیاز به برنامه نویسی داشت ، کدام زبان مناسب تره؟

اول باید بررسی کنید کار شما realtime هست یا نه. این به این معنی هست که برای دریافت بروزرسانی های جدید ، نیاز به رفرش برگه دارد یا خیر؟ برای مثال یک پیامرسان مثل تلگرام نیاز دارد realtime پیاده شود. اما دیجیکالا اینطور نیست.

زبان های بکند سمت کاربر

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

1- نود جی اس

یک زبان برنامه نویسی مبتنی برای جاوااسکریپت و با پرفورمنس (سرعت) بالا هست. مصرف منابع بالایی داره برای همین روی هاست اشتراکی قابل اجرا نیست و باید براش سرور تهیه کنید. هزینه تهیه سرور ایران ماهانه 199 هزار تومان به بالا (در تاریخ نوشتن این مقاله) و سرور خارج با همون مشخصات 1.5 برابر هست

2- جنگو (پایتون)

یک فریمورک مبتنی بر پایتون هست که پرفورمنس خیلی بالایی نداره ، ولی به دلیل پیشرفت پایتون به لطف برنامه نویس های گوگل ، در عرصه هوش مصنوعی مشهور شده.

مصرف منابع بالایی داره ولی به نود جی اس نمیرسه ، البته این بررسی ها در برنامه های کاملا برابر انجام شده و کد نویس 90 درصد سرعت برنامه شمارو مشخص میکنه

هاست های اشتراکی پایتون ارائه میشه ولی این هاست ها ، اغلب دارای اختلالات زیادی هستن و تهیه سرور مناسب تره

3- پی اچ پی

یک زبان برنامه نویسی محبوب برای سمت وب هستش. روی هاست های اشتراکی اجرا میشه و به راحتی با soocket یا ajax میتونید به طور realtime اجرا کنیدش و پرفورمنس بالایی داره. کمی از nodejs (خیلی کم) کمتر و از django بیشتر (در ورژن 7 به بعد) که نسخه 8 اش هم به تازگی منتشر شده

برنامه های سمت سرور

برای مثال یوزر ثبت نام میکند، اطلاعات به فایلی برای ثبت ارسال میشه ، ولی یوزر مجددا اطلاعات اش رو نمیبینه

یا اینستاگرام میخواد الگوریتمی برای حذف کامنت های تبلیغاتی پیاده کنه ، نیازی نداره داده ای رو به یوزر نشون بده ، فقط اطلاعات پاک میشه و یک نوتیفیکشن توی دیتا هاش ثبت میکنه. که نوتیفیکشن رو زبان های بالایی نشون میدن

تمام زبان هایی که در بالا گفته شد در این بخش هم مناسب است. اما گاهی پیش میاد که برنامه شما نیاز به انجام یک عملیات سنگین داره

مثلا باید 1 میلیون نظر رو در یک درخواست بررسی کنه. در این مواقع پاسخ دادن زبان هایی مثل php بالای 30 ثانیه طول میکشه و برنامه به مشکل میخوره

از طرفی هم اگر از سمت وب سرور کاری کرد که تایم اوت نشه ( خطا نده ) برنامه در برابر دیداس آسیب پذیر میشه

پس در این مواقع برای پیاده سازی پروژه از زبان هایی با پرفورمنس بسیار بالا مثل golang – cpp cgi – java jvm استفاده میکنن.

بهترین روش برای پیاده سازی برنامه من چیه؟

در استفاده از تمامی تکنیک های بالا ، برنامه شما میتونه از یک api داده رو بگیره و نمایش بده ، یا اون رو مستقیم نشون بده.

در ادامه قصد داریم بررسی کنیم در چه مواقعی به api نیاز دارید؟

اگر قصد شما فقط ساخت سایت هست ، خب منطقیه که برای برنامه شما نیاز به api نداره و بهتره تنظیم کنید همه چی مستقیم نمایش داده بشه

اما اگر اینطور نیست ، نیاز به ربات تلگرامی ، ربات بله و سروش و اپلیکیشن دارید ، خب تلگرام نزدیک به هلند هست و بله نزدیک به ایران ، پس بهتره هر ربات رو روی کشور خودش اجرا کنید تا سریعتر باشه ، اینجا شما نیاز به api دارید

اگر برنامتون با cms های آماده پیاده شده ، این قابلیت رو داره و می تونید به راحتی دیتا رو بین سرور های مختلف به سرعت منتقل کنید

آیا زبان برنامه نویسی در سرعت کد تاثیر دارد؟

تاثیر این موضوع نهایتا 10 درصد هست و 90 درصد ماجرا به تجربه برنامه نویس مورد نظرتون در کد نویسی بهینه داره ، اگر benchmark های زبان های مختلف رو ببینید می تونید مشاهده کنید که مابل تفاوت سرعت اجرای هر دستور در آنها چند میکرو ثانیه هست. این تست ها به طور تخصصی و در شرایط برابر گرفته شدن

پس هیچوقت زبان برنامه نویسی مقصر کند بودن اون برنامه نیست. روش پیاده سازی پروژه با استفاده از اون زبان اشتباه بوده

منابع و مراجع

همچنین بخوانید…


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *