Czy jest gotowa technologia do tworzenia zintegrowanych stron ‘html’?

0

Powiedzmy, że celem jest utworzenie w przeglądarce ‘www’ czegoś w rodzaju ‚aplikacji okienkowej’. Taka aplikacja korzystałaby z obecnych w HTML 5 rozwiązań, ale nie odwzorowywała by ich 1:1, lecz tworzyłaby komponenty, którymi można by sterować. Te komponenty integrowałyby się do całej strony ‘html’ (do jej właściwości i drzewa DOM).

Mam na myśli dwa rozwiązania:

  • po stronie ‘servera’, gdzie strona budowana byłaby w pamięci, a później generowana na wyjście
  • po stronie ‘clienta’, gdzie strona oparta byłaby o wstępną, statyczną konstrukcję dokumentu ‘html’, a resztę generowała i zmieniała w razie potrzeby skryptem

Ostatecznie szukam też takiego rozwiązania, które integrowałoby generowanie strony przez ‘server’ z wersją ‘clienta’.

Czy istnieją gotowe biblioteki do tego typu aplikacji? Jakie?

Wiem, że istnieją ‘frameworki’, które robią coś podobnego, ale one opierają się na odwzorowaniu 1:1 komponentów do kodu ‘html’. A u mnie raczej byłby jakiś sterownik komponentu graficznego, który integrowałby jego działanie ze stroną i wyświetlał odpowiednio zawartość. No i te ‘frameworki’ używają powszechnie wstawiania (‘injection’) kodu ‘html’, a to jest sprzeczne z integracją ze stroną ‘html’; dlatego też tam są ‘layouty’, a nie komponenty.
Wymieniłem osobno rozwiązanie po stronie ‘servera’ i ‘clienta’, ale raczej zmierzam do rozwiązania optymalnego ze względu na przesyłanie danych czyli wydaje się do aplikacji po stronie ‘clienta’ z udziałem ‘servera’.
Jako technologie wewnętrznego działania strony po stronie ‘clienta’ mam do dyspozycji najnowsze HTML, CSS i Javascript, a po stronie ‘servera’ najnowsze PHP. Natomiast nie wykluczam generowania stron przy użyciu jakichś narzędzi.

Proszę o nakierowanie mnie na gotowe rozwiązania tego typu lub sposób utworzenia tego typu aplikacji, jeśli gotowych rozwiązań brak.

0

Strona byłaby wyświetlana oczywiście w istniejących przeglądarkach.
Jeśli po stronie ‘servera’, to strona byłaby gotowa po wygenerowaniu przez skrypt na ‘serverze’, przeglądarka by ją tylko wyświetliła. Pisząc, że „generowana w pamięci” miałem na myśli to, że nie byłaby generowana sekwencyjnie, tak jak został zaprojektowany PHP, ale z obiektu w pamięci, jednorazowo na końcu przetwarzania skryptu ‘php’.
Mimo długości trasy do ‘servera’, to pewnych rzeczy nie da się zrobić tylko po stronie ‘clienta’.
Ile czasu na napisanie tego? Na początek jakaś prosta aplikacja, więc niezbyt wiele.
Jakie metody będzie miała ta aplikacja? Mam zamiar korzystać z obiektowości ogólnej i nie tworzyć typowych obiektów programowania obiektowego. A jeśli chodzi o metody w aplikacji, to na razie tylko zintegrowane wyświetlanie treści.

2
overcq napisał(a):

Mam na myśli dwa rozwiązania:

  • po stronie ‘servera’, gdzie strona budowana byłaby w pamięci, a później generowana na wyjście
  • po stronie ‘clienta’, gdzie strona oparta byłaby o wstępną, statyczną konstrukcję dokumentu ‘html’, a resztę generowała i zmieniała w razie potrzeby skryptem

Z opisu kojarzą mi się narzędzia tego typu (wszystkie wymagają node.js)

które pozwalają połączyć treści generowane statycznie z treściami generowanymi przez server przy każdym requescie.

1

Dzięki za linki.
Przeglądnąłem na szybko dokumentację i szczególnie ciekawy jest “nuxt”. Zauważyłem w nim rozwiązania opierające się o zebrane doświadczenie. Na przykład Data Fetching, ale też inne.
Jednak brakuje mi w nim wyższej warstwy, która integrowałaby całą aplikację: wszystko jest wstawiane lokalnie, konkretnie.
I pozostaje rozważyć, czego tak naprawdę oczekuję, jeśli chodzi o nieodwzorowywanie 1:1 komponentów do kodu ‘html’, może to nie jest konieczne wymaganie. Oraz czy chcę generować statyczne strony czy zmieniać wszystko na jednej. W każdym razie “nuxt” jest dobrym punktem wyjścia, tylko jest zbyt uproszczony.

1

hasła do wyszukania:
static site generation
server side rendering
react server components
ogólnie używając frameworków do Reacta można coś takiego zrobić

możesz zobaczyć w dokumentacjach, który framework ci najbardziej pasuje
potencjalne frameworki do sprawdzenia:

W każdym razie “nuxt” jest dobrym punktem wyjścia, tylko jest zbyt uproszczony.

Czego ci tam brakuje? Pod tym kątem można później sprawdzać kolejne rzeczy. Ogólnie myślę, że któryś z frameworków coś podobnego jak chcesz, będzie mieć.

Jednak brakuje mi w nim wyższej warstwy, która integrowałaby całą aplikację: wszystko jest wstawiane lokalnie, konkretnie.

Tzn. jak to lokalnie? Jakbyś chciał, żeby to było?

Wiem, że istnieją ‘frameworki’, które robią coś podobnego, ale one opierają się na odwzorowaniu 1:1 komponentów do kodu ‘html’. A u mnie raczej byłby jakiś sterownik komponentu graficznego, który integrowałby jego działanie ze stroną i wyświetlał odpowiednio zawartość.

no bo są frameworki backendowe, które mają systemy szablonów, które opierają się na odwzorowaniu 1:1 komponentów do kodu ‘html’, są biblioteki do GUI na frontendzie takie jak React, które mogą być interaktywne i mają coś w stylu sterownik komponentu graficznego, który integrowałby jego działanie ze stroną i wyświetlał odpowiednio zawartość., a są również frameworki full stack, które łączą obydwie rzeczy.

0

Na razie zdecydowałem się na generowanie strony przez szablony XSL z dokumentów XML uruchamiane przez skrypt budujący.
Ale https://docs.astro.build/en/concepts/mpa-vs-spa/ pozwoliło mi wybrać odpowiednie podejście.

1 użytkowników online, w tym zalogowanych: 0, gości: 1