AngularJS powiązanie danych po stronie klienta i szablony po stronie serwera

AngularJS wykorzystuje dwukierunkowe powiązanie danych po stronie klienta(z AngularJS Developers guide ): Dwukierunkowe Wiązanie Danych

Czy ktoś rozważa użycie kombinacji silnika szablonów po stronie serwera z AngularJS dwukierunkowym powiązaniem danych po stronie klienta. Coś w tym stylu.: Mieszane wiązanie danych

Zastanawiam się nad używaniem AngularJS tylko dla części (komponentów) strony? Czy to dobry pomysł?

Chciałbym usłyszeć, czy masz już doświadczenia z podobnym podejściem i jakie były wady i zalety...

Author: PrimosK, 2012-10-27

3 answers

Angular to kompletny framework renderujący interfejs użytkownika. Możesz wprowadzić do niego dane, a to wyrenderuje właściwy html. on it ' s own Angular jest rozwiązaniem szablonów całkowicie odłączonym od dowolnego serwera .

To, co próbujesz zrobić, to ponownie połączyć swoją aplikację kątową z serwerem. to będzie więcej pracy, będzie bardzo mało korzyści i stracisz możliwość zmiany technologii serwerowych, ale utrzymasz swoją kanciastą aplikację nietkniętą.

In esencja, nie chcesz tego robić z tego samego powodu, dla którego nie chcesz, aby Twój serwer renderował JavaScript dla Ciebie... jest to po prostu mniej oczywiste, ponieważ przez wszystkie lata renderowaliśmy cały nasz HTML na serwerze.

Najważniejszy jest efekt końcowy. Interfejs użytkownika działa prawidłowo, a aplikacja jest łatwa w utrzymaniu. Jeśli uważasz, że Twoje rozwiązanie jest łatwiejsze w utrzymaniu, powinieneś to zrobić. Trudno mi sobie wyobrazić, że jest łatwiejsze w utrzymaniu niż prosty HTML i JavaScript z serwerem, który nie robi nic poza hostem JSON.

 10
Author: Ben Lesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-28 20:27:38

Miałem ten sam dylemat co Ty, pochodzę z tła używania SMARTY jako silnika szablonów po stronie serwera i ostatnio zaczęliśmy używać AngularJS.

Myślę, że mieszanie obu rozwiązań byłoby właściwe w istocie całkowitego oddzielenia. nie mieszaj części strony z obiema technologiami, ale używaj obu technologii osobno.

Na przykład, jeśli masz stronę z listą, na której użytkownicy w ogóle nie będą z nią wchodzić w interakcje, możesz użyć szablonu po stronie serwera idealnie.

Ale jeśli strona wymaga wielu manipulacji i interakcji Po Stronie Użytkownika w tym przypadku Angular jest to, co należy użyć.

Jeśli używasz SPA (single page application) nie używaj w ogóle szablonu po stronie serwera.

 3
Author: Mohamed Adel El-Badry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-17 07:56:32

W aplikacji cordova niedawno wykonane, użyliśmy rodzaju mix. Poprawiliśmy zawartość, taką jak formularze, listy, nagłówki i menu, które zrobiliśmy w kanciasty sposób, niektóre części, takie jak zawartość z RTE lub często zmieniające się szablony, które dodaliśmy za pomocą dyrektywy ngBindHtml. Chodzi o to, aby być elastycznym na stronach zawartości aplikacji, Jeśli klient chce zmienić układ lub chce umieścić do niego nieznaną zawartość. Ale sugerowałbym: jeśli możesz łatwo utrzymać aplikację (bez długiego wdrażania/zatwierdzania proces) powinieneś zrobić to kanciasty sposób (ale bez SEO w umyśle;).

 0
Author: fenta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-25 21:28:08