undefined
021 33328750 © THE ART OF PROGRAMMING -
بخش سوم : چرا ما به زبان های سمت سرور نیاز داریم؟

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

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

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

فرآیند خرید

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

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

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

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

 زبان های سمت سرور بخشی جدایی ناپذیر از هر دو تجربه خرید آنلاین و کلاً وب هستند. سرورهای وب یک هاب مرکزی فراهم می کنند که نه تنها اسناد HTML را ذخیره می کنند، بلکه فرآیندهای مورد نیاز برای ذخیره، دستکاری و توزیع داده ها را در زمان واقعی برای کاربر متعامل با یک سایت برقرار می کنند.

با کدام زبان شروع کنم؟

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

فریم ورک ها

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

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

فریم ورکها در یک فروشگاه آنلاین

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

 یک مثال معمول از یک فریم ورک در حال حرکت برای به روزرسانی یک پایگاه داده سنگین، به صورت چیزی به نام نگاشت شیئی-ارتباطی (ORM) می باشد. از آنجا که مدل کد برای جستجوی یک محصول در پایگاه داده اغلب متفاوت از نحوه کدی است که برای ارسال اطلاعات محصول به مرورگر وب کاربر استفاده می شود، فریم ورک ها یک راه آسان برای هر دو مدل به جهت ارتباط با یکدیگر فراهم می کنند.

فریم ورک ها بر اساس مفهوم زبان به زبان ساخته می شوند، به این معنی که کد فریم ورکORM  در Ruby متفاوت از کد فوق در جاوا است، اما هر دو عمل مشابهی را انجام می دهند.

 ORM فقط یک نمونه از چگونگی کمک فریم ورکها در جهت سرعت بخشیدن به روند توسعه برنامه های سمت سرور هستند.

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

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

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

  1. C #  (تلفظ C-Sharp)

C #  توسط مایکروسافت توسعه یافته است و به طور معمول توسط شرکت ها برای مدیریت پایگاه های بزرگ استفاده می شود. به دلیل رواج داشتن نرم افزارهای موجود مایکروسافت در کسب و کار، C #  به سرعت جا افتاد.

Associated Framework: ASP.NET

  1.  

Go یک زبان برنامه نویسی ایجاد شده توسط Google با عملکرد در ذهن است.

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

Associated Frameworks: Gorilla & Revel

  1.  

Java یکی از قدیمی ترین و گسترده ترین زبانهای برنامه نویسی است. این زبان در ابتدا برای استفاده از برنامه های مستقل دسکتاپ طراحی شده بود، اما تیمی از توسعه دهندگان راهی برای استفاده از آن در سرورهای وب در اوایل سال 2000 پیدا کردند.


Associated Framework: Spring

  1. Node.js (JavaScrpt)

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

Associated Frameworks: Express & Hapi

  1.  

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

Associated Framework: Django

  1.  

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

Associated Frameworks: Laravel & Symfony

  1.  

 Ruby  به عنوان یک زبان برنامه نویسی ظریف و سازنده مطرح است. به طور معمول در ژاپن در دهه 90 میلادی محبوبیت زیادی داشت و پس از اضافه شدن فریم ورک همینک مشهورش یعنی Ruby on Rails ، در سایر نقاط جهان نیز محبوبیت زیادی پیدا کرده است.

Associated Framework: Ruby on Rails