ููุฏุฑุฏุด ูู ุดููุฉ ุญุงุฌุงุช ุฃุณุงุณูุฉ ุจุฎุตูุต ุงูุดุบู ูู ู ุฌุงู ุงูู Web.
The UI Developer Role
ูู ุงูู Web ููู ู ุณู ู ูุธููู ุงุณู ู ุงูู UI Developer. ูู ุฏุฎูุช ุนูู ู ููุน โูุธูโ (Wazzuf) ูุนู ูุช Search ุนู ุงูู UI Developerุ ูุชูุงูู ูุธุงูู ูุชูุฑ.
Skills Required for UI Developer:
ุงูู UI Developer ูุงุฒู ูููู ุนุงุฑู:
- ุงูู HTML ูููุณ ุฌุฏุงู.
- ุงูู CSS ูููุณ ุฌุฏุงู ุฌุฏุงูุ ูุฏุง ู ูุนุจู ุงูุฃุณุงุณู (Margin, Padding, Flex, Position).
- ุงูู Bootstrap.
- ุจูุนุฑู ูุชุนุงู ู ู ุน ุงูู UI Design ููุญูู ุงูุชุตู ูู ุงุช ูููุฏ (ุฃููุงูุ ุฎุทูุทุ ุฅูุฎ).
- ุงูู Basics ุจุชุงุนุฉ ุงูู JavaScript.
- ู ูุชุจุฉ ุงูู jQuery.
ุงูู UI Developer ู ุด ู ุทุงูุจ ุฅูู ูููู โุชูููโ ูู ุงูู JavaScriptุ ููุง ู ุทุงูุจ ุฅูู ูุนุฑู Angular ุฃู React ุฃู Vueุ ููุง ุญุชู ุจูุชุนุงู ู ู ุน ุงูู APIs. ู ู ูู ุชุฐุงูุฑ ุงูู Basics ุฏู ูู ุณุงุนุชูู ูุชุดุชุบู UI Developerุ ูููู ุดุฑูุงุช ูุชูุฑ ุจุชุทูุจ ุงูุชุฎุตุต ุฏู ุจุงูู HTML ูุงูู CSS ุจุณ.
The Front-end Developer Role
ุงูู Front-End Developer ูู ูู ุงูุฃุณุงุณ UI Developerุ ูุนูู ุนุงุฑู ูู ุงููู ูุงุช (HTML, CSS, Bootstrap, jQuery) ุจุณ ุจุฒูุงุฏุฉ ูููุฉ ุฌุฏุงู.
Skills Required for Front-End Developer:
- ุงูู JavaScript: ูุงุฒู ูููู โุชูููโ JavaScriptุ ูุงูู ูููุง ูู ูุจูุฑุฉ ูุตุบูุฑุฉ.
- ุงูู API: ุจูุนุฑู ูุชุนุงู ู ู ุนุงูุงุ ููุงูู ุงูู Authentication ูุงูู Authorization.
- ุงูู Sass: ู ุชู ูู ู ููุง.
- ุงูู Frameworks/Libraries: ูุงุฒู ูุนุฑู ุญุงุฌุฉ ู ู ุงูุชูุงุชุฉ (Angular ุฃู React ุฃู Vue) ุนุดุงู ูุนู ู ุงูู Single Page Application (SPA).
ุงูู Angular ูุงูู React ูุงูู Vue ูููู ู ุนุชู ุฏูู ุนูู ุงูู JavaScriptุ ูุงูู APIs ู ุนุชู ุฏุฉ ุนูู ุงูู JavaScriptุ ูุนุดุงู ูุฏุฉ ุงูู Front-End Developer ูู โุจุชุงุน JavaScriptโ ูู ุงูู ูุงู ุงูุฃูู.
The Evolution of JavaScript
ุงูู JavaScript ุธูุฑุช ุณูุฉ 1995ุ ููู ุงูุจุฏุงูุฉ ูุงูุช ู ุนู ููุฉ ุนุดุงู ุชุดุชุบู Client Side ุจุณ (ูุนูู ุฌูู ุงูู Browser ู ุน ุงูู HTML ูุงูู CSS).
Client Side vs. Server Side
- ุงูู Client-side Programming Language: ูู ุงููุบุงุช ุงููู ุจุชุดุชุบู ูู ุงูู ุชุตูุญ (HTML, CSS, JS).
- ุงูู Server-Side Programming Language: ูู ุงููุบุงุช ุงููู ุจุชุดุชุบู ุนูู ุงูุณูุฑูุฑ (PHP, C#, SQL, Node.js).
ู ู ุญูุงูู 11 ุฃู 12 ุณูุฉุ ุงูู JavaScript ู ุงุจูุชุด ุจุณ Client Sideุ ูุจูุช ุชุดุชุบู Server Side ุนู ุทุฑูู ุงูู Node.js. ูุธูุฑ ู ุตุทูุญ ุงูู JavaScript Full Stack (ุฒู ุงูู MEAN stack ูุงูู MERN stack)ุ ูุจูุช ุงูู JavaScript ูุบุฉ โุชุฑูุฏูโ ุฌุฏุงู ูุดุฑูุงุช ุนุงูู ูุฉ ุฒู Uber ู Netflix ู LinkedIn ุจุชุณุชุฎุฏู ูุง.
JavaScript Ecosystem
ุงูู JavaScript ุฏุฎูุช ูู ูู ุงูู ุฌุงูุงุช:
- ุงูู Mobile Apps: ุนู ุทุฑูู ุงูู Cross-platform Mobile Apps ุจุงุณุชุฎุฏุงู React Native (ู ุจูู ุนูู React) ุฃู Ionic (ู ุจูู ุนูู Angular).
- ุงูู Desktop Apps: ุนู ุทุฑูู ุงูู Electron.js ุงููู ุงุชุนู ู ุจูู ุจุฑุงู ุฌ ุชูููุฉ ุฒู Visual Studio Code.
- ุงูู Virtual Reality (VR): ุนู ุทุฑูู React VR.
graph TD A[JavaScript] --> B[Web Development] A --> C[Mobile Development] A --> D[Desktop Apps] A --> E[Virtual Reality] B --> B1[Front-End: React, Angular, Vue] B --> B2[Back-End: Node.js] C --> C1[React Native] C --> C2[Ionic] D --> D1[Electron.js] E --> E1[React VR]
React Native vs. Flutter
ูู ูุงุฑูุช ุจูู ุงูู React Native ูุงูู Flutter ุนูู ู ููุน โูุธูโุ ูุชูุงูู ุงูู React Native ู ุทููุจุฉ ุฃูุชุฑ ุจูุชูุฑุ ููู ูุฑุตุฉ ูุงููุฉ ูููู ูู Front-End Developers ุฎุตูุตุงู ูู ุงุชุนูู ุชูุง React.
Why JavaScript?
ุงูู JavaScript ู ุด ุตุนุจุฉุ ุจุณ ุงูููุฑุฉ ุฅู ุงููุงุณ ุงููู โูุงูู ูููุงโ ุจุฌุฏ ูููููู ูู ุงูุณูู. ุงููู ุจูุนุฑู JavaScript ุจูุณู ูู โุงูุฌููุฑโุ ูุฃูู ุจููุฏุฑ ูุดุชุบู ูู ุฃู ุญุชุฉ (Front, Back, Mobile, Freelance).
ููู ูุงุณ ูุชูุฑ ุงุชุนูู ุช Web (ุจูุถู ู ููุฏุณูู ู ุญุชุฑู ูู ุฒู ุจุดู ููุฏุณ ุฃุณุงู ุฉ ุงูุฒูุฑู)ุ ููู 90% ู ููู ุจููููุง ุนูุฏ ุงูู JavaScript ูู ุง ุจููู ููุด. ูู ุฃูุช ุจููุช ุดุงุทุฑ ูู ุงูู JavaScriptุ ูุชููู ู ุชู ูุฒ ุฌุฏุงู ููุชุชุฎุทู ูู ุณูู ุงูุดุบู.
Notes
Clarification
- ุงูู MEAN/MERN Stacks: ุงูู MEAN Stack ูู ุงุฎุชุตุงุฑ ูู (MongoDB, Express.js, Angular, Node.js)ุ ูุงูู MERN Stack ูู ููุณู ุจุณ ุจูุจุฏู Angular ุจู React. ุฏู ู ุฌู ูุนุงุช ุชูููุฉ ุจุชุฎููู ุชุจูู ุงูู ููุน ุจุงููุงู ู ู ู ุงูุฃูู ูููุงุก ุจุงุณุชุฎุฏุงู JavaScript ููุท.
Advanced Topics
- ุงูู TypeScript: ูู ุงูู ุดุงุฑูุน ุงููุจูุฑุฉ (ุฎุตูุตุงู ู ุน Angular)ุ ุงูู JavaScript ุจูุชู ูุชุงุจุชูุง ุจุงุณุชุฎุฏุงู TypeScript ุนุดุงู ุชููุฑ โStatic Typingโ ูุชุฎูู ุงูููุฏ ุฃูู ุนุฑุถุฉ ููุฃุฎุทุงุก ูุฃุณูู ูู ุงูู Maintenance.
- ุงูู Microfrontends: ุชูุฌู ุญุฏูุซ ูุชูุณูู ุงูู Front-End ูุฃุฌุฒุงุก ุตุบูุฑุฉ ู ุณุชููุฉุ ูุฏุง ุจูุญุชุงุฌ ููู ุนู ูู ููู JS Ecosystem.
Relation to .NET
- ุงูู Node.js with .NET: ูุชูุฑ ู ู ุงูุดุฑูุงุช ุจุชุณุชุฎุฏู .NET ูู ุงูู Core Business ูุจุชุณุชุฎุฏู Node.js ูู ุงูู Real-time features (ุฒู ุงูู SignalR ุฃู Socket.io).