ಅದೃಶ್ಯ ಫ್ರಂಟ್ಎಂಡ್: ಉತ್ಪನ್ನವನ್ನು ಉಳಿಸುವ ಸಣ್ಣ ನಿರ್ಧಾರಗಳು
ಅತ್ಯುತ್ತಮ ಫ್ರಂಟ್ಎಂಡ್ ಕೆಲಸವು ಎಂದಿಗೂ ಡೆಮೋದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುವುದಿಲ್ಲ.
ನಾನು ಹೆಚ್ಚು ಮೌಲ್ಯೀಕರಿಸುವ ಕೆಲಸವು ಅದೃಶ್ಯವಾಗಿರುತ್ತದೆ. ಯಾರೂ ಅದರ ಸ್ಕ್ರೀನ್ಶಾಟ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ. ಆದರೆ ಈ ಕೆಲಸವಿಲ್ಲದೆ, ಬಳಕೆದಾರರು ಹೊರಟುಹೋಗುತ್ತಾರೆ. ಅವರು ಏಕೆ ಹೊರಟುಹೋದರು ಎಂಬುದು ನಿಮಗೆ ಎಂದಿಗೂ ತಿಳಿಯದೇ ಇರಬಹುದು.
ಈ ಕೆಲಸವು ಅಂತರಗಳಲ್ಲಿ (gaps) ನಡೆಯುತ್ತದೆ. ಇದು ಪರದೆಗಳ (screens) ನಡುವೆ ಮತ್ತು ನಿಮ್ಮ ಬ್ಯಾಕೆಂಡ್ ಹಾಗೂ ಒಬ್ಬ ನೈಜ ಮನುಷ್ಯನ ನಡುವೆ ನಡೆಯುತ್ತದೆ.
ದೊಡ್ಡ ಸಮಸ್ಯೆಗಳನ್ನು ತಡೆಯುವ ಸಣ್ಣ ಸರಿಪಡಿಸುವಿಕೆಗಳ (fixes) ಮೂರು ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ.
- ಲಾಗಿನ್ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸುವುದು
ಸಮಸ್ಯೆ: ಲಾಗಿನ್ ಯಶಸ್ವಿಯಾಯಿತೇ ಎಂದು ನೋಡಲು ಫ್ರಂಟ್ಎಂಡ್ ಒಂದು 'status' ಫೀಲ್ಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತಿತ್ತು. ಆದರೆ ಬ್ಯಾಕೆಂಡ್ ಒಂದು ಮಾನ್ಯವಾದ (valid) ಟೋಕನ್ನೊಂದಿಗೆ 'null' ಸ್ಟೇಟಸ್ ಅನ್ನು ಕಳುಹಿಸಿತ್ತು. ಬಳಕೆದಾರರು ಸರಿಯಾಗಿ ಲಾಗಿನ್ ಆಗಿದ್ದರೂ ಸಹ ಅವರಿಗೆ ದೋಷ (error) ಕಾಣಿಸಿತು.
ಪರಿಹಾರ: ಫ್ರಂಟ್ಎಂಡ್ ಈಗ ಸ್ಟೇಟಸ್ ಸ್ಟ್ರಿಂಗ್ ಬದಲಿಗೆ ಟೋಕನ್ನ ಉಪಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.
ಪಾಠ: ತಾಂತ್ರಿಕ ವಿವರಣೆಯಲ್ಲಿನ (technical spec) ಅಸ್ಪಷ್ಟವಾದ ಫೀಲ್ಡ್ ಬಳಕೆದಾರರಿಗೆ ಮುಚ್ಚಿದ ಬಾಗಿಲಿನಂತಾಗುತ್ತದೆ.
- ವೆರಿಫಿಕೇಶನ್ ಲಿಂಕ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು
ಸಮಸ್ಯೆ: ಬಳಕೆದಾರರು ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ವೆರಿಫಿಕೇಶನ್ ಲಿಂಕ್ ಅನ್ನು ತೆರೆಯುತ್ತಾರೆ. ಮೂಲ ಟ್ಯಾಬ್ ಅತಂತ್ರವಾಗಿ (stuck) ಉಳಿಯುತ್ತದೆ. ಮೊದಲ ಟ್ಯಾಬ್ನಲ್ಲಿ ಲಾಗಿನ್ ಟೋಕನ್ ಇಲ್ಲದ ಕಾರಣ ಸರ್ವರ್ ಅನ್ನು ಪೋಲಿಂಗ್ (polling) ಮಾಡುವುದು ವಿಫಲವಾಗುತ್ತದೆ.
ಪರಿಹಾರ: ಬ್ರೌಸರ್ ಸ್ಟೋರೇಜ್ ಇವೆಂಟ್ (browser storage event) ಬಳಸಿ. ಒಂದು ಟ್ಯಾಬ್ ಲೋಕಲ್ ಸ್ಟೋರೇಜ್ ಅನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಿದಾಗ, ಉಳಿದ ಎಲ್ಲಾ ಟ್ಯಾಬ್ಗಳು ತಕ್ಷಣವೇ ಸಂದೇಶವನ್ನು ಪಡೆಯುತ್ತವೆ. ಇದು ಟ್ಯಾಬ್ಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಲು ಉಚಿತ ಮತ್ತು ತಕ್ಷಣದ ಮಾರ್ಗವಾಗಿದೆ.
- ರಿಸೆಂಡ್ ಬಟನ್ ಕೂಲ್ಡೌನ್ಗಳು
ಸಮಸ್ಯೆ: "30 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಇಮೇಲ್ ಅನ್ನು ಮರುಕಳುಹಿಸಿ" ಎಂಬ ಟೈಮರ್ ಅನ್ನು ಕಾಂಪೊನೆಂಟ್ ಸ್ಟೇಟ್ನಲ್ಲಿ (component state) ಸಂಗ್ರಹಿಸಲಾಗಿತ್ತು. ಬಳಕೆದಾರರು ಪೇಜ್ ಅನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಿದರೆ, ಟೈಮರ್ ಶೂನ್ಯಕ್ಕೆ ಮರುಹೊಂದಿಸಲಾಗುತ್ತಿತ್ತು (reset). ಬಳಕೆದಾರರು ಬಟನ್ ಅನ್ನು ಪದೇ ಪದೇ ಒತ್ತುತ್ತಿದ್ದರು (spam), ಇದು ನಿಮ್ಮ ಇಮೇಲ್ ವೆಚ್ಚವನ್ನು ಹೆಚ್ಚಿಸಿತು.
ಪರಿಹಾರ: ಕೌಂಟ್ಡೌನ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಬೇಡಿ. ಅದರ ಬದಲಿಗೆ ಡೆಡ್ಲೈನ್ ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ (deadline timestamp) ಅನ್ನು ಸಂಗ್ರಹಿಸಿ.
ಕೂಲ್ಡೌನ್ ಮುಗಿಯುವ ನಿಖರ ಸಮಯವನ್ನು ಉಳಿಸುವ ಮೂಲಕ, ಪೇಜ್ ರಿಫ್ರೆಶ್ ಮಾಡಿದರೂ ಟೈಮರ್ ಹಾಗೆಯೇ ಇರುತ್ತದೆ. ರಿಲೋಡ್ ಮಾಡುವ ಮೂಲಕ ಇದನ್ನು ಮರುಹೊಂದಿಸುವುದು ಅಸಾಧ್ಯ.
ಸಂಸ್ಥಾಪಕರು (Founders) ಏಕೆ ಕಾಳಜಿ ವಹಿಸಬೇಕು:
• ಲಾಗಿನ್ ಸರಿಪಡಿಸುವಿಕೆಯು ಬಳಕೆದಾರರ ಸಕ್ರಿಯತೆಯನ್ನು (user activation) ರಕ್ಷಿಸುತ್ತದೆ. • ಟ್ಯಾಬ್ ಸಿಂಕ್ ನಿಮ್ಮ ಕನ್ವರ್ಷನ್ ರೇಟ್ ಅನ್ನು ರಕ್ಷಿಸುತ್ತದೆ. • ಕೂಲ್ಡೌನ್ ನಿಮ್ಮ ಬಜೆಟ್ ಅನ್ನು ದುರುಪಯೋಗದಿಂದ ರಕ್ಷಿಸುತ್ತದೆ.
ಉತ್ತಮ ಎಂಜಿನಿಯರಿಂಗ್ ಎಂದರೆ ಕೇವಲ ಪರದೆಯನ್ನು ಸುಂದರವಾಗಿ ಕಾಣುವಂತೆ ಮಾಡುವುದು ಮಾತ್ರವಲ್ಲ. ಇದು ಅಂತರಗಳ (gaps) ಬಗ್ಗೆ ಗಮನ ಹರಿಸುವುದು. ಈ ಸರಿಪಡಿಸುವಿಕೆಗಳಿಗೆ ಐವತ್ತು ಸಾಲುಗಳಿಗಿಂತ ಕಡಿಮೆ ಕೋಡ್ ಬೇಕಾಯಿತು. ಸಮಸ್ಯೆಯನ್ನು ಗಮನಿಸುವುದು ಮತ್ತು ಅದನ್ನು ಸರಿಯಾದ ಸ್ಥಳದಲ್ಲಿ ಸರಿಪಡಿಸುವುದರಿಂದಲೇ ಮೌಲ್ಯ ಸಿಗುತ್ತದೆ.
ಮೂಲ: https://dev.to/virendra2902/the-invisible-frontend-small-decisions-that-quietly-save-a-product-1pkl
