ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫ್ರಂಟ್-ಎಂಡ್ ಲಾಜಿಕ್ ಅನ್ನು ಸರ್ವರ್ ಬದಿಗೆ ವರ್ಗಾಯಿಸುವ ಪುಸಾ ವೆಬ್ ಫ್ರೇಮ್‌ವರ್ಕ್

ಪೂಸಾ ವೆಬ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಫ್ರಂಟ್-ಎಂಡ್ ಲಾಜಿಕ್ ಅನ್ನು ಬ್ಯಾಕ್-ಎಂಡ್ ಸೈಡ್‌ಗೆ ವರ್ಗಾಯಿಸುವ ಪರಿಕಲ್ಪನೆಯ ಅನುಷ್ಠಾನದೊಂದಿಗೆ ಪ್ರಕಟಿಸಲಾಗಿದೆ - ಬ್ರೌಸರ್ ಮತ್ತು DOM ಅಂಶಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು, ಹಾಗೆಯೇ ವ್ಯವಹಾರ ತರ್ಕವನ್ನು ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ ಹಿಂಭಾಗದ ಕೊನೆಯಲ್ಲಿ. ಬ್ರೌಸರ್ ಬದಿಯಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ JavaScript ಕೋಡ್ ಅನ್ನು ಸಾರ್ವತ್ರಿಕ ಪದರದಿಂದ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ, ಅದು ಬ್ಯಾಕೆಂಡ್ ಬದಿಯಲ್ಲಿರುವ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಕರೆಯುತ್ತದೆ. ಫ್ರಂಟ್ ಎಂಡ್‌ಗಾಗಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ ಅಭಿವೃದ್ಧಿಪಡಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಪೂಸಾ ಉಲ್ಲೇಖದ ಅನುಷ್ಠಾನವನ್ನು PHP ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು GPLv3 ಅಡಿಯಲ್ಲಿ ಪರವಾನಗಿ ಪಡೆದಿದೆ. PHP ಜೊತೆಗೆ, ತಂತ್ರಜ್ಞಾನವನ್ನು JavaScript/Node.js, Java, Python, Go ಮತ್ತು Ruby ಸೇರಿದಂತೆ ಯಾವುದೇ ಭಾಷೆಯಲ್ಲಿ ಅಳವಡಿಸಬಹುದಾಗಿದೆ.

ಪೂಸಾ ಕನಿಷ್ಠ ಆಜ್ಞೆಗಳ ಆಧಾರದ ಮೇಲೆ ವಿನಿಮಯ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಪುಟವನ್ನು ಲೋಡ್ ಮಾಡಿದಾಗ, ಬ್ರೌಸರ್ ಆಧಾರವಾಗಿರುವ DOM ವಿಷಯ ಮತ್ತು ಪುಸಾ-ಫ್ರಂಟ್‌ನ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋರ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ. Pusa-Front ಅಜಾಕ್ಸ್ ವಿನಂತಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು Pusa-Back ಸರ್ವರ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗೆ ಬ್ರೌಸರ್ ಈವೆಂಟ್‌ಗಳನ್ನು (ಕ್ಲಿಕ್, ಬ್ಲರ್, ಫೋಕಸ್ ಮತ್ತು ಕೀಪ್ರೆಸ್‌ನಂತಹ) ಮತ್ತು ವಿನಂತಿ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು (ಈವೆಂಟ್‌ಗೆ ಕಾರಣವಾದ ಅಂಶ, ಅದರ ಗುಣಲಕ್ಷಣಗಳು, URL, ಇತ್ಯಾದಿ) ಕಳುಹಿಸುತ್ತದೆ. ಸ್ವೀಕರಿಸಿದ ಡೇಟಾದ ಆಧಾರದ ಮೇಲೆ, ಪೂಸಾ-ಬ್ಯಾಕ್ ನಿಯಂತ್ರಕವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ, ಪೇಲೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಆಜ್ಞೆಗಳ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ವಿನಂತಿಯ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ, Pusa-Front ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, DOM ಮತ್ತು ಬ್ರೌಸರ್ ಪರಿಸರದ ವಿಷಯಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ.

ಮುಂಭಾಗದ ಸ್ಥಿತಿಯನ್ನು ರಚಿಸಲಾಗಿದೆ ಆದರೆ ಬ್ಯಾಕೆಂಡ್‌ನಿಂದ ನಿಯಂತ್ರಿಸಲಾಗುವುದಿಲ್ಲ, ಇದು ವೀಡಿಯೊ ಕಾರ್ಡ್ ಅಥವಾ ಕ್ಯಾನ್ವಾಸ್‌ನ ಕೋಡ್‌ಗೆ ಹೋಲುವ ಪುಸಾ ಅಭಿವೃದ್ಧಿಯನ್ನು ಮಾಡುತ್ತದೆ, ಅಲ್ಲಿ ಮರಣದಂಡನೆಯ ಫಲಿತಾಂಶವನ್ನು ಡೆವಲಪರ್‌ನಿಂದ ನಿಯಂತ್ರಿಸಲಾಗುವುದಿಲ್ಲ. Canvas ಮತ್ತು onmousemove ಆಧರಿಸಿ ಸಂವಾದಾತ್ಮಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಲು, ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲಿ ಹೆಚ್ಚುವರಿ JavaScript ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ. ವಿಧಾನದ ಅನಾನುಕೂಲಗಳ ಪೈಕಿ, ಮುಂಭಾಗದಿಂದ ಬ್ಯಾಕೆಂಡ್ಗೆ ಲೋಡ್ನ ಭಾಗವನ್ನು ವರ್ಗಾವಣೆ ಮಾಡುವುದು ಮತ್ತು ಸರ್ವರ್ನೊಂದಿಗೆ ಡೇಟಾ ವಿನಿಮಯದ ಆವರ್ತನದಲ್ಲಿ ಹೆಚ್ಚಳವೂ ಇದೆ.

ಅನುಕೂಲಗಳ ಪೈಕಿ: ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫ್ರಂಟ್-ಎಂಡ್ ಡೆವಲಪರ್‌ಗಳ ಭಾಗವಹಿಸುವಿಕೆಯ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುವುದು, ಸ್ಥಿರ ಮತ್ತು ಕಾಂಪ್ಯಾಕ್ಟ್ ಕ್ಲೈಂಟ್ ಕೋಡ್ (11kb), ಮುಂಭಾಗದಿಂದ ಮುಖ್ಯ ಕೋಡ್‌ನ ಅಸಾಮರ್ಥ್ಯ, REST ಧಾರಾವಾಹಿ ಮತ್ತು gRPC ನಂತಹ ಉಪಕರಣಗಳ ಅಗತ್ಯವಿಲ್ಲ, ತೆಗೆದುಹಾಕುವುದು ಫ್ರಂಟ್ ಎಂಡ್ ಮತ್ತು ಬ್ಯಾಕ್ ಎಂಡ್ ನಡುವೆ ವಿನಂತಿ ರೂಟಿಂಗ್ ಅನ್ನು ಸಂಘಟಿಸುವ ಸಮಸ್ಯೆಗಳು.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ