2014-10-10 15 views
27

Là người mới tham gia cả Elixir và tên miền web nói chung (không có kinh nghiệm về khung web) tôi muốn biết, Plug là gì? Theo tôi hiểu nó Cowboy là một máy chủ web (mặc dù trong Erlang, không Elixir) và Phoenix là một khuôn khổ để xây dựng các ứng dụng web, nhưng nơi nào Plug đến? Nó là một lớp trừu tượng giữa hai hoặc có lẽ là một hệ thống plug-in trong cùng lớp trừu tượng như Phoenix?Elixir Plug là gì?

Trả lời

37

Có một lớp trừu tượng giữa hai

các

Vâng, chính xác! Plugin có nghĩa là trở thành bộ điều hợp chung cho các máy chủ web khác nhau. Hiện tại chúng tôi chỉ hỗ trợ Cowboy nhưng có công việc hỗ trợ người khác.

Cắm cũng xác định cách các thành phần khác nhau nên được cắm cùng nhau. Tương tự như Rack trong Ruby, WSGI bằng Python, Ring trong Clojure, v.v.

+0

Ok. Theo như tôi có thể nói WSGI là một đặc tả giao diện. Được cắm giống nhau hay là một thành phần phần mềm thực tế nằm giữa ví dụ: Phoenix và Cowboy? Và các plugin tương tác như thế nào, chúng có được xếp chồng lên nhau không? – stoft

+5

Cắm là * cả *. Nó là thành phần nằm giữa và nó cũng định nghĩa một đặc điểm kỹ thuật. Phích cắm không được xếp chồng lên nhau, nó hoạt động giống như một đường ống dẫn nơi cắm phích cắm ra khỏi kết nối với phích cắm tiếp theo. –