Kerangka kerja web apa yang layak untuk pemrograman fungsional? [Tutup]


26

Saya ingin melakukan pemrograman web menggunakan pemrograman fungsional. Kerangka kerja web apa yang ada untuk bahasa pemrograman fungsional?


1
Saya tahu ini bukan yang Anda minta, tetapi Javascript yang dikombinasikan dengan Underscore.js mendukung gaya pemrograman fungsional dengan sangat baik.
user16764

Jawaban:


6

Angkat adalah kerangka kerja yang menarik untuk Scala. Keuntungan praktis dari Scala adalah dapat menggunakan perpustakaan Java yang ada.


11

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.



8

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.



3

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.


Tautan codeplex rusak, harusnya fswebtools.codeplex.com
Robert Harvey

Memperbaiki, saya akan mengetik> mulai sekarang karena tombol tidak berfungsi dengan benar.
Tamara Wijsman

2

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.


Ya, saya suka Erlang dan Yaws, tapi saya mencari kerangka kerja yang layak.
Jonas

1

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 ...

0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.