2008-09-18 11 views

Respuesta

18

La mayoría de las personas no codifica la GUI real en Erlang. Un enfoque más común sería escribir la capa de la GUI en Java o C# y luego hablar con su aplicación Erlang a través de un socket o pipe.

Con esto en mente, es probable que desee ver en diversas bibliotecas para hacer RPC entre Java o aplicaciones .Net y 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

EDITAR Si eres realmente establecido en la codificación de una interfaz en erlang, puede considerar hacer una GUI basada en web servida a través de Yaws, el servidor web erlang: http://yaws.hyber.org/appmods.yaws

+0

Esto parece mucho trabajo. : -/ –

+0

Erlang no es el tipo de lenguaje que recomendaría para algo pequeño.Realmente comienza a brillar cuando lo necesita para escalar como loco, o cuando necesita una plataforma que nunca se apaga, incluso cuando actualiza el código. Estos tienden a ser grandes proyectos ya. – bmdhacks

+0

Es solo que lo primero que recomiendo para una biblioteca de GUI para Erlang nunca sería vincularme a Java/C# para mí. :-) Para un gran proyecto, es una opción válida. –

2

no estoy seguro de que hay alguna ... pero me pareció Erlbol en la web, y una X11 GUI que suena interesante, y GTK2 (enlace PDF)

5

Para escribir interfaces gráficas de usuario nativas para Erlang, wxErlang parece ser el la biblioteca más madura hoy (también en SourceForge).

5

Me resulta un poco desconcertante que alguien quiera escribir una GUI para un programa de Erlang en algo que no sea Erlang? El modelo de concurrencia de Erlang lo convierte en un excelente lenguaje para escribir GUI. Los elementos y eventos de la interfaz de usuario se correlacionan perfectamente con los procesos y mensajes de Erlang.

+4

No es que erlang no sea adecuado para una GUI, es porque es tan bueno en las aplicaciones de red y en el envío de mensajes que lleva a las personas a no codificar la interfaz de la interfaz de usuario directamente en el sistema erlang. – bmdhacks

+1

En cambio, las personas generalmente escriben clientes muy delgados que simplemente transmiten pulsaciones de botones u otras interacciones de UI a la aplicación erlang. De esta forma, no tiene que depender de que los usuarios realmente tengan el tiempo de ejecución erlang en su sistema. – bmdhacks

+0

Una vez más, debido a que erlang se usa principalmente para aplicaciones distribuidas del lado del servidor, no ha habido mucho interés en darle una GUI, incluso si es adecuada para la tarea. – bmdhacks

16

Voy a violar la solicitud de 'una opción por publicación', lo siento, pero qué herramienta usar realmente depende de cuáles sean sus prioridades.

Una biblioteca bastante estable es gtkNode. Utiliza una forma simple pero poderosa de asignar todos los widgets de GTK a Erlang, y debe seguir siendo estable en todas las versiones. También funciona bien con el constructor Glade GUI. Es mantenido activamente por el gurú de Erlang Mats Cronqvist, pero es por supuesto el mejor esfuerzo.

WxWidgets es muy prometedor y con suerte se convertirá en la biblioteca principal de GUI para Erlang, pero todavía está en versión beta, y la interfaz aún no es estable y no se han hecho promesas de compatibilidad con versiones anteriores.

Así que si quieres estar un poco en la vanguardia, WxWidgets puede ser lo tuyo. De lo contrario, gtkNode debería darle una interfaz gráfica de usuario atractiva con relativa facilidad y seguridad.

La única biblioteca de GUI admitida oficialmente para Erlang es GS, parte de la versión OTP y se garantiza que funcionará con las próximas versiones. Entonces, si esto es más importante que la apariencia y el tacto nativos y una fachada moderna, puede ser una opción.

25

Para la aplicación GUI en Erlang, debe usar wxErlang que se incluye en la versión r13b. La versión beta ha estado presente en la fuente durante algún tiempo pero ahora, desde r13a, se incluye en la versión principal de OTP.

5

He publicado un tutorial wxErlang en http://wxerlang.dougedmunds.com

+0

Este tutorial requiere una cuenta. WAT. Además, la primera parte del código se genera en C++ sin comentarios sobre el código Erlang equivalente. WAT. ¿Qué sucede si no estoy familiarizado con la API de C++? ¿Qué sucede si no estoy familiarizado con C++? – allyourcode

+0

No estoy seguro de lo que está buscando. No hay C++ en el tutorial, solo Erlang usando wxErlang. –

Cuestiones relacionadas