JavaScript интерфейсінің логикасын сервер жағына тасымалдайтын Pusa веб-жақтамасы

Pusa веб-қаңқасы JavaScript арқылы браузерде орындалған фронтальды логиканы артқы жағына тасымалдайтын тұжырымдаманы жүзеге асырумен жарияланды - шолғышты және DOM элементтерін басқару, сонымен қатар бизнес логикасы орындалады. артқы жағы. Браузер жағында орындалатын JavaScript коды сервер жағында орналасқан өңдеушілерді шақыратын әмбебап қабатпен ауыстырылады. Фронт үшін JavaScript арқылы әзірлеудің қажеті жоқ. Pusa анықтамалық орындалуы PHP тілінде жазылған және GPLv3 бойынша лицензияланған. РНР-ден басқа, технология JavaScript/Node.js, Java, Python, Go және Ruby сияқты кез келген басқа тілде жүзеге асырылуы мүмкін.

Pusa пәрмендердің минималистік жиынына негізделген алмасу протоколын анықтайды. Бет жүктелген кезде браузер негізгі DOM мазмұнын және Pusa-Front JavaScript өзегін жүктейді. Pusa-Front шолғыш оқиғаларын (басу, бұлыңғырлау, фокустау және пернені басу сияқты) және сұрау параметрлерін (оқиғаны тудырған элемент, оның атрибуттары, URL мекенжайы және т.б.) Ajax сұрауларын пайдаланып Pusa-Back сервер өңдеушісіне жібереді. Алынған деректер негізінде Pusa-Back контроллерді анықтайды, пайдалы жүктемені орындайды және командалардың жауап жинағын жасайды. Сұраныс жауабын алғаннан кейін Pusa-Front DOM мазмұнын және шолғыш ортасын өзгерте отырып, командаларды орындайды.

Фронттың күйі жасалады, бірақ сервер арқылы бақыланбайды, бұл Pusa үшін әзірлеуді бейне карта немесе Canvas кодына ұқсас етеді, мұнда орындау нәтижесі әзірлеуші ​​тарапынан бақыланбайды. Canvas және onmousemove негізінде интерактивті қолданбаларды жасау үшін клиент жағында қосымша JavaScript сценарийлерін жүктеп алуға және пайдалануға болады. Әдістің кемшіліктері қатарында жүктің бір бөлігін фронтенден серверге беру және сервермен деректер алмасу жиілігінің артуы да бар.

Артықшылықтардың қатарында: JavaScript-тің алдыңғы қатарлы әзірлеушілерінің қатысу қажеттілігін жою, тұрақты және ықшам клиент коды (11 кб), негізгі кодтың фронт-соңынан қолжетімсіздігі, REST сериялауының және gRPC сияқты құралдардың қажеті жоқ, фронт пен бэк-end арасындағы сұранысты бағыттауды үйлестіру мәселелері.

Ақпарат көзі: opennet.ru

пікір қалдыру