برنامه نویسی فرانت اند چیست؟چگونه فرانت اند کار شویم؟
سلام دوستان با یک مقاله کاربردی دیگر از سایت کلاسیک ایرانیان در خدمت شما هستیم و در این مقاله قصد داریم تا شما را برنامه نویسی فرانت اند آشنا کنیم.برنامه نویسی فرانت اند یکی از موقعیت های شغلی است که بسیار در ایران و در دنیا تقاضا دارد. دنیایی پر از زیبایی و طرح های پرطرفدار که در ادامه به بررسی این موضوع میپردازیم.پس تا پایان این مقاله کاربردی با ما همراه باشید😉
محتوای مقاله
فرانت اند(Front-End)چیست؟
اول از هر چیزی باید به این موضوع بپردازیم که اصلا فرانت اند چه معنی دارد؟ فرانت اند یکی از حوزه های کاری در طراحی وب است که به زبان ساده به ظاهر وبسایت اشاره دارد.فرانت اند بخشی است که کاربر با آن تعامل دارد و از طریق آن با وبسایت ارتباط برقرار میکند.فرض کنید یک ساختمان بسازید اما آن را زیباسازی نکنید.خیلی ممکن است از دیدن آن ساختمان لذت نبرید.دقیقا چنین چیزی در طراحی وب هم صدق میکند.برای زیباسازی و تعامل کاربران با شما نیاز است تا ظاهر سایت خودتان را طراحی کنید.
در بخش Front-End نیاز است تا شما با مفاهیمی مثل طراحی گرافیکی،واکنشگرایی روی دستگاه های مختلف(Responsive)،سازگاری با مرورگرهای مختلف آشنا شوید که البته همه این ها در طول مسیر و در طول زمان اتفاق می افتد.
تفاوت بک اند و فرانت اند چیست؟
اول بهتر است شباهت آن ها را بگوییم.هر دو در طراحی سایت کاربرد دارند اما تفاوت در این است که بک اند در واقع بخش عملکرد سایت و قلب سایت محسوب می شود در حالی که فرانت اند به بخش ظاهر و تعامل با کاربر ارتباط دارد.
پیشنهاد میکنیم این مقاله را مطالعه کنید: برنامه نویسی بک اند چیست؟ چگونه یک برنامه نویس بک اند شویم؟
زبان های برنامه نویسی فرانت اند
ممکن است برای شما هم سوال باشد که اصلا چطور فرانت اند را یاد بگیریم؟چه زبان های برنامه نویسی برای فرانت اند وجود دارد؟
در واقع تنها یک زبان برنامه نویسی فرانت اند وجود دارد و دو مورد دیگر یکی زبان نشانه گذاری(Markup Language) و دیگری زبان توصیفی است که به ترتیب زبان نشانه گذاری HTML(Hypertext Markup Language) و CSS(Cascade Style sheet) است.
زبان برنامه نویسی فرانت در واقع زبان جاوا اسکریپت است که بخش زیادی از این زبان به فرانت اند اشاره دارد.با این زبان خیلی راحت میتوانید بخش های تعاملی با کاربر ایجاد کنید.فرض کنید شما میخواهید زمانی که کاربر یک دوره را به حساب کاربری خود اضافه کرد یک پیام به او نشان دهد که دوره به سبد خرید اضافه شده است در چنین حالتی باید زبان جاوا اسکریپت یا یکی از کتابخانه و یا فریم ورک های آن را یاد داشته باشید.
چه چیزهایی باید برای فرانت اند یاد بگیریم؟
برای یادگیری برنامه نویسی فرانت اند نیاز است تا موارد زیر را یاد بگیرید:
زبان نشانه گذاری HTML
بله HTML یک زبان برنامه نویسی نیست چرا که هیچ کدام یک از ساختارهای یک زبان برنامه نویسی را ندارد.ولی هرگز به این معنی نیست که بی فایده و بی معنی است.اتفاقا اسکلت و ساختمان اصلی یک صفحه وب است.همین مقاله ای که شما در حال مطالعه آن هستید و کلا وبسایت کلاسیک ایرانیان از کنار هم قرار گرفتن کدهای HTML زیادی تشکیل شده اند.
در HTML ما یک سری موارد را داریم که اصطلاحا تگ خوانده می شوند.این تگ ها صفحات وب را تشکیل میدهند.هر تگ کاربرد خاص خود را دارد به عنوان مثال برای عناوین از تگ H1 تا H6 وجود دارد.برای ویدیو تگ video وجود دارد؛برای صدا تگ audio و برای متن عادی از تگ p استفاده می شود.
کد زیر ساختار کلی یک صفحه HTML را نشان میدهد:
<!DOCTYPE HTML>
<HTML>
<head>
<title></title>
</head>
<body>
<p>گروه آموزشی کلاسیک ایرانیان</p>
</body>
<html>
زبان CSS
CSS هم یک زبان برنامه نویسی نیست. در واقع یک زبان توصیفی(Descriptive Language) است یعنی شما مشخص میکنید اندازه متن مثلا 14 پیکسل باشد یا دکمه ای که در سایت خود قرار داده اید مقداری انحنا دارد.
کد زیر یک نمونه از کد CSS را نشان میدهد که در واقع به کد HTML بالا قرار داده شده یک رنگ به پاراگراف اضافه میکند و اندازه آن را به 14 پیکسل تغییر میدهد:
p{
color:red;
font-size:14px;
}
زبان برنامه نویسی جاوا اسکریپت(javascript)

اما جاوا اسکریپت یک زبان برنامه نویسی محسوب می شود که کاملا ساختار یک زبان برنامه نویسی مثل متغیر،متد،کلاس،حلقه و… را درون خود دارد. جاوا اسکریپت یکی از پایه های برنامه نویسی فرانت اند هست که هر کسی که قصد یادگیری جاوا اسکریپت را دارد باید آن را یاد بگیرد.
البته دست شما در جاوا اسکریپت برای انجام هر تغییری در فرانت اند باز است چرا که خیلی راحت میتوانید از کتابخانه هایی مثل Jquery,SweetAlert و بسیاری از کتابخانه های دیگر و همچنین میتوانید از فریم ورک های جاوا اسکریپت مثل Angular,React,Vue استفاده کنید که همگی در برنامه نویسی فرانت اند میتوانند به کار شما بیایند.
مثال کاربردی از جاوا اسکریپت در برنامه نویسی فرانت اند:
<button onclick="showMessage()">کلیک کن!</button>
<p id="message"></p>function showMessage() {
document.getElementById("message").innerText = "سلام! شما روی دکمه کلیک کردید.";
}زمانی که روی دکمه کلیک کنید متد یا تابع showMessage اجرا می شود و پیامی را برای شما نشان میدهد.به همین راحتی میتوانید با کاربران تعامل داشته باشید.
مهارت های فنی برای برنامه نویسی فرانت اند
در وهله اول نیاز است تا شما یک سری مهارت های فنی را برای یادگیری برنامه نویسی فرانت اند یاد بگیرید سپس مهارت های نرم(Soft Skill) خودتان را ارتقا دهید
یادگیری HTML CSS و جاوا اسکریپت
اولین و مهم ترین مسئله در یادگیری برنامه نویسی فرانت اند این است که شما حتما باید به خوبی HTML CSS و جاوا اسکریپت که اصطلاحا برای راحتی کار به آن js میگوییم را مسلط باشید.چرا که هر سه در برنامه نویسی فرانت اند باید استفاده شوند. در وبسایت کلاسیک ایرانیان دوره های آموزشی برای HTML CSS و جاوا اسکریپت وجود دارد که میتوانید در این آموزش ها شرکت کنید و تبدیل به یک فرانت اند کار شوید.
آشنایی با کتابخانه ها و فریم ورک های فرانت اند
یادگیری HTML CSS و جاوا اسکریپت به تنهایی نمیتواند ابزار چندان قوی برای شما در برنامه نویسی فرانت اند باشد. بنابرانی نیاز است تا با کتابخانه و فریم ورک های فرانت اند آشنا شوید
کتابخانه مجموعه از کدهای آماده است که برای یک کاربرد خاص استفاده می شود.اما فریم ورک مجموعه از کدها،توابع و قوانین است که به شما کمک میکند تا بتوانید راحت تر پروژه را توسعه دهید.
اگر بخواهیم یک مثال کاربردی بزنیم میتوانیم به این مورد اشاره کنیم. کتابخانه مثل این است که شما به یک سوپرمارکت بروید و یک ادویه بخرید و هر وقت بخواهید میتوانید از آن به هر شکلی که میخواهید استفاده کنید. فریم ورک هم مثل این است که به یک رستوران مراجعه کنید و سرآشپز به شما خواهد گفت که باید دقیقا چه کاری برای پخت یک غذای مخصصو انجام دهید و باید از قوانین و دستورالعملی که او گفته پیروی کنید تا بتوانید یک غذای خوب بپزید.
این مثال به خوبی نشان دهنده اهمیت فریم ورک و کتابخانه است.
فریم ورک React

فریم ورک React یکی از محبوب ترین و پر کاربردترین فریم ورک ها در دنیای طراحی وب است.این فریم ورک توسط شرکت فیسبوک یا همان متا توسعه داده شده است که میتوانید رابط کاربری(User Interface) حرفه ای طراحی کنید.ساختار ری اکت به این شکل است که شما از کامپوننت های مختلف برای طراحی صفحات خود در برنامه نویسی فرانت اند استفاده میکنید.
کامپوننت ها قطعه های کدی هستند که به شما کمک میکنند تا بتوانید بخش های مختلفی را طراحی کنید.فرض کنید میخواهید دورهات را در صفحه اصلی نمایش دهید یک بخش با همان قواعد دستوری(Syntax) ری اکت می نویسید و آن را نمایش میدهید. و همچنین از آن میتوانید در جاهای دیگری هم استفاده کنید.
همچنین از دیگر قابلیت های فریم ورک ری اکت ساخت سایت های تک صفحه ای (Single Page Application) یا SPA است.به این معنی که شما میتوانید صفحاتی را طراحی کنید که نیازی به رفرش کردن یا تازه سازی صفحه نداشته باشد.همچنین ری اکت از قابلیت های جدیدی که به جاوا اسکریپت اضافه می شود پشتیبانی میکند. در ایران شرکت های زیادی برنامه نویس ری اکت میخواهند میتوانید از طریق لینک زیر میتوانید موقعیت های شغلی ری اکت را مشاهده کنید:
فریم ورک انگولار(Angular)

فریم ورک انگولار هم از مهم ترین و البته پر کاربردترین فریم ورک ها در برنامه نویسی فرانت اند محسوب می شود.این فریم ورک نیز کاملا ماژولار و بر اساس کامپوننت است.از زبان برنامه نویسی تایپ اسکریپت که نسخه ای حرفه ای تر نسبت به جاوا اسکریپت است،استفاده میکند. در پروژه های بزرگ نیز همانند ری اکت،فریم ورک انگولار کاربرد گسترده ای در برنامه نویسی فرانت اند دارد.
فریم ورک Vue

فریم ورک Vue یا ویو جی اس یکی دیگر از فریم ورک های پر کاربرد در برنامه نویسی فرانت اند است. مهم تریرن مزیت ویو این است که کامل ساده و قابل فهم برای افراد مبتدی است و همچنین اگر میخواهید خیلی سریع یک MVP یا نمونه آماده کنید میتوانید کاملا با خیال راحت به ویو جی اس اعتماد کنید.
نمونه کد Vue js:
<!-- ProductCard.vue -->
<template>
<div class="card">
<img :src="image" :alt="title" />
<h3>{{ title }}</h3>
<p>{{ price }} تومان</p>
<button @click="addToCart">افزودن به سبد خرید</button>
</div>
</template>
<script>
export default {
props: ['title', 'price', 'image'],
methods: {
addToCart() {
alert(`${this.title} به سبد خرید اضافه شد!`);
}
}
}
</script>
<style scoped>
.card {
border: 1px solid #ddd;
border-radius: 10px;
padding: 16px;
width: 220px;
text-align: center;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
</style>
کتابخانه jquery
از نظر ساختاری جی کوئری بیشتر یک کتابخانه است تا فریم ورک.با این حال خیلی از افراد به آن فریم ورک هم میگویند.
جی کوئری نیز بر اساس جاوا اسکریپت ساخته شده است و اگر قابلیت جدیدی به جاوا اسکریپت اضافه شود جی کوئری هم میتواند از آن قابلیت استفاده کند. با استفاده از جاواا سکریپت میتوانید با تگ ها،انیمیشن ها و رخدادها(Events) کار کنید.
مزیت دیگر جی کوئری این است که شما کد کمتری نسبت به جاوا اسکریپت خواهید نوشت.اما از معایب آن این است که شما مجبورید فایل بیشتری را درون پروژه خود اضافه کنید اما باز هم جی کوئری یکی از کتابخانه های پر استفاده در برنامه نویسی فرانت اند است.
آشنایی با اصول طراحی واکنش گرا
هر کسی که قصد شروع برنامه نویسی فرانت اند را دارد، باید به این نکته توجه کند که در برنامه نویسی فرانت اند مهم تر از هر مسئله ای این است که وبسایت خوبی در دستگاه های مختلف مثل اندروید،IOS و… نشادن داده شود که اصطلاحا به آن ریسپانسیو(Responsive) یا واکنش گرایی گفته می شود.
شما باید با مفاهیمی مثل گرید،فلکس باکس،مدیا کوئری و از این دست موارد آشنا شوید که همگی از مسائل مهم محسوب می شوند و باید آن را در نظر داشته باشید
یادگیری ابزارهای ویرایشگر کد(Code Editor)
ویرایشگر کد به شما کمک میکند تا بتوانید در برنامه نویسی فرانت اند به راحتی کار خود را انجام دهید.ویرایشگرهای کد مختلفی وجود دارد که از جمله آن ها میتوانیم به Cursor AI,Visual Studio Code اشاره داشته باشیم. روی هر کدام از این ویرایشگرهای کد میتوانید افزونه هایی را نصب کنید که روند برنامه نویسی فرانت را برای شما راحت تر کنند.
آشنایی با SEO یا Search Engine Optimize
بعضی از منابع به لزوم یادگیری سئو یا بهینه سازی سایت برای موتورهای جستجو اشاره کرده اند اما واقعا نیازی نیست که شما سئوکار حرفه ای باشید بلکه نیاز است تا با مفهوم کلی سئو و ساختارهای آن و نحوه استفاده آن در برنامه نویسی فرانت اند آشنا شوید.همین قدر که بتوانید از نظر سئو تکنیکال(Technical SEO) گلیم خود را از آب بیرون بکشید کفایت میکند.
آشنایی با مباحث UI/UX
یک برنامه نویس فرانت اند اگر بتواند به مباحث UI/UX مسلط شود واقعا عالی است. این که بتوانید رابط کاربری(User Interface) با نرم افزارهایی مثل فیگما یا Adobe XD طراحی کنید و سپس آن را اجرا کنید خیلی خوب است.اگرچه مسلط هم نباشید اتفاقی نمی افتد.حتی اگر بتوانید یک سری مفهوم های کلی آن را یاد بگیرید بسیار عالی است.
مهارت های نرم در برنامه نویسی فرانت اند
در برنامه نویسی فرانت اند به جز مهارت های فنی(Hard Skill) نیاز است تا یک سری مهارت های غیر فنی یا مهارت های نرم(Soft Skill) را هم یاد داشته باشید که از شما یک برنامه نویس فرانت اند حرفه ای میسازد.گاهی اوقات حرفه ای بودن فقط به این نیست که شما دانش فنی زیادی داشته باشید بلکه همین مهارت های نرم باعث استخدام شما در یک شرکت،گرفتن پروژه فریلنسری و… می شود.
تسلط پیدا کردن بر اصول کار تیمی
این که شما بتوانید به خوبی با تیم های مختلف شرکت در ارتباط باشید اهمیت بیشتری پیدا میکند.گاهی اوقات نیاز است تا با تیم دوره،تیم بک اند و… در ارتباط باشید تا به خوبی بتوانید مواردی را که از شما درخواست میکنند به خوبی انجام دهید.
مدیریت زمان
یکی از چالش ها و پاشنه آشیل های برنامه نویسان موضوع همیشگی مدیریت زمان است.یک برنامه نویس فرانت اند هم باید به خوبی نحوه مدیریت زمان را یاد داشته باشد تا بتواند در مواقع ضروری پروژه را به موقع تحویل دهد. ابزارهای متفاوتی برای مدیریت زمان وجود دارد که با یک جستجو در گوگل می توانید به راحتی از آن ها استفاده کنید.
سوال شما: آیا هوش مصنوعی جای فرانت اند کارها را خواهد گرفت؟
اگر بخواهیم خیلی صادقانه به این سوال پاسخ دهیم میتوانیم بگوییم خیر.درست است که میتواند کدهای فرانت اند را تولید کند اما خلاقیت انسان هر چه باشد از هوش مصنوعی بهتر است.همچنین در کدنویسی شما نیاز است تا اصول مهندسی نرم افزار،ساختمان داده و… را به خوبی در پروژه رعایت کنید که هوش مصنوعی از این کار عاجز است.همچنین برای این که شما یک نتیجه دقیق از هوش مصنوعی بگیرید باید یک پرامپت یا دستور کامل بنویسید تا بتوانید نتیجه بگیرید.توصیه ما این است که یاد بگیرید چطور از هوش مصنوعی برای برنامه نویسی فرانت اند استفاده کنید.
بازار کار برنامه نویسان فرانت اند در ایران و در جهان
به هر حال یکی از موضوعاتی که ممکن است باعث شود شما به برنامه نویسی فرانت اند ادامه دهید مباحث مالی است. طبق گزارش سایت هایی مثل Indeed و Glassdoor میانگین حقوق یک برنامه نویس فرانت اند در آمریکا بین 85 تا 120 هزار دلار است. در ایران هم میزان حقوق بستگی به میزان سابقه کار و تخصص شما دارد که میتواند این رقم متغیر باشد.به عنوان مثال یک برنامه نویس فرانت اند اگر فریم ورک ری اکت را یاد داشته باشد چیزی بین 55 تا 60 میلیون تومان دریافت میکند.
یکی از مزیت های برنامه نویسی فرانت اند این است که هم از نظر دورکاری و هم از نظر کارآموزی میتوانید موقعیت های شغلی زیادی پیدا کنید.حتی از نظر فریلنسری هم برنامه نویسی فرانت اند به نسبت برنامه نویسی بک اند خیلی بیشتر است.
نتیجه گیری
در این مقاله به این که برنامه نویسی فرانت اند چیست پرداختیم و سپس در خصوص مهارت های فنی و غیر فنی مورد نیاز برنامه نویسی فرانت اند صحبت کردیم.همیشه این نکته را به یاد داشته باشید که هرگز دست از یادگیری و بروز کردن خود برندارید و سعی کنید حتی روزهایی که ممکن است از نظر روحی و جسمی در حالت متعادل نبودید حتی یک ساعت هم به یادگیری بپردازید تا چرخه یادگیری شما به صورت مداوم ادامه پیدا کند
سوالات متداول
1-برنامه نویسی فرانت اند چیست؟
در واقع فرانت بخش ظاهر وبسایت است که کاربران آن را می بینند و این بخش به صورت مستقیم با بخش بک اند در ارتباط است
2-آیا در برنامه نویسی فرانت اند نیاز است ریاضی بلد باشیم؟
خیر در برنامه نویسی فرانت نیازی به دانش ریاضی نیست.شاید در حد همان 4 عمل اصلی ریاضی کافی باشد مگر این که بخواهید کارهای دیگری انجام دهید.اما حتما سعی کنید که زبان انگلیسی خود را تقویت کنید
3-آیا هوش مصنوعی جای برنامه نویسان فرانت اند را خواهد گرفت؟
به صورت کلی هوش مصنوعی های مختلف در برنامه نویسی فرانت اند کمک خواهند کرد اما تا کنون خلاقیتی در حد خلاقیت و سلیقه انسان نتوانسته طراحی کند
