به طور معمول HTML و CSS در این روند مورد بررسی قرار میگیرند. اگرچه مفید هستند، اما واقعا برای توسعه منطق back-end ضروری نیستند. در این مقاله ما محبوبترین زبانهای برنامهنویسی back-end را مورد بحث قرار میدهیم.
Java
Python
Node.js
Go
Django
Asp.net
Ruby
SQL
back-end دارای سه بخش است: سرور، برنامه و پایگاه داده.
برای بهتر توضیح دادن اینکه چگونه همه این موارد کار میکنند، بیایید از یک مثال استفاده کنیم: یک مشتری که میخواهد با استفاده از وبسایت کارت پرواز بخرد. همه چیزهایی که مشتری بر روی صفحه وب میبیند front-end است، اما وقتی این مشتری تمام اطلاعات خود را معرفی میکند، مانند نام، آدرس، توضیحات و غیره، عملکرد وب اطلاعات را بر روی پایگاه دادهای که از قبل بر روی وبسایت ساخته شده است ذخیره میکند.
برنامه وب اجزا را در پایگاه داده ایجاد، حذف، آپدیت میکند یا تغییر نام میدهد. مثلا وقتی یک مشتری بلیط را خریداری میکند، آیتمی در جدول ایجاد میشود، اما زمانی که آنها تجدیدنظر میکنند یا مایل به لغو بلیط هستند، آیتم در پایگاه داده تغییر میکند.
در سادهترین شکل، سرور کامپیوتری است که از راه دور به نرمافزار دسترسی داشته و آن را اجرا میکند تا درخواستهای مشتریان را انجام دهد.
به طور خلاصه، وقتی مشتری میخواهد بلیط بخرد، کار backend این است که برنامه وب با سرور ارتباط برقرار کند تا تغییراتی را در پایگاه داده ذخیرهشده روی سرور ایجاد کند. تکنولوژیهایی مثل PHP، Ruby، Python و تکنولوژیهای دیگر مواردی هستند که به برنامهنویسان backend کمک میکنند تا این کار را به درستی و هماهنگ انجام دهند، و مشتری به آسانی میتواند خودش بلیطش را درخواست دهد.
back end دارای سه بخش است: سرور، پایگاه داده شما، و یک برنامه back-end، نرمافزاری که از طریق زبانهای سمت سرور نوشته شده است. سرور یک کامپیوتر قدرتمند است که نرمافزار back-end را اجرا میکند، پایگاه داده دادههای سایت شما را میسازد، و نرمافزار مرتبط بین این دو است. مثلا اگر کاربری پروفایل خود را روی سایت آپدیت کند، اسکریپتها ی سمت سرور اطلاعاتی که کاربر وارد کرده است را میآورد.
Java
جاوا توسط توسعهدهندگان بزرگ انتخاب شده است. البته این بدان معنا نیست که بهترین زبان است. جاوا پیرامون مدل سازمانی ساخته شده است. در ابتدا بنیانگذاران آنن برنامهریزی کردند تا کسب و کاری را برای آن بسازند (مثل .NET). تمام برنامههای اندروید مبتنی بر جاوا هستند و 90 درصد شرکتهای Fortune 500 از جاوا به عنوان زبان سمت سرور برای توسعه backend استفاده میکنند. جاوا با محبوبیتی در حدود 6000 شغل در سال 2018 نسبت به سال 2017 کاهش یافته است اما هنوز هم به خوبی پا برجاست.
Python
بسیار سریع در حال توسعه و نمونهسازی است. کدنویسی آن لذتبخش است، نگهداری و ریفکتور آن آسان است. پایتون یک زبان برنامهنویسی با اهداف عمومی است که برای توسعه وب استفاده میشود و به عنوان یک زبان پشتیبان برای توسعهدهندگان نرمافزار مورد استفاده قرار میگیرد. این زبان به طور گسترده در محاسبات علمی، دادهکاوی و یادگیری ماشین استفاده میشود. بسیاری از وبها توسط فریمورکهای Python / Ruby / PHP هدایت میشوند. این زبانها توسط افراد حرفهای ساخته شدهاند.
ضعف: به اندازه جاوا سریع نیست، اما بخش محتوای وب، به اندازه کافی سریع است. از آنجایی که برنامهای با JIT وجود دارد (مثل PyPy)، این ضعف در حال ضعیفتر شدن است. JIT باعث افزایش قابل توجهی میشود.
میتوانیم مقایسه جاوا و پایتون را ببینیم:
Node.js
Node.js با Express.js نیز میتواند برای طراحی برنامههای وب کلاسیک در سمت سرور استفاده شود. با این حال، در حالی که امکانپذیر است، این الگوی درخواست-پاسخ که در Node.js پیرامون رندر HTML ارائه میشود، معمولترین مورد استفاده نیست.
Go
Go تازه وارد است. از نظر سرعت بهتر از جاوا و از نظر جذابیت و بهرهوری بهتر از Python / Ruby است. دارای سلسله مراتبی ساده و قدرتمند میباشد.
ضعف: اگرچه Go پروژهای پایدار است، اما ابزارهای زیادی برای آن وجود ندارد. اما انتظار میرود که به مرور زمان در این زمینه پیشرفت کند.
با این حال Go در حال حاضر در تولید استفاده میشود. (Google، Heroku).
Django
این یک فریمورک برنامه وب رایگان و منبع باز (open-source) است، که در پایتون نوشته شده است و الگوی معماری model–view–controller (MVC) را دنبال میکند. این فریمورک توسط Django Software Foundation (DSF) نگهداری میشود. Django یک فریمورک وب پایتون سطح بالا است که توسعه سریع و طراحی تمیز و کاربردی را تقویت میکند.
ASP.NET
از پایگاه داده SQL server مایکروسافت استفاده میکند. ASP.NET یک فریمورک وب منبع باز برای ساخت برنامههای وب مدرن و سرویسها با .NET است. ASP.NET وبسایتهای مبتنی بر HTML5، CSS و JavaScript را ایجاد میکند که ساده و سریع هستند و میتوانند به میلیونها کاربر نسبت داده شوند. به شما اجازه میدهد تا به راحتی از ویژگیهای کامل زبانهای برنامهنویسی مثل C# یا VB.NET برای ساخت برنامههای وب استفاده کنید.
Ruby
این یک زبان برنامهنویسی است که برای سرگرمی و کارایی ایجاد شده است. سینتکس Ruby به راحتی قابل خواندن است، حتی برای کسی که Ruby را نمیشناسد. به طور کلی این یک نقطه ارتباط به لطف Rails بود، که فریمورکی (ساخته شده با Ruby) برای ساخت برنامههای وب است. این زبان بر روی Rails یکی از محبوبترین ابزارهای بهبود وب برای استارتآپها و کسب و کارهای کوچک است.
SQL
SQL یک زبان استاندارد کوئری (پرس وجو) برای ذخیرهسازی، بازیابی و نگهداری دادهها در پایگاه داده است. این یک زبان جهانی کوئری برای پایگاه داده است. SQL برای ارتباط با پایگاه داده استفاده میشود، که بخشی از هر عملکرد وب backend است. مهم نیست که چه زبان یا فریمورکی را برای ساخت برنامه وب خود انتخاب میکنید، شما احتمالا از SQL، یا نوعی انتزاع از آن، برای ارتباط با پایگاه داده استفاده میکنید. SQL شغل مورد تقاضا در سطح بالایی است، با بیش از 30000 شغل بیشتر از زبانهای برنامهنویسی که در بالا به آنها ذکر شد. اگر تنها زمان محدودی برای یادگیری یک تکنولوژی جدید دارید، این مورد را انتخاب کنید.
نظرات کاربران در رابطه با این دوره