article

فرانت اند چیه؟ بک اند چیه؟ فرقشون چیه؟

محمد کاظمی 2 سال،10 ماه پیش 655 دسته بندی : برنامه نویسی

توی برنامه نویسی وب احتمالا در مورد بک اند (backend) و فرانت اند (frontend) زیاد شنیدین ، این دو مبحث با وجود اینکه دو مقوله ی کاملا جدا هستند ولی باید در کنار هم به عنوان یک واحد با هم کار کنند.

برنامه نویسی سمت کاربر یا فرانت اند (Frontend) :

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

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

معرفی زبان های سمت کاربر :

1- HTML : زبان HTML مخفف Hypertext Markup Language به معنای زبان زبان نشانه گذاری اَبَر متنی است. این یک زبان نشانه گذاری (زبان برنامه نویسی نیست) که برای تعریف ساختار اصلی صفحات وب استفاده می شود.

2- CSS : زبان CSS که مخفف Cascading Style Sheets می باشد مانند زبان HTML زبان برنامه نویسی نیست. این زبان به شما این امکان را می دهد که طراحی صفحات وب را انجام دهید. برای مثال رنگ های مخلف را به صفحات خود اضافه کنید ، سایز و جایگاه قسمت های مختلف را بنا ببه نیاز خود تغییر بدین و یا حتی یک انیمیشن را در وبسایت خود ایجاد کنید. 

3- Javascropt : جاوا اسکریپت یک زبان برنامه نویسی است که باعث افزایش تعامل کاربر با وبسایت شما می شود. برای مثال امکان بارگذاری وبسایت هنگام عملی مثل لایک کردن و یا کامنت گذاری را برای کاربر امکان پذیر می کند.

البته زبان های برنامه نویسی دیگری هم مثل تایپ اسکریپت با این حال چیزهایی که به آنها اشاره شد از زبان های اصلی هستند که هر برنامه نویس سمت کاربری باید به آنها مسلط باشد.

کتابخانه ها و چهارچوب های Frontend : 

AngularJs : 

آنگولار یک فریمورک اُپن سورس تحت وب است که برای ساخت و توسعه وبسایت های تک صفحه ای (SPA) مورد استفاده قرار می گیرد. این یکی از محبوب ترین چهارچوب های سمت کاربر است که به صورت رایگان در اختیار توسعه دهندگان قرار گرفته است.

React js :

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

Bootstrap :

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

JQuery :

جی کویری یکی از کتابخانه های بسایر محوب جاوا اسکریپتی است که زمان انتشار با ایجاد سادگی در کار با Dom یا Document Object Model بسیار مورد توجه قرار گرفت. علاوه بر این کمک به ایجاد انیمیشن های ساده و سادگی کار با ایجکس (Ajax) هم از دیگر نکات جی کویری در گذشته بود.

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

SASS:

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

Flutter :

یک SDK توسعه UI منبع باز است که توسط google توسعه یافته و پشتیانی می شود. این فریمورک بر پایه زبان برنامه نویسی دارت طراحی شده است و امکان ایجاد برنامه های سازگار با موبایل (IOS , Android)  و وب یا دسکتاپ فراهم میکند. 

برخی دیگر از کتابخانه ها و چارچوب ها Semantic-UI ، Foundation ، Materialize ، Backbone.js ، Ember.js و غیره هستند.

برنامه نویسی سمت سرور یا بک اند (Backend) :

اطلاعاتی که به دست کاربر می رسد توسط برنامه نویس سمت سرور هدایت می شود تا به درستی هرچه تمام تر به کاربر برسد. پایگاه داده که محل نگهداری اطلاعات وبسایت است و باید از دیدگاه کاربر پنهان باشد توسط برنامه نویس بک اند هدایت می شود. از طرفی ایجاد API ها نیز یکی دیگر از وظایفی است که برنامه نویس سمت سرور چه برای وب اپلیکیشن ها و چه برای اپلیکیشن های موبایلی انجام میدهد.

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

PHP: این یک زبان اسکریپت نویسی است که به طور اختصاصی برای توسعه وب طراحی شده است.

Java: جاوا یکی از زبان های برنامه نویسی محبوب در سمت سرور است و بسیار مقیاس پذیر است.

Python: زبان پایتون که امروزه از پر طرفدار ترین زبان های برنامه نویسیب در دنیاست به شما امکان می دهد با سرعت زیادی به توسعه ی وب بپردازید.

Javascript: از دیگر زبان های برنامه نویسی در سمت سرور زبان جاوا اسکریپت است. این زبان علاوه بر سمت کاربر در سمت سرور نیز کاربرد دارد. Node.Js که یک ران تایم است که با کمک زبان جاوا اسکریپت امکان ایجاد سرویس های کمکی مانند API های یک web app یا mobile app را فراهم میکنیم.

چهارچوب های سمت سرور یا بک اند:

لیست فریم ورک های back-end عبارتند از: Express ، Django ، Rails ، Laravel ، Spring و...
سایر زبانهای برنامه نویسی / برنامه نویسی C # ، Ruby ، ​​REST ، GO و غیره هستند.

تفاوت بین Frontend و Backend:

توسعه Frontend و Backend با یکدیگر کاملاً متفاوت هستند ، اما با این وجود ، آنها همواره با همدیگر در تعامل هستند. 

frontend بخشی از وب سایت است که کاربران می توانند با ابزارهایی از جمله رابط کاربری گرافیکی (GUI) مشاهده کرده و با آن ارتباط برقرار کنند مانند : منوهای پیمایش ، متن ها ، تصاویر ، فیلم ها و غیره.
جنبه های تصویری وب سایت که توسط کاربران قابل مشاهده و تجربه است ، سمت کاربر نامیده میشود ، از طرف دیگر ، هر آنچه در پس زمینه اتفاق می افتد را می توان به بک اند نسبت داد.
زبانهایی که برای قسمت فرانت اند استفاده می شوند HTML ، CSS ، JavaScript هستند در حالی که زبانهایی که برای backend استفاده می شوند شامل Java ، Ruby ، ​​Python ، .Net هستند.

مطالب پیشنهادی
article

معرفی اپلیکیشن های موبایلی برای یادگیری برنامه نویسی

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

محمد کاظمی 811 بیشتر بخوانید
article

چطوری با پایتون وبسایت بسازیم

پایتون یکی از محبوب ترین زبان های برنامه نویسی در حوزه ی وب هست و با کمک این زبان می توانیم وبسایت های با مقیاس های مختلفی را به راحتی ایجاد کنیم. در این مقاله میخواهیم با روند ساخت یک …

محمد کاظمی 660 بیشتر بخوانید
article

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

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

محمد کاظمی 843 بیشتر بخوانید