Użyłem tej techniki wyłącznie do aplikacji internetowej, nad którą pracujemy. Mój backend jest hostowany w Google App Engine przy użyciu Java SDK, a mój frontend używa HTML, CSS i JavaScript (z jQuery).
Projekt jest mniejszy z samym sobą i projektantem stron internetowych i oboje uważamy, że ta metoda pomogła nam pracować znacznie szybciej i szybciej wprowadzić coś na rynek.
Zaleta: praca z projektantami stron internetowych
Główną zaletą tej techniki jest to, że projektant stron internetowych, który zna się na PHP, ale nie uważa się za programistę, może pracować bez ograniczeń w HTML i CSS bez konieczności brodzenia przez niezliczone linie JSP, taglib i innych stron po stronie serwera znaczniki, o których mówiliśmy od lat, mają znacznie ułatwić życie programistom front-end.
Bez znaczników po stronie serwera jesteśmy bardziej zwinni. Projektant stron internetowych zmienił swój oryginalny projekt 3 lub 4 razy, z niewielkimi zmianami z mojej strony.
Jego komentarz do mnie był taki, że czuł, że HTML żyje, ponieważ mógł go edytować, a następnie natychmiast zobaczyć zmiany na swoim komputerze z dynamicznymi danymi. Obaj czerpiemy z tego korzyści, ponieważ integracja odbywa się głównie automatycznie.
Kod po stronie serwera i przekazywanie kodu HTML / CSS
W poprzednich projektach musiał przekazywać HTML i CSS programistom Java, którzy następnie brali jego HTML i CSS i całkowicie przepisywali je przy użyciu technologii JSP. Zajmie to dużo czasu i zwykle spowoduje subtelne, ale ważne różnice w faktycznym renderowaniu stron, a także jego walidację w walidatorze W3C.
Ogólnie rzecz biorąc, oboje jesteśmy bardzo zadowoleni z tej techniki i nadal mam zero stron JSP lub kodu po stronie serwera na moich stronach HTML.
Pułapki techniki REST / JSON
Być może największe pułapki to te, których jeszcze nie spotkaliśmy. W pełni spodziewam się, że będę miał spory z bardziej doświadczonymi programistami Java, którzy zostali poddani praniu mózgu przez to, co fundacja Apache i zespół Spring powiedział im, w jaki sposób biblioteki znaczników ułatwiają programistom frontendową pracę z kodem. W pełni spodziewam się, że pojawi się krzywa uczenia się w miarę rozwoju tego projektu i pozyskamy kolejnych programistów, którzy mogą być zmuszeni oduczyć się tych przestarzałych technik, które z mojego doświadczenia utrudniły pracę projektantom stron internetowych .
Kolejną pułapką jest to, że kod JavaScript stał się bardzo ogromny. Jest to bardziej problem, być może dlatego, że używam tej techniki po raz pierwszy i dlatego, że wprowadziliśmy niewielki techniczny dług w pracy nad szybkim wydaniem. Być może wybranie lepszego frameworka pomogłoby złagodzić dużą część kodu. Moim zdaniem żadna z tych rzeczy nie była przeszkodą i zachęcam do dalszego korzystania z tej techniki i doskonalenia swoich umiejętności w tym zakresie.
Zaleta: na platformie można budować inne aplikacje
Na koniec powinienem wspomnieć o ukrytej przewadze. Ponieważ między usługami RESTful Web i zapleczem istnieje dobry stopień oddzielenia, stworzyłem również platformę, którą można łatwo rozszerzyć.
Jeden z naszych operatorów chciał wypróbować próbę koncepcji w innej aplikacji, a dzięki moim usługom RESTful udało nam się stworzyć zupełnie inną nakładkę na aplikację, aby rozwiązać zupełnie inny problem. Szybko opracowany dowód koncepcji wykorzystał własny HTML, CSS i JavaScript, ale wykorzystał usługi RESTful jako backend i źródło danych.
W końcu inny kierownik projektu zobaczył, co zrobiłem, i od razu stało się jasne, że ta funkcja musi być czymś więcej niż tylko dowodem koncepcji, więc jego zespół ją wdrożył.
Nie mogę wystarczająco podkreślić, jak architektura ta jest wielokrotnego użytku, zarówno na poziomie aplikacji, jak i HTML / CSS / JavaScript, i zdecydowanie zachęcam do wypróbowania tego w następnym projekcie.