2014-10-10 15 views
27

Jako początkujący zarówno w Elixir, jak i ogólnie w domenie internetowej (bez doświadczenia w środowisku sieciowym), chciałbym wiedzieć, czym jest wtyczka? Jak rozumiem, Cowboy jest serwerem WWW (choć w Erlangu, a nie Elixir), a Phoenix to framework do tworzenia aplikacji internetowych, ale gdzie jest wtyczka? Czy jest to warstwa abstrakcji między tymi dwoma systemami wtyczek lub może być w tej samej warstwie abstrakcji co Phoenix?Co to jest wtyczka Elixir?

Odpowiedz

37

Czy warstwę abstrakcji pomiędzy dwoma

Tak, dokładnie! Wtyczka ma być uniwersalnym adapterem dla różnych serwerów internetowych. Obecnie wspieramy tylko Cowboy, ale jest praca wspierająca innych.

Wtyczka określa również, jak różne elementy powinny być ze sobą połączone. Podobny do Rack w Ruby, WSGI w Pythonie, Ring in Clojure i tak dalej.

+0

Ok. O ile mogę powiedzieć WSGI jest specyfikacją interfejsu. Czy wtyczka jest taka sama, czy jest to rzeczywisty komponent oprogramowania, który znajduje się między np. Phoenix i Cowboy? A w jaki sposób wtyczki wchodzą w interakcje, czy są ułożone w stos? – stoft

+5

Wtyczka to * oba *. Jest to komponent, który znajduje się pomiędzy, a także definiuje specyfikację. Wtyczki nie są układane w stos, działa to bardziej jak rurociąg, w którym wtyczka odłącza połączenie z następną wtyczką. –