برنامه نویسی 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 مسلط باشید. این موارد را در مقالهی پیش نیازهای آموزش جاوا اسکریپت توضیح دادیم.
برای برنامه نویسی فرانت اند به چه مهارت هایی نیاز داریم؟
حال که متوجه شدید که برنامه نویسی فرانت اند چیست، در این بخش میخواهیم مهارتهایی را بررسی کنیم که برای توسعهی بخش فرانت اند نیاز است. فرانت اند یکی از مهمترین جنبههای یک کسب و کار است، زیرا اولین درگاهی است که کارفرما میتواند با مشتری خود ارتباط برقرار کند و اگر ظاهر مناسبی برای این درگاه نداشته باشد، فرصت خود را از دست خواهد داد. پس کسانی که قصد دارند طراح و توسعه دهنده فرانتاند شوند باید ویژگیها و مهارتهای مختلفی را داشته باشند. در ادامه به برخی از مهمترین مهارتهای یک برنامه نویس فرانت اند اشاره میکنیم.
تفاوت فرانت اند و بک اند چیست؟
برای اینکه تفاوت فرانت اند و بک اند (Back end) را راحت درک کنید، بهتر است از دنیای واقعی برایتان یک مثال بزنیم.
یک فیلم سینمایی را در نظر بگیرید. در یک فیلم ما فقط صحنه و بازیگرانی را که در آن نقش بازی میکنند میبینیم اما این موضوع باعث نمیشود نقش کارگردان، فیلمنامهنویس، طراح صحنه و سایر عوامل را انکار کنیم. درست است؟!
خب در مورد طراحی و توسعهی سایت هم قضیه دقیقاً همین شکلی است. در حقیقت بک اند در پشت صحنه شرایط را فراهم میکند تا فرانت اند و کاربر با هم تعامل داشته باشند.
از نظر تخصصی باید بگوییم که بک اند سه بخش دارد:
- سِرور
- برنامه
- پایگاه داده (دیتابیس)
برای مثال، زمانی که شما بهعنوان کاربر در یک سایت حساب کاربری میسازید، «برنامه» اطلاعاتتان را در «دیتابیس»هایی که روی «سرور» قرار دارند، ذخیره میکند. بهاینترتیب شما هر بار با ورود به حساب کاربریای که اعطلاتتان در آن ذخیره شده، میتوانید از امکانات سایت استفاده کنید.
بنابراین میشود گفت بک اند هستهی اصلی تمام رخدادهای کامپیوتری است. درست مثل یک کوه یخ که حجم بیشتری از آن زیر آب است و ما آن را نمیبینیم.
مثالی از فرانت در دنیای واقعی
برای اینکه مفهوم 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. پس سعی کنید که قبل از شروع کار، مسئولیتها و وظایفی که به آن متعهد میشوید را با کارفرمای خود مشخص کنید.