Myślenie w kategoriach ram jest prawdopodobnie błędem. Lepszym podejściem jest myślenie w kategoriach komponentów bibliotecznych, które zestawia się w celu stworzenia "ramy", która najlepiej odpowiada Twoim wymaganiom.
Korzystałem z wielu frameworków w przeszłości. Większość z nich wykonuje dość dobrą robotę dość szybko i szybko z podstawową aplikacją. Jednak bez wyjątku odkryłem, że wszystkie z nich są coraz bardziej frustrujące. Często jest to spowodowane zbyt dużą ilością pól lub po prostu przeskakiwaniem przez obręcze, które nie są istotne dla twojego zastosowania.
Kiedy po raz pierwszy przyjechałem do Clojure, zacząłem szukać ram, ale wtedy zdałem sobie sprawę, że to było niewłaściwe podejście. Zamiast tego, uznałem, że o wiele lepiej jest zacząć od podstawowej aplikacji pierścieniowej, a następnie dodać biblioteki, tak jak ich potrzebowałem. To może wydawać się większą krzywą uczenia się na początek, ale w rzeczywistości okazuje się być tak samo skuteczną, ponieważ nie jesteś zmuszony nauczyć się całego stosu rusztowania szkieletowego, którego często nie potrzebujesz.
Jednak odkryłem, że przeglądanie różnych frameworków jest naprawdę przydatne, ponieważ daje mi pomysły, jak najlepiej zintegrować bibliotekę i, co ważniejsze, IMO, w jaki sposób można najlepiej uporządkować plik LEAR project.clj, aby jak najlepiej odpowiadał przepływowi pracy, który chcesz .
Znalazłem następujące szablony naprawdę przydatne. Nie używam żadnego z nich „jak jest”, ale przystosowały/skradzionych pomysłów z wielu z nich do opracowania ram, które najlepiej pasują do aplikacji pracuję nad
Luminus i Luminus templates zapewnia bardzo rozbudowane ramy. Uważam je za trochę "ciężkie" dla wielu aplikacji, ale są przykłady świetnych sposobów na integrację różnych bibliotek Clojure z twoją aplikacją. Główna strona internetowa zawiera również przydatną dokumentację.
Reagent Project, który zawiera szablon odczynnika, stanowi dobry punkt wyjścia dla aplikacji z obsługą Reagent (react.js) ClojureScript. Odkryłem, że jest to jedna z najłatwiejszych bibliotek ClojureScript do tworzenia aplikacji z dobrą integracją JavaScript.
lein-figwheel to naprawdę interesujący szablon przy użyciu figwheel, który zapewnia dynamiczne ładowanie clojurescript, dzięki czemu można zobaczyć zmiany ClojureScript w przeglądarce podczas modyfikacji kodu. Wiele innych szablonów dodało teraz tę funkcję do swoich własnych szablonów. Pierwotnie opracowane z myślą o Om, szablony Luminus i Reagent teraz również integrują funkcjonalność Figwheel w swoich szablonach.Naprawdę pokazuje niektóre zalety Clojure i ClojureScript do interaktywnego programowania.
Compojure Template to świetny punkt wyjścia. Tworzy bardzo podstawowy projekt oparty na współdziałaniu z wszystkimi podstawowymi funkcjami ring i compojure. Świetny sposób na rozpoczęcie tworzenia stron internetowych Clojure, ponieważ jest prosty i pozwala skupić się na podstawach przed utopieniem pod wszystkimi innymi opcjami.
Istnieje wiele innych szablonów i frameworków, z których wiele jeszcze nie miałem czasu. Obecnie często zaczynam od szablonu szablonu lub odczynnika, a następnie dodawaj dodatkowe bity, jeśli jest to wymagane. Zwykle dołączam również selmar do szablonów i używam tej samej konfiguracji, co Luminus.
Być może najważniejszą częścią zdobycia dobrego "ramowego" dla ciebie tworzenia stron internetowych jest eksperymentowanie i zrozumienie, jak działa lein i plik project.clj lein. Posiadanie dobrego pliku project.clj określi twój przepływ pracy. Posiadanie odpowiednich profili, możliwość uruchomienia repliki na różne sposoby i załadowania różnych bibliotek, które pozwalają na rozpoczęcie pracy z rysunkiem lub przeglądarką, replikowanie lub generowanie słoja itp., Dotyczy tylko pliku project.clj. Zrób to dobrze, a Twoje środowisko zapewni tylko to, czego potrzebujesz.
Nie zapomnij dodać Clojure na Cewki na https://github.com/zubairq/coils a także Pedestal – Zubair
Gdzie to stanowisko dzisiaj, zbliża się koniec 2013? – scape