ืคืืจืกืื ืืกืืจืช ืืืื ืืจื ื ืฉื Pusa ืขื ืืืืขืช ืงืื ืกืคื ืืืขืืืจื ืืช ืืืืืืงื ืืงืืืืช, ืืืืืฆืขืช ืืืคืืคื ืืืืฆืขืืช JavaScript, ืืฆื ืืืืืจื - ื ืืืื ืจืืืื ืืืคืืคื ื-DOM, ืืื ืื ืืืืืงื ืขืกืงืืช ืืชืืฆืขืื ืขื ืืืืง ืืืืืจื. ืงืื ื-JavaScript ืืืืคืขื ืืฆื ืืืคืืคื ืืืืืฃ ืืฉืืื ืืื ืืืจืกืืืช ืืงืืจืืช ืืืืคืืื ืืืืืงืืื ืืฆื ืืืืืจื. ืืื ืฆืืจื ืืคืชื ืืืืฆืขืืช JavaScript ืขืืืจ ืืงืฆื ืืงืืื. ืืืืืฉ ืืืคื ืื ืฉื Pusa ืืชืื ื-PHP ืืืื ืืืจืฉื ืชืืช GPLv3. ืื ืืกืฃ ื-PHP, ื ืืชื ืืืืฉื ืืช ืืืื ืืืืืื ืืื ืฉืคื ืืืจืช, ืืืื JavaScript/Node.js, Java, Python, Go ื-Ruby.
Pusa ืืืืืจ ืคืจืืืืงืื ืืืืคื ืืืืืกืก ืขื ืกื ืืื ืืืืืกืื ืฉื ืคืงืืืืช. ืืืฉืจ ืืืฃ ื ืืขื, ืืืคืืคื ืืืขื ืืช ืชืืื ื-DOM ืืืกืืกื ืืืช ืืืืช ื-JavaScript ืฉื Pusa-Front. Pusa-Front ืฉืืืืช ืืืจืืขื ืืคืืคื (ืืืื ืงืืืง, ืืฉืืืฉ, ืืืงืื ืืืืืฆื ืขื ืืงืฉ) ืืคืจืืืจืื ืฉื ืืงืฉื (ืืืืื ื ืฉืืจื ืืืืจืืข, ืชืืื ืืชืื, ืืชืืืช ืืืชืจ ืืื') ืืืืคื ืืฉืจืช Pusa-Back ืืืืฆืขืืช ืืงืฉืืช Ajax. ืืืชืืกืก ืขื ืื ืชืื ืื ืฉืืชืงืืื, Pusa-Back ืงืืืข ืืช ืืืงืจ, ืืืฆืข ืืช ืืืืขื ืืืืืฆืจ ืกื ืชืืืื ืฉื ืคืงืืืืช. ืืืืจ ืงืืืช ืชืืืืช ืืืงืฉื, Pusa-Front ืืืฆืขืช ืคืงืืืืช, ืืฉื ื ืืช ืชืืื ื-DOM ืืกืืืืช ืืืคืืคื.
ืืืฆื ืฉื ื-frontend ื ืืฆืจ ืื ืืื ื ื ืฉืื ืขื ืืื ื-backend, ืื ืฉืืืคื ืืช ืืคืืชืื ืขืืืจ Pusa ืืืืื ืืงืื ืขืืืจ ืืจืืืก ืืกื ืื Canvas, ืืืฉืจ ืชืืฆืืช ืืืืฆืืข ืืื ื ื ืฉืืืช ืขื ืืื ืืืคืชื. ืืืฆืืจืช ืืคืืืงืฆืืืช ืืื ืืจืืงืืืืืืช ืืืืืกืกืืช ืขื Canvas ื-onmousemove, ื ืืชื ืืืืจืื ืืืืฉืชืืฉ ืืกืงืจืืคืืื ื ืืกืคืื ืฉื JavaScript ืืฆื ืืืงืื. ืืื ืืกืจืื ืืช ืืฉืืื ืืฉื ื ืื ืืขืืจืช ืืืง ืืืขืืืก ืื-frontend ื-backend ืืขืืืื ืืชืืืจืืช ืืืืืคื ืื ืชืื ืื ืขื ืืฉืจืช.
ืืื ืืืชืจืื ืืช ืื: ืืืืื ืืฆืืจื ืืืฉืชืชืคืืช ืืคืชืื JavaScript Front-end, ืงืื ืืงืื ืืฆืื ืืงืืืคืงืื (11kb), ืืืกืจ ื ืืืฉืืช ืฉื ืืงืื ืืจืืฉื ืืืคืจืื ื-ืื ื, ืืื ืฆืืจื ืืืืฉืืช REST ืืืืื ืืื gRPC, ืืืืื ืืขืืืช ืืชืืืื ื ืืชืื ืืงืฉืืช ืืื ืืงืฆื ืืงืืื ืืงืฆื ืืืืืจื.
ืืงืืจ: OpenNet.ru