11

Próbuję zidentyfikować niektóre z zalet i wad posiadania CMS, który jest sterowany zdarzeniami.Event-driven CMS - zalety i wady

Kierowanie zdarzeniami nie jest niczym niezwykłym. Widać to w wielu językach skryptowych, takich jak Actionscript, javascript, jquery, które angażują klienta. Co powiesz na CMS, w którym zdarzenia i ich odpowiedzi pojawiają się na serwerze. Jakie wady i zalety mogą mieć takie podejście i jakie są inne podejścia, które ludzie mogą preferować bardziej.

P.S. Zwróć uwagę, że używam Actionscript, JQ i JS jako przykładu. Zdajesz sobie sprawę, że kiedy mówisz o CMS w ten sposób, zdarzenia i ich reakcje są po stronie serwera.

Edit: Widzę wiele osób mówi, że to nie ma sensu do korzystania zdarzeniami jak nie dostać tego, co to jest. Jednym z systemów CMS, które już używają tego podejścia jest Drupal, więc zaufaj mi, że to istniejący sposób, nie wyciągam pomysłów z mojego A. To po prostu oznacza "elementy wewnętrzne" CMS (wszystkie rzeczy po stronie serwera) są sterowane zdarzeniami. Rdzeń robi swoje rzeczy I definiuje zdarzenia. Wtyczki mogą odpowiadać na te zdarzenia, aby dodać własną logikę. Przykładem może być Actionscript, ponieważ strona klienta jest tam, gdzie ta koncepcja jest najbardziej znana, ale może być również po stronie serwera, może nie tak istotna dla zwykłych aplikacji i tak nie jest znana. Ale ma sens coś bardziej złożonego, jak CMS, gdzie inni programiści chcą dodawać własne wtyczki lub nawet zmieniać wbudowaną logikę CMS.

+1

Jaką korzyść szukasz w takim podejściu? Kiedy mówisz CMS, zakładam, że masz na myśli internetowy system CMS. Niezależnie od oprogramowania po stronie serwera, Twój CMS nadal odpowiadałby na żądania HTTP, generował html i zwracał to klientowi, prawda? Jak zatem CMS wspomagany zdarzeniami może pomóc w tym procesie? – marcvangend

+0

Pozwoliłem sobie umieścić aktualizację w bloku wyceny i anulować pogrubienie. Nie krępuj się, jeśli go nie lubisz. –

+0

Jakiego języka byś użył? @Georg, jak spostrzegawczy jesteś !!! :) Rozsądnie jest zapytać, kiedy wszystkie podane przykłady są językami po stronie klienta i o ile wiem, PHP nie wysyła zdarzeń, bez pomocy dodatkowej biblioteki. Co więcej, mając reputację ponad 17 kB, powinieneś być w stanie samodzielnie udzielić odpowiedzi na to pytanie, prawda? Georg, w jakim języku, twoim zdaniem, powinien użyć Dave? – PatrickS

Odpowiedz

1

Co dokładnie masz na myśli przez "napędzane zdarzeniami"? Czy oznacza to, że klienci mogą oglądać treści i będą powiadamiani, kiedy zostaną zaktualizowane?

Jeśli tak, to jest to naprawdę świetny pomysł, ale wdrożenie jest ambitne. Wyraźną wadą jest to, że istnieje mnóstwo rzeczy, które mogą pójść nie tak, podczas gdy model oparty na zapytaniach jest znacznie prostszy, a przez to bardziej solidny.

+0

Oznacza to, że "elementy wewnętrzne" CMS są sterowane zdarzeniami, tak jak robi to Drupal. Rdzeń definiuje zdarzenia i wtyczki mogą odpowiadać na nie, aby dodać własną logikę. – dave

6

Czy na pewno "zdarzenie sterowane" jest właściwym określeniem?

Myślę, że to, o czym mówisz, to infrastruktura wtyczki, która pozwala wtyczkom działać, gdy zdarzenie ma miejsce (uruchamiany jest hak).

To, co wiem, to "zdarzenie sterowane zdarzeniami", gdy aplikacje desktop przechowują zdarzenia w elementach interfejsu użytkownika, tak jak JavaScript może zrobić dla elementów HTML. Aplikacje na komputery są zbudowane w ten właśnie sposób. Tego nigdy nie można osiągnąć w PHP opartym na sieci Web, ponieważ jest całkowicie zorientowany na żądanie.

W każdym razie, widzę, co masz teraz na myśli. Istnieją CMSy i frameworki, które mają to do pewnego stopnia - na przykład Wordpress i Dokuwiki.

Ponadto:

Próbuję zidentyfikować niektóre z zalet i wad o CMS, który jest wydarzeniem napędzany.

Zalety są oczywiste: o wiele łatwiej jest podłączyć się do systemu bez konieczności włamania do rdzenia. Staje się możliwe pisanie prawdziwych wtyczek.

Jedną z dużych zalet jest to, że system ma tendencję do wolniejszego działania w dłuższej perspektywie, im więcej jest haków, a więcej wtyczek jest zarejestrowanych w hakach. Widziałem ogromną operację konserwacyjną portalu - usunięcie kilkuset węzłów Drupala - wykonuję godzin na ultraszybkim serwerze produkcyjnym, głównie z powodu systemu hakowania.

+0

+1. Infrastruktura wtyczki (haka) brzmi dobrze i nie wymaga wyjaśnień. W wiki jest dość jasne, na czym polega "napędzane zdarzeniami": http://en.wikipedia.org/wiki/Event_driven_programming. I nie ma głównej pętli w PHP :) – back2dos

+0

I concur, Drupal i Wordpress z łatwością stają się dużymi, powolnymi słoniami, gdy dodajesz coraz więcej modułów/wtyczek. Widziałem witryny z setkami modułów/wtyczek, które muszą być skalowane za pomocą wielu serwerów, równoważników obciążenia i czołowych pamięci podręcznych, ponieważ CMS nie może nadążyć za kilkoma odwiedzającymi. Dodanie funkcji jest tak łatwe dla projektantów stron internetowych, a dla programistów tak łatwo można wykorzystać inne moduły (widziałem bardzo proste moduły Drupala z tuzinem zależności, teraz wyobraź sobie, że instalujesz ich kilkanaście). –

Powiązane problemy