تفاوت فرانت اند ( Front-end ) و بک اند ( Back-end ) چیست؟
اسکریپتهای وبسایت از دو جا اجرا میشوند، سمت کاربر (Client-Side) که به آن font-end گفته میشود، یا سمت سرور (Server-Side) که back-end خوانده میشود. کلاینت یا کاربر یک وبسایت به مرورگر وبی که آن را نمایش میدهد گفته میشود. و سرور وبسایت هم همانطور که از نامش پیداست به سروری که میزبانی آن را به عهده دارد گفته میشود. تفاوت فرانت اند و بک اند در همین جملات خلاصه میشود، اما اگر قصد دارید اطلاعات جامعتری کسب کنید شما را به خواند ادامه مقاله دعوت میکنیم.
بیشتر زبانهای کد نویسی وب، طوری طراحیشدهاند که یا در سمت سرور اجرا میشوند، یا در سمت کاربر. این مسئله بهخوبی نحوهی کارکرد آنها را مشخص میکند. این را با چند مثال به شما نشان میدهیم.
«این مطلب توسط تیم نویسندگان هاست ایران تهیه شده است. هاست ایران یکی از معتبرترین و برترین ارائهدهندگان سرویس وبهاستینگ در ایران است. شما میتوانید برای خرید هاست به صفحه مورد نظر مراجعه کنید.
به یاد داشته باشید قبل از خرید هاست در صورتی که دامنه فعالی نداشته باشید ابتدا باید اقدام به ثبت دامنه کنید.
همچنین اگر کسبوکاری دارید که به سرعت در حال رشد است ما به شما پیشنهاد میدهیم که با مراجعه به صفحه خرید سرور مجازی VPS از این سرویس کاربردی و بهروز دیدن کنید.»
زبانهای برنامهنویسی فرانت اند
توسعه وب در سوی کاربر، اغلب با زبان جاوا اسکریپت انجام میشود. هرچند این کار در کنار کدهای سادهی HTML و CSS انجام میگیرد. دلیل اینکه جاوا اسکریپت را یک زبان برنامهنویسی سمت کاربر میخوانند این است که این برنامه اسکریپتها را پس از لود شدن وب از روی کامپیوتر شما اجرا میکند. این مثال را ببینید:
<script> document.getElementById('hello').innerHTML = 'Hello'; </script>
کد جاوا اسکریپت، string یا رشتهی «Hello» را گرفته و آن را از طریق المنتی که ID آن نیز «hello» است نمایش میدهد- در نظر بگیرید که یک تگ <h1> بوده است. چیزی که قبلا در آن المنت بود جایگزین میشود، اما اگر شما کد سورس این صفحه را باز کنید، هنوز هم نوشتهی اصلی را بهجای Hello میبینید.
مقاله مرتبط: زبانهایی که توسعه دهندگان وب باید بیاموزند
این مسئله به این دلیل است که «Hello,World» به صورت پویا در سند HTML اضافهشده است و بخشی از سند اصلی که توسط مرورگر شما لود میشود نبوده است. هرچند، آنچه شما خواهید دید، کد جاوا اسکریپتی است که توسط کامپیوتر شما اجرا میشود.
زبانهای برنامهنویسی سمت سرور
یک زبان سمت سرور یا back-end پیش از اینکه HTML لود شود اسکریپتهایش را اجرا میکند.
زبانهای برنامهنویسی سمت سرور بسیاری برای استفاده در وب وجود دارد. یکی از مشهورترین آنها PHP است. البته زبانهای Ruby on Rails و ASP.NET نیز بسیار پرکاربرد هستند. به این زبانهای برنامهنویسی به این دلیل زبان سمت سرور میگویند که اسکریپتهای آنها روی کامپیوتر شما اجرا نمیشوند، بلکه روی سروری که میزبانی وبسایت شما را به عهده دارد اجرا میشوند و سپس کد HTML را ارسال میکنند.
این کد PHP را ببینید:
<h1 id="hello"><?php echo 'Hello'; ?></h1>
این کد دقیقا، کار کد جاوا اسکریپت در قسمت قبل را انجام میدهد، یعنی رشتهی «Hello,World» را با آیدی «Hello» در تگ <h1> قرار میدهد. اما وقتی کدهای HTML آن را ببینید با موضوع متفاوتی برخورد میکنید. داخل تگهای <h1> رشتهی «Hello» خواهد بود.
مقاله مرتبط: برترین زبان های برنامه نویسی در سال ٢٠١٧
از سوی دیگر، کد PHP که از سوی سرور اجرا شد، در این سورس قابل مشاهده نیست. این موضوع به دلیل این است که سرور از قبل کد PHP را اجرا کرده و چیزی که به کامپیوتر شما ارسال میشود نتیجهی آن از طریق HTML است.
نتیجهگیری
بیشتر وبسایتها از هر دو زبان سمت سرور و سمت کاربر استفاده میکنند. هرچند هر دو تقریباً کارهای یکسانی را میتوانند انجام دهند، اما برخی کارها، فقط در سمت سرور قابل انجام است و این مسئله درباره سمت کاربر نیز صدق میکند.
کد نویسی Front-end برای هر چیزی که نیاز به تعامل کاربر دارد، مثل یک بازی ساده، مناسب است. کد نویسی Back-end نیز برای هر چیزی که نیاز به لود شدن اطلاعات پویا و داینامیک دارد مثل زمانی که کاربر لاگین شده و میخواهیم با پیغامی این مسئله را به او اطلاع دهیم، مناسب است.