2008-09-18 12 views

Odpowiedz

18

Większość ludzi nie koduje rzeczywistego GUI w Erlang. Bardziej powszechnym podejściem byłoby napisanie warstwy GUI w Javie lub C#, a następnie rozmowa z aplikacją Erlang przez gniazdo lub potok.

Mając to na uwadze, prawdopodobnie chcesz zajrzeć do różnych bibliotek dla prowadzenia RPC między aplikacjami Java lub .NET i Erlang:

http://weblogs.asp.net/nleghari/archive/2008/01/08/integrating-net-and-erlang-using-otp-net.aspx

http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang

EDIT jeśli jesteś Naprawdę nastawiony na kodowanie interfejsu w erlangu, możesz rozważyć wykonanie internetowego interfejsu GUI obsługiwanego przez Yaws, serwer WWW erlang: http://yaws.hyber.org/appmods.yaws

+0

To brzmi jak dużo pracy. : -/ –

+0

Erlang nie jest językiem, który poleciłbym dla czegoś małego.Naprawdę zaczyna świecić, kiedy potrzebujesz skalować się jak szalony, lub gdy potrzebujesz platformy, która nigdy nie przestanie działać, nawet po uaktualnieniu kodu. To już są duże projekty. – bmdhacks

+0

Po prostu pierwszą rzeczą, która mogłaby zalecić bibliotekę GUI dla Erlanga, nigdy nie byłaby dla mnie link do Java/C#. :-) Jednak w przypadku dużego projektu jest to ważna opcja. –

2

Nie jestem pewien, czy są jakieś ... ale znalazłem Erlbol w internecie, i X11 GUI który brzmi interesująco i GTK2 (link pdf)

5

Do pisania natywne GUI dla Erlang, wxErlang wydaje się być najbardziej dojrzała biblioteka dzisiaj (także na SourceForge).

5

Zastanawiam się, czy ktokolwiek chciałby napisać GUI dla programu Erlang w czymś innym niż Erlang? Model współbieżności Erlanga czyni go doskonałym językiem do pisania interfejsów GUI. Elementy i zdarzenia UI doskonale odwzorowują procesy i wiadomości Erlanga.

+4

Nie chodzi o to, że erlang nie byłby dobrze dopasowany do GUI, ponieważ jest tak dobry w aplikacjach sieciowych i przekazywaniu wiadomości, że odsuwa ludzi od twardego kodowania interfejsu UI bezpośrednio do systemu erlang. – bmdhacks

+1

Zamiast tego, ludzie zazwyczaj piszą bardzo cienkich klientów, którzy po prostu przekazują naciśnięcia przycisków lub inne interakcje interfejsu użytkownika z powrotem do aplikacji erlang. W ten sposób nie musisz polegać na użytkownikach faktycznie posiadających środowisko uruchomieniowe erlang w swoim systemie. – bmdhacks

+0

Ponownie, ponieważ erlang jest najczęściej używany w aplikacjach rozproszonych po stronie serwera, nie było dużego zainteresowania udostępnieniem mu GUI, nawet jeśli jest on dobrze dopasowany do zadania. – bmdhacks

16

Złamię prośbę o "jedną opcję na pocztę" - przepraszam, ale które narzędzie do użycia naprawdę zależy od priorytetów.

Jedna dość stabilna biblioteka to gtkNode. Używa prostego, ale wydajnego sposobu mapowania wszystkich widżetów GTK na Erlang i powinien być stabilny w różnych wydaniach. Działa również dobrze z budowniczym GUI Glade. Jest aktywnie utrzymywany przez guru Erlanga Matsa Cronqvista, ale jest to oczywiście najlepszy wysiłek.

WxWidgets jest bardzo obiecujący i, miejmy nadzieję, stanie się główną biblioteką GUI dla Erlang, ale wciąż jest w wersji beta, a interfejs nie jest jeszcze stabilny i nie ma jeszcze żadnych obietnic zgodności wstecznej.

Więc jeśli chcesz być trochę na krawędzi krwawienia, WxWidgets może być twoją rzeczą. W przeciwnym razie, gtkNode powinien dać Ci dobrze wyglądający graficzny interfejs użytkownika z względną łatwością i bezpieczeństwem.

Jedyną oficjalnie obsługiwaną biblioteką graficzną dla Erlanga jest GS, część wydania OTP i gwarantowana do pracy z nadchodzącymi wersjami. Więc jeśli jest to ważniejsze niż rodzimy wygląd i nowoczesna fasada, może to być opcja.

25

Dla aplikacji GUI w Erlang powinieneś użyć wxErlang, który jest zawarty w wydaniu r13b. Wersja beta jest już dostępna od jakiegoś czasu, ale jest teraz, od r13a, zawarta w głównej wersji OTP.

5

mam napisali poradnik wxErlang w http://wxerlang.dougedmunds.com

+0

Ten samouczek wymaga konta. WAT. Również pierwszy fragment kodu jest generowany w C++ bez komentarza na temat równoważnego kodu Erlang. WAT. Co, jeśli nie znam się na API C++? Co jeśli nie znam C++? – allyourcode

+0

Nie wiesz, gdzie szukasz. W samouczku nie ma C++, Just Erlang używa wxErlang. –

Powiązane problemy