เบเบญเบšเป€เบงเบฑเบš Pusa เบ—เบตเปˆเป‚เบญเบ™เป€เบซเบ”เบœเบปเบ™เบ”เป‰เบฒเบ™เบซเบ™เป‰เบฒเบ‚เบญเบ‡ JavaScript เป„เบ›เบซเบฒเบเปˆเบฒเบเป€เบŠเบตเบŸเป€เบงเบต

เบเบญเบšเป€เบงเบฑเบš Pusa เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆเบ”เป‰เบงเบเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเป‚เบญเบ™เป€เบซเบ”เบœเบปเบ™เบ”เป‰เบฒเบ™เบซเบ™เป‰เบฒ, เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเป‚เบ”เบเปƒเบŠเป‰ JavaScript, เป„เบ›เบซเบฒเบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡ - เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปเบฅเบฐ DOM, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ—เบฒเบ‡เบ—เบธเบฅเบฐเบเบดเบ”เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบขเบนเปˆเปƒเบ™. เบ”เป‰เบฒเบ™เบซเบผเบฑเบ‡. เบฅเบฐเบซเบฑเบ” JavaScript เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปเบกเปˆเบ™เบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบŠเบฑเป‰เบ™เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ•เบฑเป‰เบ‡เบขเบนเปˆเบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡. เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเปƒเบŠเป‰ JavaScript เบชเปเบฒเบฅเบฑเบšเบ”เป‰เบฒเบ™เบซเบ™เป‰เบฒ. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡ Pusa เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ PHP เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ GPLv3. เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ PHP, เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบžเบฒเบชเบฒเบญเบทเปˆเบ™, เบฅเบงเบกเบ—เบฑเบ‡ JavaScript / Node.js, Java, Python, Go เปเบฅเบฐ Ruby.

Pusa เบเปเบฒเบ™เบปเบ”เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒเบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบŠเบธเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”. เป€เบกเบทเปˆเบญเบซเบ™เป‰เบฒเป€เบงเบฑเบšเป‚เบซเบผเบ”, เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบˆเบฐเป‚เบซเบฅเบ”เป€เบ™เบทเป‰เบญเบซเบฒ DOM เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเบฐเบซเบผเบฑเบ JavaScript เบ‚เบญเบ‡ Pusa-Front. Pusa-Front เบชเบปเปˆเบ‡เป€เบซเบ”เบเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš (เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ„เบฅเบดเบ, เบกเบปเบง, เบˆเบธเบ”เบชเบธเบกเปเบฅเบฐเบเบฒเบ™เบเบปเบ”เปเบ›เป‰เบ™เบžเบดเบก) เปเบฅเบฐเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป (เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เป€เบซเบ”เบเบฒเบ™, เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบกเบฑเบ™, URL, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เป„เบ›เบซเบฒเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ Pusa-Back เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป Ajax. เบญเบตเบ‡เบ•เบฒเบกเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบš, Pusa-Back เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก, เบ›เบฐเบ•เบดเบšเบฑเบ” payload เปเบฅเบฐเบชเป‰เบฒเบ‡เบŠเบธเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡. เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป, Pusa-Front เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡ DOM เปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš.

เบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡ frontend เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบ„เบงเบšเบ„เบธเบกเป‚เบ”เบ backend, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบš Pusa เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ”เบงเบตเบ”เบตเป‚เบญเบซเบผเบท Canvas, เบšเปˆเบญเบ™เบ—เบตเปˆเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ„เบงเบšเบ„เบธเบกเป‚เบ”เบเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Canvas เปเบฅเบฐ onmousemove, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ”เบฒเบงเป‚เบซเบฅเบ”เปเบฅเบฐเปƒเบŠเป‰ script JavaScript เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบขเบนเปˆเบเปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบ‚เปเป‰เป€เบชเบเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™, เบเบฑเบ‡เบกเบตเบเบฒเบ™เป‚เบญเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบˆเบฒเบ frontend เบเบฑเบš backend เปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.

เปƒเบ™เบšเบฑเบ™เบ”เบฒเบ‚เปเป‰เป„เบ”เป‰เบ›เบฝเบšเปเบกเปˆเบ™: เบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ”เป‰เบฒเบ™เบซเบ™เป‰เบฒเบ‚เบญเบ‡ JavaScript, เบฅเบฐเบซเบฑเบ”เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เปเบฅเบฐเบซเบ™เบฒเปเบซเบ™เป‰เบ™ (11kb), เบเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบฅเบฐเบซเบฑเบ”เบ•เบปเป‰เบ™เบ•เปเบˆเบฒเบเบ—เบฒเบ‡เบซเบ™เป‰เบฒ, เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบต REST serialization เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบŠเบฑเปˆเบ™ gRPC, เบเปเบฒเบˆเบฑเบ” เบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบชเบฒเบ™เบ‡เบฒเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ front-end เปเบฅเบฐ back-end.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™