2010-06-28 17 views
5

Recientemente comencé un nuevo proyecto de desarrollo web para un dispositivo incorporado y quería solicitar algunas recomendaciones sobre el uso de las tecnologías. El dispositivo servirá páginas HTML que incluyen código AJAX para recuperar datos de un servidor JSON. Estamos tentativamente utilizando Cherokee como servidor web, aunque no estamos atados a él.Tecnologías web para un servidor incrustado

Actualmente, estoy considerando las siguientes tecnologías:

  • escribirlo todo en PHP. Sé que es grande, lento e hinchado, pero tengo 10MB disponibles para la interfaz web (mucho para un sistema integrado), y no veremos mucho tráfico en ninguno de estos dispositivos. Sin embargo, debe parecer receptivo para los usuarios (las páginas se deben cargar en menos de un segundo).

  • Programa FastCGI + a C - Estamos utilizando una base de datos en memoria, por lo que el programa C podría interactuar directamente con la base de datos a través de la API. Esto tendría un rendimiento mucho mejor que PHP, pero el tiempo de desarrollo y la fiabilidad es una preocupación, ya que C no es muy adecuado para el desarrollo web.

  • Lua + Kepler - Esto parece ser un buen término medio entre el rendimiento y el tiempo de desarrollo. Sin embargo, nunca he trabajado con Lua, así que no estoy seguro de cómo implementarlo en un proyecto web incorporado. Tampoco estoy seguro de qué tan bien se integra con el servidor web Cherokee.

¿Alguna opinión o experiencia pasada con las tecnologías mencionadas anteriormente? ¿Hay otros que deba incluir en la lista?

Gracias, Alex

Respuesta

9

Cuando estaba en esta área, utilicé Lua y un simple corredor FastCGI (Luaetta [porque estoy seguro de que la última fuente estaría disponible si le preguntaras al tipo], aunque también estoy seguro de que no es el único uno, y está Kepler, por supuesto), generado por lighttpd.

Funcionó bastante bien en un reproductor multimedia incrustado, y se utilizó para acceder de forma remota al contenido y controlar el dispositivo. Aunque no lo mantengo más, puede encontrar más información al http://matthewwild.co.uk/projects/wooble. Si crees que la fuente me ayudaría solo a presionarme, actualmente solo está disponible a través de un administrador de paquetes, pero puedo solucionarlo dada la motivación.

Otro proyecto (de nuevo Lua) en esta área es LuCI. Estos chicos están dedicados a hacer una interfaz web para dispositivos integrados (enrutadores específicamente), y han producido un buen marco con muchas bibliotecas de soporte orientadas a ese tipo de sistema.

No me preocuparía no saber Lua.Si conoce algún idioma, puede elegir Lua en uno o dos días, el manual documenta todo el idioma y es bastante breve.

+0

Gracias por el estímulo. Ahora tengo a Lua trabajando con mi instalación Cherokee de escritorio, pero estoy un poco perdido en cuanto a cómo poner en marcha WSAPI/Kepler (el sitio web aún no está muy claro sobre qué es exactamente). – okalex

0

¿Qué hay de mirar HipHop, PHP compilador de Facebook?

http://wiki.github.com/facebook/hiphop-php/

De esta manera se puede escribir el código en PHP y efectivamente compilar en C++.

+0

Estaba realmente entusiasmado con HipHop cuando lo leí por primera vez, pero rápidamente se me escapó de la mente. Una idea interesante y ciertamente digna de consideración. ¿Alguna vez lo usaste con éxito en un proyecto? – okalex

+0

@Alex. No, no, pero está en mi radar para su posible uso en un par de proyectos. No tengo idea si es adecuado para usar como un servidor web incorporado, pero vale la pena mirarlo. –

-1

ASP.NET. Suponiendo que no esté interesado en Embedded Windows Server 2008, aún puede aprovechar ASP.NET incorporando Mono into Cherokee. Podría aprovechar Visual Studio como su entorno de desarrollo RAD y usar cosas como ASP.NET MVC 2. Muchos controles de usuarios de terceros también 'solo funcionarán' con Mono (Telerik Announces Support for their ASP.NET controls on Mono!).

+0

Gracias por la respuesta rápida, pero esto sería demasiado para nuestras necesidades. La aplicación que estoy creando es una interfaz de usuario bastante simple para monitorear y controlar el hardware. En una nota semi-relacionado, me resulta desconcertante que el servidor Windows Embedded requiere un mínimo de CPU de 1,4 GHz, 512 MB de RAM y 10 GB de espacio en disco :) – okalex

+0

pensé que probablemente sería una exageración, pero no pudo resistir. Y sí, la parte 'Embedded' en la mayoría de Windows Embedded está realmente relacionada con un solo propósito y con un costo de licencia reducido. Sin embargo, las reducciones en el costo son más o menos lo que esperarías. :-D –

Cuestiones relacionadas