DevGuide ๐Ÿ‡ต๐Ÿ‡ธ
10.9K subscribers
2.69K photos
18 videos
127 files
3.56K links
Level up daily with insider dev hacks, smart career tips, and real talk! ๐Ÿš€

โšก๏ธ Stay connected with me: linktr.ee/AliSamir

๐Ÿ“ To advertise on the channel: https://telega.io/c/the_developer_guide
Download Telegram
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค

CSS Container Style Queries ๐Ÿ”ป

- Using the experimental CSS feature @container style(), showcasing dynamic styling for different product states (new and popular).

โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/bk2ULuz1WsI
๐Ÿ‘1๐Ÿ‘1
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


Maintaining Square Proportions ๐Ÿ”ป

- Using CSS aspect-ratio to consistently create a perfect square while preserving its aspect ratio.

โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/lvLtSR20F0Y
โค1๐Ÿ‘1
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


CSS Ribbon Shapes Collection ๐Ÿ”ป

- A ready-to-use list of CSS ribbons collection, customizable with CSS variables, can be used in multiple scenarios like badges for promotions, decorative cards, and more.

โ€”โ€”โ€”

โšก๏ธ Tutorial Videos: https://youtu.be/nwbbjSVJct0
โค1
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


CSS Margin with RTL Elements ๐Ÿ”ป

- Using margin-inline-end to align a picture to either the left or the right depending on the browser direction (right to left, or left to right).

โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/mUSnmJ77TPQ
๐Ÿ‘1
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


Accordion with Custom Styled Markers ๐Ÿ”ป


- Using the CSS property list-style-type to style <details> disclosure widgets with custom emoji markers.

โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/ZClZFPrKGpE
โค2๐Ÿ‘1
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


Linting Rules For Sorting CSS Properties ๐Ÿ”ป


- Using stylelint-order Stylelint Plugin and vscode-style VSCode Extension to organize CSS properties, enhancing readability and ensuring a consistent coding style across your projects.

โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/fyb3miAOo9M
โค2
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


CSS Custom Scrollbar Maker Tool ๐Ÿ”ป


โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/ipuetdB04uw
๐Ÿ‘3
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


Regrouping Link States ๐Ÿ”ป


Using :is() pseudo-class to regroup the link :hover and :focus states instead of chaining them for increased readability.

โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/EvQQ__Qw8qM
๐Ÿ‘2โค1
#frontend_tips
โ€”โ€”โ€”โ€”โ€”โ€”โ€”

ุชุฑูƒุงูŠุฉ ูุฑูˆู†ุช ุงู†ุฏ ุน ุงู„ุณุฑูŠุน...โšก๏ธ

- ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ููŠ ูู„ู€ู€ุณุทู€ู€ูŠู† ูˆููŠ ุณู€ู€ูˆุฑูŠุง ูˆููŠ ุงู„ุณู€ู€ูˆุฏุงู† ูˆููŠ ุงู„ูŠู€ู€ู…ู† ูˆููŠ ูƒู„ ุฏูˆู„ ุงู„ุนุงู„ู… ู…ู† ุงู„ู…ุณู„ู…ูŠู† ู…ู† ุงู„ุฏุนุงุก. ๐Ÿค


CSS Scroll Padding Top
๐Ÿ”ป

- Using the CSS scroll-padding-top to add space at the top so nothing gets hidden when you scroll.

โ€”โ€”โ€”

โšก๏ธ Tutorial Video: https://youtu.be/gzYEg9ax2UA
โค5
ู‡ู„ ุงู„ู€ Bundle Size ุจูŠุฃุซุฑ ุนู„ู‰ ุฃุฏุงุก ุงู„ู…ูˆู‚ุนุŸ ๐Ÿš€
.
.
ู„ูˆ ุงุดุชุบู„ุช ู‚ุจู„ ูƒุฏู‡ ุนู„ู‰ ุฃูŠ ู…ุดุฑูˆุน Front-End ูƒุจูŠุฑุŒ ุฃูƒูŠุฏ ุนุฏู‰ ุนู„ูŠูƒ ู…ุตุทู„ุญ "Bundle Size" ุณูˆุงุก ููŠ PR reviewุŒ ุฃูˆ ูˆุฃู†ุช ุจุชุนู…ู„ debuggingุŒ ุฃูˆ ูˆุฃู†ุช ุจุชุนู…ู„ optimization ู„ู„ู€ Core Web Vitalsโ€ฆ ุงู„ุณุคุงู„ ู‡ู†ุง:

โš ๏ธ ู‡ู„ ูุนู„ู‹ุง ุญุฌู… ุงู„ู€ Bundle ุจูŠูุฑู‚ ููŠ ุงู„ุฃุฏุงุกุŸ ูˆู„ุง ู…ุฌุฑุฏ ุฑู‚ู… ูˆุฎู„ุงุตุŸ

ุชุนุงู„ ู†ุฏุฑุฏุด ุดูˆูŠุฉ ุนู† ุงู„ู€ Bundle Size...

โ€”โ€”โ€”

๐ŸŽฏ ูŠุนู†ูŠ ุฅูŠู‡ Bundle SizeุŸ

ุจุจุณุงุทุฉุŒ ู„ู…ุง ุจุชูƒุชุจ ูƒูˆุฏ JavaScript (ุฃูˆ TypeScript ุฃูˆ JSXโ€ฆ)ุŒ ุงู„ูƒูˆุฏ ุฏู‡ ุจูŠุชุญูˆู„ ู„ู…ู„ู ูˆุงุญุฏ (ุฃูˆ ุฃูƒุซุฑ) ุงุณู…ู‡ Bundle. ุงู„ู…ู„ู ุฏู‡ ุจูŠุญุชูˆูŠ ูƒู„ ุญุงุฌุฉ:

- ุงู„ูƒูˆุฏ ุจุชุงุนูƒ
- ุงู„ู…ูƒุชุจุงุช ุงู„ู„ูŠ ู…ุณุชุฎุฏู…ู‡ุง (ุฒูŠ lodash ุฃูˆ moment ุฃูˆ axios)
- ูˆุฃุญูŠุงู†ู‹ุง ุญุชู‰ CSS modules ุฃูˆ images/inline SVGs

ุงู„ู€ Bundle Size ู‡ูˆ ุจุจุณุงุทุฉ ุญุฌู… ุงู„ู…ู„ู ุฏู‡ ุงู„ู„ูŠ ุงู„ู€ browser ุจูŠุญู…ู„ู‡ ุนุดุงู† ูŠุดุบู„ ุงู„ู…ูˆู‚ุน.

โ€”โ€”โ€”

๐Ÿค” ุทุจ ุฅุฒุงูŠ ุฏู‡ ุจูŠุฃุซุฑ ุนู„ู‰ ุงู„ุฃุฏุงุกุŸ

ู‡ู‚ูˆู„ูƒ ุจู€ 5 ู†ู‚ุงุท ุจุณุŒ ูƒู„ ู†ู‚ุทุฉ ู…ู†ู‡ู… ูƒููŠู„ุฉ ุฅู†ู‡ุง ุชุจูˆุธ ุชุฌุฑุจุฉ ุงู„ู…ุณุชุฎุฏู…:

1. ูˆู‚ุช ุงู„ุชุญู…ูŠู„ (Load Time)

ูƒู„ ู…ุง ุงู„ู€ Bundle ุจู‚ู‰ ุฃูƒุจุฑุŒ ูƒู„ ู…ุง ุงู„ู…ุชุตูุญ ุฃุฎุฏ ูˆู‚ุช ุฃุทูˆู„ ููŠ ุชุญู…ูŠู„ู‡ ู…ู† ุงู„ุณูŠุฑูุฑ.
ูŠุนู†ูŠ ุงู„ู…ุณุชุฎุฏู… ู‡ูŠู‚ุนุฏ ู…ุณุชู†ูŠุŒ ูˆุฏู‡ ุจูŠุฒูˆุฏ ุงู„ู€ Time To Interactive (TTI) ูˆ First Contentful Paint (FCP).


2. ุงู„ู€ Blocking

ุงู„ู€ JavaScript ู…ู„ูุงุชู‡ุง Render-Blocking ุจุทุจุนู‡ุง.
ูŠุนู†ูŠ ุงู„ุตูุญุฉ ู…ุด ู‡ุชุนุฑู ุชูƒู…ู„ ุชุญู…ูŠู„ ุบูŠุฑ ู„ู…ุง ุชุฎู„ุต ุชุญู…ูŠู„ ูˆุชู†ููŠุฐ ุงู„ู€ JavaScript.


3. ุงู„ู€ Parsing ูˆุงู„ู€ Execution

ุงู„ู…ุชุตูุญ ู…ุด ุจุณ ุจูŠุญู…ู„ ุงู„ู…ู„ู... ุฏู‡ ูƒู…ุงู† ู„ุงุฒู… ูŠููƒู‡ ูˆูŠูู‡ู…ู‡ ูˆูŠุดุบู‘ู„ู‡.
ูˆุฏู‡ ุจูŠุงุฎุฏ ูˆู‚ุช ูˆู…ุนุงู„ุฌุฉ (CPU)ุŒ ูˆุฎุตูˆุตู‹ุง ุนู„ู‰ ุงู„ู…ูˆุจุงูŠู„ุงุช ุงู„ุถุนูŠูุฉ.


4. ุชุฃุซูŠุฑ ู…ุจุงุดุฑ ุนู„ู‰ SEO ูˆ Core Web Vitals

ุฌูˆุฌู„ ุจุชู‚ูŠุณ ุณุฑุนุฉ ุงู„ู…ูˆู‚ุนุŒ ูˆู„ูˆ ุงู„ู€ bundle ุชู‚ูŠู„ = ุงู„ู…ูˆู‚ุน ุจุทูŠุก = ุชุฑุชูŠุจูƒ ููŠ ุงู„ุจุญุซ ุจูŠู‚ู„.


5. ุงู„ู€ Data Cost

ู„ูˆ ููŠู‡ ู†ุงุณ ุจุชุฒูˆุฑ ู…ูˆู‚ุนูƒ ู…ู† ู…ูˆุจุงูŠู„ุงุช ุฃูˆ ุจุงู‚ุงุช ุฅู†ุชุฑู†ุช ู…ุญุฏูˆุฏุฉุŒ ููƒู„ ู…ูŠุฌุง ุฒูŠุงุฏุฉ ููŠ ุงู„ู€ Bundle ุจุชูƒู„ูู‡ู… ุฃูƒุชุฑ ูˆุจุชุฒูˆุฏ ุงุญุชู…ุงู„ูŠุฉ ุฅู†ู‡ู… ูŠุณูŠุจูˆุง ุงู„ู…ูˆู‚ุน ู‚ุจู„ ู…ุง ูŠุญู…ู‘ู„.

โ€”โ€”โ€”

๐Ÿ“Œ ุทูŠุจ ู†ุญู„ ุงู„ู…ูˆุถูˆุน ุฏู‡ ุฅุฒุงูŠุŸ

ููŠู‡ ุฃูƒุซุฑ ู…ู† ุทุฑูŠู‚ุฉ...

1. ุงู„ู€ Code Splitting

ุจู„ุงุด ุชุญู…ู„ ูƒู„ ุงู„ูƒูˆุฏ ู…ุฑุฉ ูˆุงุญุฏุฉุŒ ุฎู„ูŠู‡ ุนู„ู‰ ุญุณุจ ุงู„ุตูุญุฉ ุฃูˆ ุงู„ู€ component.
ุงุณุชุฎุฏู… React.lazy ูˆ Suspense ุฃูˆ dynamic imports ููŠ Next.js.


2. ุงู„ู€ Tree Shaking

ู„ูˆ ุจุชุณุชุฎุฏู… ู…ูƒุชุจุฉ ุฒูŠ lodashุŒ ุจู„ุงุด ุชุณุชูˆุฑุฏ ูƒู„ ุญุงุฌุฉ:

import _ from 'lodash' โŒ
import debounce from 'lodash/debounce' โœ…


3. ุญุฐู ุงู„ูƒูˆุฏ ุบูŠุฑ ุงู„ู…ุณุชุฎุฏู… (Unused Code)

ุดูˆู ุฅูŠู‡ ุงู„ู„ูŠ ู…ุด ู…ุณุชุฎุฏู… ููŠ ุงู„ูƒูˆุฏ ูˆุดูŠู„ู‡.
ุงุณุชุฎุฏู… ุฃุฏูˆุงุช ุฒูŠ PurgeCSS ุฃูˆ Unused Export Detection ููŠ Webpack ุฃูˆ Vite.


4. ุงุณุชุฎุฏู… ู…ูƒุชุจุงุช ุฎููŠูุฉ (Lighter Libraries)

ู…ุซู„ู‹ุง: ุจู„ุงุด ุชุณุชุฎุฏู… moment.js ูˆุงุณุชุฎุฏู… date-fns ุฃูˆ dayjs.
ุนุงูŠุฒ ุชุนู…ู„ HTTP requestsุŸ ุจู„ุงุด ุชุณุชุฎุฏู… axios ู„ูˆ ู…ุด ู…ุญุชุงุฌ ูƒู„ ุงู„ู„ูŠ ููŠู‡ุŒ ุงู„ู€ fetch ูƒูุงูŠุฉ.


5. ุงู„ู€ Compress & Minify

ุณูˆุงุก ุจุงุณุชุฎุฏุงู… Terser ุฃูˆ Brotli ุฃูˆ Gzipโ€ฆ ูƒู„ ู…ุง ุชุถุบุท ุงู„ูƒูˆุฏ ุฃูƒุชุฑุŒ ูƒู„ ู…ุง ุงู„ู€ bundle ุญุฌู…ู‡ ุจูŠู‚ู„.

โ€”โ€”โ€”

ููŠู‡ Tools ูƒุชูŠุฑ ุชู‚ุฏุฑ ุชุฏูŠูƒ ุฑุคูŠุฉ ูˆุงุถุญุฉ ุนู† ุงู„ู€ Bundle:

- Webpack Bundle Analyzer
- source-map-explorer
- Bundlephobia

โ€”โ€”โ€”

ุงู„ู€ Bundle Size ุจูŠูุฑู‚ ุฌุฏู‹ุงุŒ ูˆุฃูŠ optimization ููŠ ุญุฌู…ู‡ ู…ู…ูƒู† ูŠุนู…ู„ ูุฑู‚ ุถุฎู… ููŠ:

- ุณุฑุนุฉ ุชุญู…ูŠู„ ุงู„ู…ูˆู‚ุน
- ุชุฌุฑุจุฉ ุงู„ู…ุณุชุฎุฏู…
- ุชุฑุชูŠุจูƒ ููŠ SEO
- ุฃุฏุงุก ุงู„ู…ูˆุจุงูŠู„ุงุช ุงู„ุถุนูŠูุฉ

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ

โ€”โ€”โ€”

#frontend@the_developer_guide
โค6