فرانت اند چیست و برنامه نویس Front end کیست؟
برنامه نویسی فرانت اند Front end یا سمت کاربر (Client-side) در واقع کدنویسی و طراحی ظاهر یک وبسایت از قبیل اِلمان های گرافیکی و رابط کاربری می باشد و این در حالی است که برنامه نویسی بک اند (Server-side) کدنویسی در سمت سرور است. در ادامه کمی تخصصی تر مفهوم برنامه نویسی فرانت اند را توضیح خواهیم داد و به ویژگی های یک برنامه نویس Front End نیز خواهیم پرداخت.
تعریف فرانت اند چیست؟
توسعه فرانت اند یا همان توسعه سمت کاربر در واقع به عمل کدنویسی کدهایی مثل HTML، CSS و Java Script برای صفحات یا اپلیکیشن های تحت وب گفته می شود به گونه ای که کاربر مستقیما قادر به مشاهده و ایجاد تعامل با آنها می باشد. چالش بزرگی که افراد فعال در این زمینه پیش رو دارند این است که ابزار، تکنیک ها، زبان ها و فریم ورک های طراحی وبسایت و برنامه نویسی فرانت اند در طول زمان دستخوش تغییرات و بروزرسانی های متعدد می شوند پس آنها نیز باید به طور مداوم در حال یادگیری تکنیک های جدید باشند.
هدف از طراحی سایت در حقیقت این است که اگر کاربر سایت بخصوصی را باز کرد تمام اطلاعات مورد نیاز در آن برای او خوانا، قابل درک و جذاب باشند. از آنجایی که کاربران برای جستجوی اینترنتی خود از دستگاه های متفاوت با اندازه و کیفیت صفحات متغیر استفاده می کنند، بنابراین در طراحی و راه اندازی یک سایت نیز باید به نکاتی از قبیل اینکه آیا سایت قابلیت سازگاری با اکثر مرورگرها و سیستم عامل های رایج را دارد یا خیر توجه کرد (اصطلاحا به این انعطاف پذیری، خاصیت ریسپانیسو Responsive گفته می شود).
همچنین این موضوع را باید در نظر گرفت که اندازه صفحه نمایش دستگاه های مختلف مانند تبلت یا موبایل بر روی کیفیت بارگذاری صفحات سایت تاثیر گذار است و طراحی باید به گونه ای باشد که وبسایت روی تمامی دستگاه ها به خوبی قابل بارگذاری و استفاده باشد.
در حقیقت در روند طراحی یک سایت ابتدا یک طراح حرفه ای با استفاده از نرم افزارهایی مانند فتوشاپ، Sketch یا Adobe XD صفحات سایت را طراحی می کند و سپس فایل این طراحی را در اختیار یک توسعه دهنده Front End می گذارد. سپس او با استفاده از کدهای مختلف هر کدام از این اِلمان ها مانند عکس، ویدیو و انیمیشن را در قالب سایت بارگذاری می کند به گونه ای که مستقیما در دسترس کاربر قرار بگیرند.
ویژگی های برنامه نویس فرانت اند
امروزه کمتر کسی از طریق تحصیلات آکادمیک و دانشگاهی به دانش برنامه نویسی فرانت اند می رسد. اکثر افرادی که در این حوزه مشغول به کار هستند از طریق تحقیق و جستجو در اینترنت و تجربه کردن محیط کاری، برنامه نویسی فرانت اند را آموخته اند. با این حال شما برای اینکه یک برنامه نویس فرانت اند تلقی شوید باید ویژگی های زیر را دارا باشید :
- چگونگی عملکرد پلتفرم های وب را مطالعه کنید و در رابطه با HTML ،CSS ،Java Scripts ،DNS ،Domain ،URL و HTTPS اطلاعات کسب کنید و از طریق ساختن صفحات وب بسیار ساده عملکرد هر کدام از آنها را به خوبی بررسی کنید.
- DOM یا همان مدل شی گرا اسناد را به خوبی بیاموزید.
- در زبان های HTML، CSS و Java Script خبره شوید.
- با کلمات کلیدی مربوط به رابط کاربری (UI) مانند الگوهای UI،طراحی UX و وایرفریم ها آشنا شوید.
- به محتوای کتابخانه و فریم ورک های جاوا اسکریپت مانند Java Query مسلط باشید.
- به محتوای کتابخانه CSS مانند Bootstrap تسلط کافی داشته باشید.
- کار با پردازنده های CSS مانند Sass را فرا بگیرید.
- اصطلاحات مهندسی نرم افزار مانند Git را بیاموزید.
- با تکنیک های طراحی وب واکنش گرا (Responsive Web Design) آشنا باشید به گونه ای که قادر به ایجاد صفحات وب برای تمامی دستگاه ها باشید.
- به نرم افزار فتوشاپ و دیگر نرم افزارهای طراحی مسلط باشید.
- به سیستم های مدیریت محتوا مثل وردپرس تسلط کافی داشته باشید.
- به اجرای تست مرورگر متقابل (Cross-Browser Testing) آگاهی داشته باشید و قادر به تست کردن صفحه وب در تمامی مرورگرهای مختلف باشید.
- تست پلتفرم متقابل (Cross-Platform Testing) را به خوبی پیاده سازی و اجرا کنید.
- با تست دستگاه متقابل (Cross-device Testing) آشنایی کامل داشته باشید.
- با مفاهیم و بهینه سازی سئو آشنایی داشته باشید.
- در طراحی رابط کاربری (UI) تخصص داشته باشید.
- با مفاهیم تجربه کاربری (UX) آشنایی داشته باشید.
- مفاهیم تجارت الکترونیک را به خوبی درک کنید.
- در حیطه عملکرد صفحات وب در موبایل تخصص های لازم را دارا باشید.
- فرمت تمامی داده ها از قبیل عکس، ویدیو و فایل های صوتی را به خوبی بشناسید.
- با نرم افزارهای گرافیکی و ساخت انیمیشن مانند SVG آشنا باشید.
- ویجت های UI را به خوبی بشناسید.
- با مفاهیم امنیت صفحات وب آشنایی کامل داشته باشید.
مهارت های تخصصی تر مورد نیاز یک برنامه نویس Front End
مهارت هایی که در بالا گفته شد در واقع پیش نیاز های عمومی ورود به عرصه برنامه نویسی فرانت اند هستند. در ادامه نگاه عمیق تری به تخصص ها و مهارت های مورد نیاز یک برنامه نویس فرانت اند (به ترتیب پیچیدگی) خواهیم انداخت :
- زبان نشانه گذاری متنی Hyper موسوم به HTML
- ورقه های آبشاری موسوم به CSS
- منابع یاب های یکنواخت موسوم به URL
- پروتکل انتقال متن هایپر معروف به HTTPS
- زبان برنامه نویسی جاوا اسکریپت موسوم به ECMA script 262
- نشانه گذاری شی گرای جاوا اسکریپت موسوم به JSON
- مدل شی گرای سند معروف به DOM
- رابط برنامه نویسی اپلیکیشن یا همان API های وب موسوم به HTML5
- راهنمای دسترسی به محتوای وب موسوم به WCAG و برنامه های اینترنتی در دسترس موسوم به ARIA
پلتفرم ها و دستگاه های میزبان
کدهای نوشته شده توسط یک برنامه نویس Front End که معمولا در پلتفرم های وب مانند مرورگر اینترنت اجرا می شوند از سوی یکی از سیستم عامل های زیر تحویل داده می شوند :
- اندروید
- Chromium
- iOS
- OS X مانند MacOS
- Ubuntu یا ورژن های دیگر Linux
- Windows
این پلتفرم ها در دستگاه های زیر قابلیت اجرایی دارند :
- کامپیوتر دسکتاپ
- کامپیوتر لپ تاپ یا نوت بوک
- موبایل
- تبلت تلویزیون
- ساعت مچی هوشمند
- غیره ( شامل خودرو، یخچال، ترموستات و اشیای بسیار دیگر)
نتیجه گیری
حیطه برنامه نویسی و طراحی وب یکی از جامع ترین زمینه های موجود در حوزه علم و فناوری می باشد که هر یک از اصطلاحات آن تعاریف بسیاری به خود اختصاص می دهند. یکی از این اصطلاحات Front End می باشد که در حقیقت به تخصص نوشتن یا ترجمه کدهای برنامه ریزی شده برای طراحی ظاهری یک سایت، اشاره دارد.
قطعا برای کسب درآمد در این حوزه نیاز به تمرین و کسب تجربه بسیار است. شما بعد از یادگیری پیش نیازهایی که در این مقاله به آنها اشاره کردیم نیاز دارید تا یکی از فریم ورک ها و زبان های برنامه نویسی محبوب فرانت اند مثل Reactjs، انگولار، Vuejs و… را به خوبی بیاموزید تا بتوانید وارد بازار کار شوید و با کسب تجربه به مرور خود را به یک برنامه نویس حرفه ای تبدیل کنید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.