Chciałbym programować w sieci za pomocą programowania funkcjonalnego. Jakie przyzwoite ramy internetowe istnieją dla funkcjonalnych języków programowania?
Chciałbym programować w sieci za pomocą programowania funkcjonalnego. Jakie przyzwoite ramy internetowe istnieją dla funkcjonalnych języków programowania?
Odpowiedzi:
Lift to ciekawa platforma dla Scali. Praktyczną zaletą Scali jest to, że może korzystać z dowolnych istniejących bibliotek Java.
Jest o wiele więcej (nawet rozwijam jeden w F #), ale myślę, że te (i Lift, już wspomniane) są najbardziej kompletne / popularne / udokumentowane. Nie mogę komentować ram Erlanga.
Dla Erlanga dostępna jest lista frameworków internetowych. Podsumowując tę listę tutaj:
Z tych dwóch, które wydają mi się najbardziej interesujące, są maszyny sieciowe i azot . YMMV.
Noir jest piękny, funkcjonalny i prosty (w sensie Rich Hickey „ Simple Made Easy ”):
(defpage "/welcome" []
"Welcome to Noir!")
(server/start 8080)
Szczególnie podoba mi się sposób, w jaki możesz zbudować całą aplikację internetową za pomocą kompozycji funkcji, obsługiwanej przez kilka makr, aby umożliwić ładną deklaratywną DSL.
Compojure to platforma internetowa typu open source dla języka programowania Clojure.
Ponieważ nie ma mowy o żadnym języku, myślę, że akceptujesz wiele języków ...
Tak więc dla języka F # istnieje FSharp.WebTools .
Narzędzia sieciowe F # rozszerzają dystrybucję F # o narzędzia do tworzenia jednorodnych aplikacji internetowych klient / serwer / baza danych w jednym projekcie z kontrolą typu. Modalne rozróżnienia między klientem a serwerem są sprawdzane za pomocą przepływów pracy F #, a LINQ może być używany do dostępu do bazy danych. W pierwszej wersji części aplikacji są dynamicznie obsługiwane jako JavaScript. Planowane rozszerzenia obejmują podawanie części po stronie klienta jako kodu Silverlight.
Snap to przyjemna i bardzo szybka platforma internetowa dla Haskell.
prosta platforma programistyczna dla systemów uniksowych napisana w języku programowania Haskell. Snap ma wysoki poziom pokrycia testowego i jest dobrze udokumentowany. Dodatki zawarte:
- Szybka biblioteka serwerów HTTP
- Rozsądna i czysta monada do programowania w Internecie
- System szablonów oparty na HTML do generowania stron ...
Istnieje porównanie frameworków internetowych Erlang na Github:
https://github.com/evanmiller/ChicagoBoss/wiki/Comparison-of-Erlang-Web-Frameworks
Nie grałem ze wszystkimi wymienionymi tam ramami, więc nie chcę oceniać, ale w moim obecnym projekcie dość często korzystam z Zotonic i mogę go z całego serca polecić. O ile mi wiadomo, jest to jedyna platforma Erlang, która jest nie tylko platformą, ale także pełnowymiarowym systemem CMS. Możesz więc łatwo rozpocząć korzystanie z funkcji CMS, a następnie rozwinąć witrynę, dodając niestandardową funkcjonalność za pomocą własnych modułów. W moim przypadku używam go wyłącznie jako ramy, ponieważ w tej chwili funkcje CMS działają tylko z PostgreSQL i nie mogę używać osobnej bazy danych. Ale nawet jako framework oferuje wiele funkcji, które nie zawsze znajdują się w innych frameworkach.
Bardzo fajne jest to, że projekt jest bardzo aktywnie rozwijany, ponieważ osoby odpowiedzialne za Zotonic projektują i wdrażają strony internetowe i używają go jako preferowanego CMS.
Gdybym miał dokonać wyboru, prawdopodobnie dałbym Zotonic pierwszą szansę, potem ChicagoBoss, a potem Nitrogen.