WebForms у PHP!

WebForms Core — це революційна і нова технологія, створена компанією Elanat у 2024 році. Завдяки технології WebForms Core більше не потрібно використовувати JavaScript і розробку на стороні клієнта, оскільки ця технологія дозволяє керувати всіма HTML тегами на сервері.

pic

Тепер ви можете використовувати цю високорівневу технологію в мові програмування PHP.
Ми, команда Elanat, успішно протестували технологію WebForms Core на PHP.

Кроки тестування

Спочатку завантажте клас WebForms для мови програмування PHP за наступним посиланням: https://github.com/elanatframework/Webformsclasses

Далі завантажте бібліотеку WebFormsJS за наступним посиланням і додайте її до розділу head вашої HTML-сторінки: https://github.com/elanatframework/Web_forms

Створення PHP файлу

Наступне зображення показує вигляд PHP-сторінки. Це вигляд, який запитується першим від браузера.

pic

HTML код вищезгаданого зображення показано разом з PHP кодом нижче.

index.php

setFontSize('', $FontSize . 'px');  
 $form->setBackgroundColor('', $BackgroundColor);  
 $form->setDisabled('(btn_SetBodyValue)', true);  

 $form->addTag('', 'h3');  
 $form->setText('
', "Welcome " . $Name . "!");       echo $form->response();    exit();   }   ?>                                  Your Name            Set Font Size            Set Background Color                          

Як бачите, скрипт WebFormsJS додано до розділу head файлу View вище. У верхній частині файлу View спочатку перевіряється, чи був натиснутий кнопка відправки. Якщо кнопка була натиснута, створюється екземпляр класу WebForms, після чого викликаються методи WebForms, і метод response виводиться на екран, а інші частини Views не відображаються. Зверніть увагу, що якщо кнопка не була натиснута (первинний запит), сторінка View буде відображатися повністю для запитувача. Наступне зображення показує вигляд PHP-сторінки після натискання кнопки.

pic

Примітка: Зверніть увагу, що вам потрібно додати PHP клас WebForms поруч з файлом index.php і також розмістити бібліотеку WebFormsJS в каталозі script, а потім додати цей каталог поруч з файлом index.php.

pic

WebForms Core — це вірна HTML технологія. У цьому прикладі чітко видно, що дані надсилаються через метод POST. Після натискання кнопки, наступні дані надсилаються на основі HTTP протоколу.

Запит

txt_BackgroundColor=mediumpurple&txt_FontSize=32&txt_Name=Adriano&btn_SetBodyValue=Click to send data

Наступний код — це відповідь сервера, яка надсилається клієнту через HTTP протокол.
Коди відповіді генеруються класом WebForms на сервері та інтерпретуються (відображаються) за допомогою WebFormsJS, після чого застосовуються до HTML-сторінки.

Відповідь

[web-forms]  
fs=32px  
bc=mediumpurple  
sd(btn_SetBodyValue)=1  
nt=h3  
st
=Welcome Adriano! 

Примітка: У цьому простому прикладі ми надсилаємо дані з клієнта на сервер, і сервер відповідає. Зверніть увагу, що технологія WebForms Core має високий рівень продуктивності, і, використовуючи її можливості, ви можете досягти кращої продуктивності, ніж за допомогою JavaScript, без необхідності надсилати дані на сервер.

Переваги WebForms Core

Управління HTML тегами на сервері: За допомогою WebForms Core ви можете керувати HTML тегами безпосередньо на сервері, що спрощує процес розробки. Це усуває потребу в написанні JavaScript для взаємодії на стороні клієнта.

Спрощене розроблення: Оскільки WebForms Core обробляє як серверну, так і клієнтську частини у межах PHP, це зменшує складність керування різними технологіями. Це може зробити процес розробки більш простим і менш схильним до помилок.

Знижена залежність від JavaScript: Мінімізуючи використання JavaScript, WebForms Core знижує ризик поширених проблем на стороні клієнта та може призвести до кращої продуктивності та безпеки. Це особливо корисно для розробників, які більш комфортно працюють з серверними мовами, такими як PHP.

Покращена продуктивність: Як показано в прикладі, WebForms Core може ефективно обробляти надсилання даних та відповіді сервера. Керуючи взаємодіями форм на стороні сервера, технологія може забезпечити кращу продуктивність порівняно з традиційним рендерингом на стороні клієнта.

Послідовне відображення HTML: Оскільки HTML управляється на сервері, можна забезпечити консистентне відображення HTML елементів у різних браузерах і пристроях. Це може спростити тестування та обслуговування.

Легкість інтеграції: Для команд, які вже використовують PHP, інтеграція WebForms Core може бути безшовною, оскільки вона використовує наявні знання PHP та його екосистеми.

Спрощене керування станом: Керування станом на сервері може спростити потік даних і зменшити проблеми, пов'язані з керуванням станом на стороні клієнта, такі як проблеми синхронізації та складність керування життєвими циклами компонентів у фреймворках, таких як React чи Vue.

PHP серверний код: Серверний код управляє надсиланням форм, оновлює HTML елементи та надсилає відповіді назад до клієнта.

Легкість навчання: Для розробників, вже знайомих з PHP, WebForms Core може мати менший кривий навчання порівняно з фронтенд фреймворками, які часто вимагають знань JavaScript, специфічних синтаксисів фреймворків і інструментів для фронтенду.

Миттєвий відгук: Модель відповіді та рендерингу на стороні сервера дозволяє безпосередньо маніпулювати DOM на основі введених даних користувачем, що може забезпечити миттєвий відгук без необхідності використовувати великий обсяг JavaScript на стороні клієнта.

Знижена складність на стороні клієнта: Керуючи всім на сервері, код на стороні клієнта може бути значно спрощений, що призводить до меншої кількості помилок і простішого обслуговування.

Надійність і безпека: Обмежуючи кількість коду на стороні клієнта, може зменшитися кількість вразливостей до поширених атак JavaScript (наприклад, XSS), оскільки введені дані обробляються та перевіряються на стороні сервера.

JavaScript бібліотека: Бібліотека WebFormsJS інтерпретує відповіді сервера і відповідно оновлює HTML.

Консолідована архітектура: Маючи єдину точку керування (сервер) для UI та логіки, можна досягти більш узгодженої архітектури, що полегшує її обслуговування та розширення.

Без необхідності API: На відміну від фронтенд фреймворків, які вимагають створення декількох серверних API для обробки запитів, WebForms Core управляє всіма взаємодіями на стороні сервера без необхідності в окремих точках API. Це зменшує навантаження на розробку та спрощує обробку даних.

Один серверний запит: Фронтенд фреймворки зазвичай вимагають кількох запитів до сервера для динамічних оновлень контенту.
На відміну від цього, WebForms Core робить лише один запит, після чого обробляє команди на стороні клієнта, мінімізуючи навантаження на сервер і покращуючи час відгуку.

Менше навантаження на сервер: Оскільки WebForms Core генерує команди, які виконуються на стороні клієнта без великої залежності від JavaScript, це знижує навантаження на сервер порівняно з традиційними фреймворками, які часто вимагають постійної взаємодії з сервером для оновлень.

Автоматичне керування сумісністю: Оновлення у фронтенд фреймворках можуть призвести до проблем з сумісністю та збільшення труднощів в обслуговуванні. WebForms Core автоматично керує сумісністю між серверною структурою та скриптами на стороні клієнта, знижуючи навантаження на обслуговування, пов'язане з оновленнями фреймворків.

Підхід, вірний HTML: WebForms Core зберігає чисту структуру HTML, мінімізуючи надлишкові дані, що надсилаються на сервер, і забезпечуючи легкість і ефективність застосунку. Це контрастує з багатьма фронтенд фреймворками, які можуть роздувати застосунки зайвою складністю.

Переваги WebForms Core порівняно з подібними технологіями:

  • Не залежить від жодного бекенд або фронтенд фреймворку.
  • Є автоматичним і не потребує маркування в HTML тегах.
  • Виконує кілька дій в одній відповіді.
  • Дані, що надсилаються і отримуються між сервером і клієнтом, є дуже легкими.
  • Дуже легко налаштовується.

Технологія WebForms Core доступна в наступних мовах програмування (або фреймворках):

  • C# (.Net)
  • Elixir
  • GO
  • JAVA
  • NodeJS
  • PHP
  • Python
  • R
  • Ruby
  • Rust
  • Swift

Висновок

WebForms Core пропонує сучасний підхід до веб-розробки, зосереджуючи увагу на керуванні HTML елементами на сервері, що спрощує процес розробки, підвищує продуктивність, забезпечує сумісність і зменшує кількість помилок. Це робить його привабливою альтернативою для розробників, які хочуть спростити свої веб-застосунки, не занурюючись глибоко в JavaScript або складні фронтенд фреймворки.

Перекладено з: WebForms in PHP!

Leave a Reply

Your email address will not be published. Required fields are marked *