Front End چیست؟
همه اپ های موبایل و همه سایت ها از دو بخش Front End و Back End درست شده اند. شما همین حالا که دارید این متن رو میخونید، دارید فرانت سایت رو میبینید. همه متن ها، عکسها و دکمه ها جزئی از فرانت هستند.
Front End Developer کیست؟
Front End Developer یا برنامه نویس فرانت کسی است که ظاهر یک سایت یا اپلیکیشن موبایل را درست میکند. روال کار اینطوریه که اول یک طراح، طرح مورد نظر را آماده میکند و بعد در اختیار برنامهنویس فرانت قرار میدهد و سپس او با استفاده از زبان ها و تکنولوژی های برنامهنویسی، طرح هایی که زده شده را به اپلیکیشن تبدیل میکند.
چه کسانی تو Front موفق تر خواهند بود؟
اگه ویژگی های زیر رو دارید، احتمالا تو برنامهنویسی Front End موفق تر خواهید بود.
- کسی که بتونه تشخیص بده که چه چیزی چشم نواز هست
- کسی که با سلیقه باشه
- کسی که حسابی صبور باشه
- کسی که به چیدمان اجزا اهمیت میده
- کسی که جا به جایی حتی یک نقطه تو صفحه براش مهم باشه
- کسی که به رنگ ها و ترکیب کردن شون و کار با رنگ ها علاقه داشته باشه
- اگه قرار باشه برای چند نفر غذا درست کنه، برای هر کس غذایی که دوست داره رو درست میکنه
- کسی که همیشه به این فکر میکنه که افراد معلول و کمتوان چطوری به کار های روزمره شون میرسند و دوست داره دنیا رو براشون به جای بهتری تبدیل کنه
- کسی که میتونه با هنر ارتباط برقرار کنه
اگر این ویژگی ها رو ندارید نگران نباشید، این ها وحی منزل نیستند. اگه این ویژگی ها رو ندارید ولی حس میکنید به Front علاقه دارید امتحانش کنید. من نمیتونم بهتون بگم اگه این ویژگی ها رو ندارید به درد Front نمیخورید!
بازار کار Front چطور است؟
برای اینکه متوجه بشید بازار کار فرانت چقدر بزرگ است کافیست وارد سایت های استخدامی بشید عبارت «Front End» را سرچ کنید. اون وقت متوجه میشید که این حوزه چقدر بازار کار دارد.
بر اساس تجربیات شخصی ام تو پروژه هایی که تا حالا انجام داده ام میتونم بگم که تقریبا تو اغلب پروژه ها تعداد توسعه دهندگان فرانت باید دو برابر بکند باشه. این یعنی تو خیلی از پروژه ها تعداد برنامهنویس های فرانت باید حتی دو برابر برنامهنویسان بکند باشه.
البته این همیشه درست نیست و متناسب با جنس پروژه مشخص میشه
چطور میشه برنامهنویس Front End شد؟
براتون یک نقشه راه آماده کردهام و همه چیز هایی که باید یاد بگیرید رو توش قرار داده ام. این نقشه راه رو با تمرکز روی بازار کار آماده کرده ام. یعنی سعی کرده ام فقط مواردی که برای ورود به بازار کار خیلی ضروری هست رو توش بیارم. وگرنه مواردی که تو فرانت میشه یاد گرفت خیلی زیاد هست.
| عنوان | زیرمجموعهها | جونیور | میدلول | سینیور |
|---|---|---|---|---|
| Internet & Networking Basics | مبتدی | متوسط | حرفه ای | |
| HTML | مبتدی | متوسط | حرفه ای | |
| CSS | مبتدی | متوسط | حرفه ای | |
| CSS Layout & Responsive Design (Flexbox, Grid, Mobile-First) | مبتدی | متوسط | حرفه ای | |
| Web Accessibility & Basic UX (Semantic HTML, ARIA) | مبتدی | متوسط | حرفه ای | |
| JavaScript | مبتدی | متوسط | حرفه ای | |
| Algorithms | Language Oriented Algorithms | مبتدی | متوسط | حرفه ای |
| Problem Solving & Data Structures | متوسط | حرفه ای | ||
| TypeScript | مبتدی | متوسط | حرفه ای | |
| Package Managers | مبتدی | متوسط | حرفه ای | |
| CSS Web Frameworks | Bootstrap | متوسط | حرفه ای | |
| Tailwind | مبتدی | متوسط | حرفه ای | |
| JS Web Frameworks | React | مبتدی | متوسط | حرفه ای |
| Next.js | مبتدی | متوسط | حرفه ای | |
| State Management (Redux, React Query, Zustand) | مبتدی | متوسط | حرفه ای | |
| Version Control | Git | مبتدی | متوسط | حرفه ای |
| Version Control Tools | Github | مبتدی | متوسط | حرفه ای |
| Gitlab | مبتدی | متوسط | حرفه ای | |
| API Integration | REST | مبتدی | متوسط | حرفه ای |
| GraphQL | مبتدی | حرفه ای | ||
| Web Socket | مبتدی | حرفه ای | ||
| Testing | Jest | متوسط | حرفه ای | |
| Cypress | متوسط | حرفه ای | ||
| Mocha | حرفه ای | |||
| Build Tools | Webpack | مبتدی | حرفه ای | |
| Gulp | متوسط | |||
| Performance & Optimization (Code Splitting, Lazy Loading, Core Web Vitals) | متوسط | حرفه ای | ||
| Deployment | VPS | مبتدی | متوسط | حرفه ای |
| Vercel | مبتدی | متوسط | حرفه ای | |
| Netlify | متوسط | حرفه ای | ||
| CI/CD | ||||
| Github Actions | متوسط | حرفه ای | ||
| GitLab CI | متوسط | حرفه ای | ||
| Authentication | مبتدی | متوسط | حرفه ای | |
| Security | مبتدی | متوسط | حرفه ای | |