JavaScript ön məntiqini server tərəfinə köçürən Pusa veb çərçivəsi

Pusa veb çərçivəsi JavaScript istifadə edərək brauzerdə yerinə yetirilən ön məntiqi arxa tərəfə köçürən bir konsepsiyanın həyata keçirilməsi ilə nəşr edilmişdir - brauzerin və DOM elementlərinin idarə edilməsi, həmçinin biznes məntiqi üzərində həyata keçirilir. arxa tərəf. Brauzer tərəfində icra edilən JavaScript kodu arxa tərəfdə yerləşən işləyiciləri çağıran universal təbəqə ilə əvəz olunur. Front end üçün JavaScript istifadə edərək inkişaf etdirməyə ehtiyac yoxdur. Pusa istinad tətbiqi PHP-də yazılmışdır və GPLv3 altında lisenziyalıdır. PHP ilə yanaşı, texnologiya JavaScript/Node.js, Java, Python, Go və Ruby daxil olmaqla istənilən başqa dildə də həyata keçirilə bilər.

Pusa minimalist əmrlər dəstinə əsaslanan mübadilə protokolunu müəyyən edir. Səhifə yükləndikdə, brauzer əsas DOM məzmununu və Pusa-Front-un JavaScript nüvəsini yükləyir. Pusa-Front Ajax sorğularından istifadə edərək brauzer hadisələrini (klik, bulanıqlaşdırma, fokus və düymələrə basma kimi) və sorğu parametrlərini (hadisəyə səbəb olan element, onun atributları, URL və s.) Pusa-Back server idarəedicisinə göndərir. Alınan məlumatlara əsasən, Pusa-Back nəzarətçini müəyyənləşdirir, faydalı yükü yerinə yetirir və cavab əmrləri toplusunu yaradır. Sorğu cavabını aldıqdan sonra Pusa-Front DOM-un məzmununu və brauzer mühitini dəyişdirərək əmrləri yerinə yetirir.

Frontendin vəziyyəti yaradılır, lakin arxa tərəf tərəfindən idarə olunmur, bu da Pusa üçün inkişafı video kart və ya Canvas koduna bənzədir, burada icra nəticəsi tərtibatçı tərəfindən idarə olunmur. Canvas və onmousemove əsasında interaktiv proqramlar yaratmaq üçün müştəri tərəfində əlavə JavaScript skriptlərini yükləmək və istifadə etmək mümkündür. Metodun çatışmazlıqları arasında yükün bir hissəsinin frontenddən arxa hissəyə ötürülməsi və serverlə məlumat mübadiləsi tezliyinin artması da var.

Üstünlüklər arasında: JavaScript qabaqcıl tərtibatçılarının iştirakına ehtiyacın aradan qaldırılması, sabit və yığcam müştəri kodu (11kb), əsas kodun front-enddən əlçatmazlığı, REST serializasiyasına və gRPC kimi alətlərə ehtiyac yoxdur. Front-end və back-end arasında sorğu marşrutunun əlaqələndirilməsi problemləri.

Mənbə: opennet.ru

Добавить комментарий