Po przeczytaniu książki Joe Armstronga i obejrzeniu screencastów Kevina Smitha, stworzyłem prostą aplikację OTP składającą się z jednego serwera gen_ i pojedynczego nadzorcy, połączonego razem jako aplikacja OTP.Kiedy używać serwera gen_server w aplikacjach Erlang/OTP
Teraz patrzę na mochiweb i stworzyłem przykładowy projekt [hellow world] przy użyciu skryptu new_mochiweb.erl. Przeglądanie kodu źródłowego Widzę, że nie różni się od mojej przykładowej aplikacji OTP [aplikacja OTP tam jest, nadzorca tam jest] z jedną kluczową różnicą .. wygenerowane pliki helloworld.erl i helloworld_web.erl nie implementują zachowania gen_server, są tylko standardowymi modułami Erlanga.
Miałem wrażenie, że używanie gen_server było zalecanym sposobem działania podczas budowania komponentów aplikacji OTP. Dlaczego mochiweb może używać aplikacji OTP i zachowań nadzorcy, ale unika serwera gen_?
Aplikacja stdlib jest aplikacją OTP. Po uruchomieniu nie ma żadnych działających części. Jest to prosta aplikacja biblioteki, tam dla modułów, które ładuje, więc inne aplikacje OTP mogą na nim polegać, aby uzyskać wszystkie swoje moduły. Nadal istnieją powody, by używać OTP, gdy tylko wprowadzamy moduły. – Christian
Twoje prawo, byłem nieco kiepski w moim języku ... Powinieneś spakować cały swój kod w normalny sposób za pomocą OTP używając katalogów i innych rzeczy - ale czasami właściwym rozwiązaniem jest tylko odradzanie czegoś zamiast korzystania z serwera gen_server na początek. –