برنامه نویسی فرانت اند چیست؟

  ‏سطح ساده
‏  13 دقیقه
۱۰ فروردین ۱۴۰۰
فارسی
فرانت اند
English
Front-end
برنامه نویسی فرانت اند چیست؟

آیا کنجکاو هستید که بدانید برنامه نویسی فرانت اند چیست؟ شاید شما هم از جمله افرادی باشید که بارها عبارات فرانت اند و بک اند را شنیده‌اید ولی معنی و مفهوم آن‌ها را نمی‌دانستید. اغلب برنامه نویسانی که در حوزه‌ی وب کار می‌کنند، این سوال را از یکدیگر می‌پرسند: برنامه نویس بک اند هستی یا برنامه نویس فرانت اند؟

برای اینکه بدانید برنامه نویسی فرانت اند چیست و برنامه نویس Front End کیست، ابتدا باید بدانید که Front end چیست؟ ما در این مقاله، برنامه نویسی فرانت اند، موارد مورد نیاز برای یادگیری آن و تفاوت‌های برنامه نویس فرانت اند با سایر حوزه‌ها را توضیح می‌دهیم. پس در ادامه‌ی این مقاله، با وب سایت آموزش برنامه نویسی سون لرن همراه باشید تا به بررسی این موضوع بپردازیم.

فهرست محتوای این مقاله

Front end چیست؟

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

فرانت اند به دو بخش اصلی طراحی و توسعه رابط کاربری تقسیم می‌شود. در بخش طراحی، طراحان با نرم افزارهای گرافیکی مانند فتوشاپ، ادوبی ایکس دی، فیگما و... ظاهر سایت را طراحی می‌کنند. اما بخش توسعه‌ی رابط کاربری مربوط به پیاده سازی ظاهر سایت در قالب کدهای HTML ،CSS و جاوا اسکریپت است. بخش قابل مشاهده‌ سایت برای کاربران در سمت فرانت را سمت کاربر یا Client Side می‌نامند. بنابراین کدهای نوشته شده در سمت فرانت اند، در مرورگر کاربر پردازش و اجرا می‌شوند. یعنی کاربر به راحتی به این کدها دسترسی مستقیم دارد و می‌تواند آن‌ها را مشاهده کند. فرانت اند با بخش بک اند (Backend) در ارتباط مستقیم است و بر روی تجربه کاربران هنگام استفاده از محصول تاثیر بسیاری می‌گذارد.

زبان‌های برنامه نویسی Front end کدامند؟

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

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

زبان HTML

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

زبان CSS

زبان CSS (مخفف عبارت Cascading Style Sheets) به منظور استایل دهی به اجزای مختلف صفحات وب سایت مانند متن، تصویر، کادرها و... ساخته شده است. در حقیقت شما اجزا و المان‌های یک سایت یا برنامه را با HTML در صفحه‌ی خود قرار می‌دهید و با استفاده از CSS شکل و ظاهر آن المان‌ها را شخصی سازی می‌کنید. پس CSS طراحان سایت را قادر می‌سازد که بدون محدودیت خلاقیت‌های خود را در طراحی صفحات سایت پیاده سازی کنند. سایر اطلاعات مربوط به CSS در مقاله‌ی CSS چیست؟ آورده شده است.

زبان برنامه نویسی Javascript

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

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

برای برنامه نویسی فرانت اند به چه مهارت هایی نیاز داریم؟

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

فرانت اند چیست

یادگیری زبان‌های برنامه نویسی HTML ،CSS و جاوا اسکریپت

اگر می‌خواهید به یک توسعه دهنده Front-End تبدیل شوید، در مرحله اول باید بتوانید به صورت حرفه‌ای با HTML ، CSS و JavaScript کدنویسی کنید. کدنویسی فرانت اند، نسبت به سایر حوزه‌های برنامه نویسی آسان‌تر است و منابع زیادی در اینترنت وجود دارند تا روند یادگیری را سریع‌تر کنند. علاوه بر آن، برای هر مشکلی که به آن برخورد می‌کنید، یک راه حل در انجمن‌های پرسش و پاسخ پیدا می‌شود.

آشنایی با کتابخانه‌ها و فریمورک‌های فرانت اند Javascript

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

آشنایی با اصول طراحی واکنش‌گرا

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

یادگیری نرم افزارهای گرافیکی مانند فتوشاپ

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

داشتن سلیقه و خلاقیت

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

آشنایی با اصول تجربه کاربری

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

مثالی از فرانت در دنیای واقعی

برای اینکه مفهوم Front end را بهتر درک کنید، یک فیلم سینمایی را در نظر بگیرید. ظاهر سایت همانند یک فیلم سینمایی است که در حال تماشای آن هستید. بازیگران و صحنه‌های فیلمبرداری شده اجزایی هستند که Front end را تشکیل می‌دهند و بر اساس دستورات کارگردان در مکان موردنظر خود قرار می‌گیرند و به بازیگری می‌پردازند. دستورات کارگردان، همان کدهای HTML، CSS و جاوا اسکریپت می‌باشند که رابط کاربری را ایجاد می‌کنند.

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

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

درآمد و حقوق برنامه نویس فرانت اند چقدر است؟

درآمد یک توسعه دهنده  Front-End در جهان بین 65 هزار دلار تا 110 هزار دلار است و در کشور ما از سه میلیون تومان شروع می‌شود و بسته به عنوان شغل تا بالای ده میلیون تومان نیز می‌رسد. عناوین زیادی برای افرادی که در حوزه‌ی فرانت اند کار می‌کنند، وجود دارد. این مشاغل بسته به وظیفه‌ای که دارند، در میزان حقوق دریافتی هم تفاوت دارند. برخی از مشاغل مهم فرانت اند عبارتند از:

  • Front-End Developer
  • Front-End Engineer (با نام مستعار JavaScript Developer یا Full Stack JavaScript Developer)
  • CSS / HTML Developer
  • Front-End Designer Web
  • توسعه دهنده / مهندس UI (User Interface)
  • Mobile / Tablet Front-End Developer
  • Front-End Expert SEO
  • Front-End DevOps
  • Test-End Testing / Q

توجه: اگر اصطلاحات "Full Stack" یا اصطلاحات عمومی "Web Developer" در عناوین شغلی را پیدا کردید، ممکن است این کلمات توسط یک کارفرما برای توصیف نقشی به‌کار رود که مسئولیت کلیه جنبه‌های توسعه‌ی وب / برنامه‌ها را در بر می‌گیرد، یعنی هر دو بخش Backend و Front-End. پس سعی کنید که قبل از شروع کار، مسئولیت‌ها و وظایفی که به آن متعهد می‌شوید را با کارفرمای خود مشخص کنید.

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

اغلب سایت‌ها به یک برنامه نویس Backend نیاز دارند تا منطق سایت را به وسیله زبان‌های برنامه نویسی پیاده‌سازی کنند. بک اند یا Back-end به بخشی از یک وب سایت یا نرم افزار می‌گویند که برای کاربران قابل مشاهده نیست. به عبارتی دیگر هسته و مغز یک سایت است که وظیفه‌ی کنترل منطق آن را بر عهده دارد. کاربران به کدهای نوشته‌شده در بخش بک اند دسترسی ندارند و نمی‌‌توانند آن‌ها را مشاهده کنند. بخش بک اند با سرور اصلی (که سایت روی آن قرار گرفته است) و پایگاه داده سروکار دارد.

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

تفاوت فرانت اند و بک اند

تفاوت برنامه نویس فرانت اند و طراح رابط کاربری (Ui) چیست؟

همانطور که در بخش‌های قبل گفتیم، فرانت اند از دو بخش طراحی و توسعه‌ی رابط کاربری تشکیل شده است. به بخش طراحی تجربه‌ی کاربری (User Experience) یا به اصطلاح UX گفته می‌شود. UX مشخص می‌کند که تعامل کاربر با یک نرم افزار یا یک وب سایت چگونه باید باشد. بخش توسعه‌ی رابط کاربری (User Interface) هم UI نامیده می‌شود. UI بر این نکته تمرکز دارد که این ارتباط یا همان رابط کاربری، چگونه به نمایش گذاشته می‌شود.

پس طراحان UX مشخص می‌کنند که طراحی صفحات شامل چه المان‌هایی باشد (مثلا صفحه‌ی مورد نظر نیاز به دکمه دارد یا خیر) در حالی که تیم UI روی ظاهر و پیاده سازی این المان‌ها کار می‌کند. این دو در کنار هم، بخش فرانت اند را تشکیل می‌دهند. در بسیاری از مشاغل به خصوص در داخل کشور، هنگامی که به عنوان یک برنامه نویس فرانت اند استخدام می‌شوید، کارفرما از شما انتظار دارد که مهارت بالایی در پیاده سازی رابط کاربری داشته و در کنار آن، بعد از نیازسنجی سیستم با سایر اعضای شرکت، بتوانید طراحی مناسبی را پیشنهاد دهید. اما اگر به عنوان یک طراح رابط کاربری مشغول به کار شدید، درمورد طراحی المان‌ها تعهدی ندارید. هرچند که همیشه کمی آشنایی با UX، کار شما را به عنوان برنامه نویس سرعت می‌بخشد و از اضافه کاری جلوگیری می‌کند.

مسیر یادگیری فرانت اند چیست؟

در سال‌های اخیر، فریمورک‌های متنوعی برای برنامه نویسی وب و به خصوص بخش فرانت اند به وجود آمده و روز به ‌روز بر تعداد آن‌ها افزوده می‌شود. فریمورک‌هایی مانند بلیزر (Blazor)، انگولار (React ,Vue ,(Angular از جمله فریمورک‌های محبوب جاوا اسکریپت هستند. به همین دلیل حوزه‌های بسیاری وجود دارد که می‌توانید آن‌ها را آموخته و به برنامه نویسی فرانت اند مشغول شوید.

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

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

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

بعد از تسلط بر موارد موجود در این مقاله و تبدیل شدن به یک توسعه‌ دهنده Front-End، می‌توانید سایر مباحث مربوط به وب مانند Backend را شروع کنید و در نهایت به یک Full Stack Developer تبدیل شوید. توصیه ما به شما این است که حتما در یک زمینه مهارت کامل و بالا کسب کرده و سپس به سراغ مبحث بعدی بروید و نسبت به مسائل نگاه سطحی نداشته باشید. اگر درمورد فرانت اند سوال داشته و یا نیاز به مشورت و راهنمایی دارید حتما با ما و سایر کاربران سون لرن در میان بگذارید.

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

 

نظرات کاربران

ناصر بلوریان

با تشکر از ادمین سایت بابت اطلاعات مفید .

یوسف

سلام ممنون بابت مقاله مفیدتون.

من خودم به شخصه تو طراحی سایت به قسمت فرانت اند بیشتر علاقه دارم و بهتر متوجه میشم.

خواستم سوال کنم که ایا یک طراح وب سایتی که فقط front end کار میکنه میتونه به موفقیت و درآمدزایی خوبی برسه یا باید حتما فول استک کار کنی که بتونی آینده کاری تو این حرفه داشته باشی؟

نازنین کریمی مقدم

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

هادی

سلام.میشه بفرمایید چطوری بک اند و فراند اند به هم متصل میکنن؟مثلا سایتی که بک اند رو با پایتون و فرانت اند رو با جاواسکریپت و html و css استفاده کرده؟
و میشه از سایت های ایرانی که از پایتون در بک اند استفاده کردن رو نام ببرید؟

محمد حسین

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

سحر

سلام لطفا انواع زبانهای برنامه نویسی فرانت اند رو بفرمایید

paria mlk

البته که این مقاله هم مثل مقالات دیگه سایت مفید بود… تیم سون لرن جامع و کامل هستش خیلی خوب میشه که توی مقالاتتون از تجربیات افراد تیم بنویسید مثلا اینکه هر کدوم از برنامه نویسان شما از چه نقطه ای شروع به برنامه نویسی کردن؟ چرا این گزینه رو انتخاب کردن؟ چه مسیری رو طی کردن و… فکر میکنم اینطوری کسی که قصد داره این مسیر رو طی کنه با کمک شما کمتر سردرگم میشه

ریحانه یزدانی

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

ali

با سلام و وقت بخیر!!
می‌خواستم ازتون بپرسم که میتونم از مطالب سایتتون برای پیج خودم استفاده کنم؟؟

وحید صالحی

سلام با ذکر منبع مشکلی نداره

محمدرضا

عالی بود:)

مهدی علامه

خواهش می کنم، خوشحالم که استفاده کردید

banihashem

ممنون مطلب مفیدی بود با تشکر

فاطمه قلیچ خانی

ممنون بابت مقاله خوبتون