Mam trochę trudności podczas budowania aplikacji internetowej opartej na Clojure. Jest to prosta aplikacja CRUD, którą zacząłem badać w ekosystemie Clojure. Eksperymentuję z różnymi bibliotekami, takimi jak Hiccup, Enlive, Compojure i Noir (choć Noir wydaje się być na skraju przestarzałości)."Bogate" aplikacje internetowe z Clojure
Moje pytanie to właściwie dwa pytania. Po pierwsze jest na apparant brak konwencji do budowy aplikacji internetowych clojure. Po drugie potrzebuję wskazówek dotyczących tworzenia "bogatych" komponentów html.
To, co kocham w Clojure, to łatwość łączenia różnych bibliotek. Zastąpienie ożywienia czkawką i odwrotnie nie jest wielkim problemem. Wszystko odgrywa swoją pojedynczą i prostą rolę. Bardzo różni się od złożonych ram, takich jak JSF.
Ale jest kwestia: ta wielka wolność sprawia, że czuję się trochę zagubiony. W JSF wiem, gdzie wszystko ma swoje miejsce. Używam Springa, aby zintegrować wszystkie komponenty, Spring-Security, aby obsłużyć wszystkie sesje. Biblioteki komponentów zwalniają mnie ze stresu związanego z rozwiązywaniem problemów html, javascript i ajax.
Zwłaszcza wyżej wymienione biblioteki komponentów są tym, czego mi brakuje w Clojure. Zacząłem implementować rzeczy takie jak datatable z funkcjami takimi jak zmieniające się kolory wierszy, paginacja, porządkowanie kolumn, przyrostowy filtr i tak dalej. I pozostawia mi pytania dotyczące synchronizacji stanu przeglądarki i serwera takich komponentów, szczególnie gdy dołączony jest ajax. Nie mogłem znaleźć żadnej dojrzałej odpowiedzi w sieci.
Zaleta frameworków: po zrozumieniu zasad i ograniczeń można zbudować aplikację i skoncentrować się na regułach biznesowych. Infrastruktura techniczna jest obsługiwana i nie powinna rozpraszać.
Jakie są sugestie dotyczące świata Clojure? Czy rozwiązanie to jest ClojureScript One? Jeszcze się nad tym nie zastanawiałem. Czy ktoś zna biblioteki komponentów, które oferują podobne funkcje, jak na przykład pliki danych RichFaces? Czy istnieje preferowany sposób radzenia sobie z ajaxem?
To forum nie jest do dyskusji. Ma na celu rozwiązanie konkretnego problemu. Clojurescript zrzuca JavaScript po stronie przeglądarki. Z drugiej strony Noir został właśnie przestarzały na rzecz Compojure. – octopusgrabbus
Jestem świadomy, że to forum nie jest przeznaczone do dyskusji. Ale nie oczekuję jednej "właściwej" odpowiedzi. Ale usunę to ostatnie zdanie. Jak już powiedziałem, tak naprawdę nie zajrzałem do "clojurescript One". Wiem, co to jest clojurescript. "Clojurescript One" wydawało mi się punktem wyjścia do wszystkiego. Ale może się mylę i to jest tylko samouczek, który zaczyna się od clojurescript. – nansen