Saya ingin melakukan pemrograman web menggunakan pemrograman fungsional. Kerangka kerja web apa yang ada untuk bahasa pemrograman fungsional?
Saya ingin melakukan pemrograman web menggunakan pemrograman fungsional. Kerangka kerja web apa yang ada untuk bahasa pemrograman fungsional?
Jawaban:
Angkat adalah kerangka kerja yang menarik untuk Scala. Keuntungan praktis dari Scala adalah dapat menggunakan perpustakaan Java yang ada.
Ada banyak lagi (bahkan saya sedang mengembangkan satu di F #) tapi saya pikir ini (dan Angkat, sudah disebutkan) adalah yang paling lengkap / populer / didokumentasikan. Saya tidak bisa mengomentari kerangka kerja Erlang.
Ada daftar kerangka kerja web yang tersedia untuk Erlang. Ringkas daftar itu di sini:
Dari dua yang paling menarik bagi saya adalah webmachine dan nitrogen . YMMV.
Noir cantik, fungsional, dan sederhana (dalam artian " Simple Made Easy " Rich Hickey )
(defpage "/welcome" []
"Welcome to Noir!")
(server/start 8080)
Saya terutama menyukai cara Anda kemudian dapat membangun seluruh aplikasi web Anda hanya menggunakan komposisi fungsi, didukung dengan beberapa makro untuk mengaktifkan DSL deklaratif yang bagus.
Compojure adalah kerangka kerja sumber terbuka untuk bahasa pemrograman Clojure.
Karena Anda telah menghilangkan bahasa apa pun dari pertanyaan, saya kira Anda menerima beberapa bahasa ...
Jadi untuk bahasa F # ada FSharp.WebTools .
F # Web Tools menambah distribusi F # dengan alat-alat untuk membuat aplikasi web klien / server / database yang homogen dalam satu jenis proyek yang diperiksa. Perbedaan modal antara klien dan server diperiksa melalui penggunaan alur kerja F #, dan LINQ dapat digunakan untuk akses database. Pada versi pertama, bagian aplikasi secara dinamis disajikan sebagai JavaScript. Ekstensi yang direncanakan termasuk melayani bagian sisi klien sebagai kode Silverlight.
Saya sarankan melihat ke Erlang dan frambusia . Erlang adalah bahasa pemrograman fungsional yang ringan dengan serangkaian fitur, perpustakaan yang bagus, dan komunitas pengembangan yang aktif. Frambusia efisien dan dirawat dengan baik.
Snap adalah kerangka kerja web yang bagus dan sangat cepat untuk Haskell.
kerangka pengembangan web sederhana untuk sistem unix, ditulis dalam bahasa pemrograman Haskell. Snap memiliki tingkat cakupan tes yang tinggi dan terdokumentasi dengan baik. Fitur termasuk:
- Pustaka server HTTP cepat
- Monad yang masuk akal dan bersih untuk pemrograman web
- Sistem templating berbasis HTML untuk menghasilkan halaman ...
Ada perbandingan kerangka kerja Erlang di Github:
https://github.com/evanmiller/ChicagoBoss/wiki/Comparison-of-Erlang-Web-Frameworks
Saya belum bermain dengan semua kerangka kerja yang tercantum di sana jadi saya tidak ingin menilai, tetapi saya telah menggunakan Zotonic secara luas dalam proyek saya saat ini dan saya dengan sepenuh hati dapat merekomendasikannya. Sejauh yang saya tahu itu satu-satunya kerangka kerja Erlang yang tidak hanya kerangka tetapi juga CMS full-blown. Jadi Anda dapat mulai dengan mudah hanya dengan fitur CMS dan kemudian perluas situs web dengan menambahkan fungsionalitas khusus menggunakan modul Anda sendiri. Dalam kasus saya, saya menggunakannya murni sebagai kerangka kerja karena pada saat ini fitur CMS hanya berfungsi dengan PostgreSQL dan saya tidak dapat menggunakan database terpisah. Tetapi bahkan sebagai kerangka kerja ia menawarkan banyak fitur yang tidak selalu ditemukan dalam kerangka kerja lain.
Apa yang sangat baik adalah bahwa proyek ini sedang dikembangkan secara sangat aktif karena orang-orang di belakang Zotonic merancang dan mengimplementasikan situs web dan mereka menggunakannya sebagai CMS pilihan mereka.
Jika saya harus memilih maka saya mungkin akan memberi Zotonic kesempatan pertama, kemudian ChicagoBoss, dan kemudian Nitrogen.