2010-06-28 2 views
5

Недавно я начал новый проект веб-разработки для встроенного устройства и хотел запросить рекомендации по использованию технологий. Устройство будет обслуживать HTML-страницы, которые включают AJAX-код для извлечения данных с сервера JSON. Мы ориентировочно используем Cherokee в качестве веб-сервера, хотя мы не привязаны к нему.Веб-технологии для встроенного сервера

В настоящее время я рассматриваю следующие технологии:

  • Написать все это в PHP. Я знаю, что он большой, медленный и раздутый, но у меня есть около 10 МБ для веб-интерфейса (много для встроенной системы), и мы не увидим много трафика на любом из этих устройств. Однако он должен выглядеть отзывчивым для пользователей (страницы должны загружаться менее чем за секунду).

  • Программа FastCGI + a C. Мы используем базу данных в памяти, поэтому программа C может взаимодействовать с базой данных непосредственно через API. Это будет иметь гораздо лучшую производительность, чем PHP, но время разработки и надежность являются проблемой, поскольку C не очень хорошо подходит для веб-разработки.

  • Lua + Kepler - Это похоже на приятную промежуточную точку между производительностью и временем разработки. Тем не менее, я никогда не работал с Lua, поэтому я не уверен, как реализовать его во встроенном веб-проекте. Я также не уверен, насколько хорошо он интегрируется с веб-сервером Cherokee.

Так что любые мнения или прошлый опыт использования вышеуказанных технологий? Любые другие, которые я должен включить в список?

Спасибо, Alex

ответ

9

Когда я был в этой области, я использовал Lua и простой бегун FastCGI (Luaetta [поскольку я уверен, что последний источник будет доступен, если вы спросите парня], хотя я также уверен, что это не единственный один, и есть Кеплер, конечно), порожденный lighttpd.

Он достаточно хорошо работал на встроенном медиаплеере и использовался для удаленного доступа к контенту и управления устройством. Хотя я больше не поддерживаю его, вы можете узнать больше об этом на http://matthewwild.co.uk/projects/wooble. Если вы считаете, что источник поможет мне просто подтолкнуть меня, он доступен только через диспетчер пакетов, но я могу исправить это с учетом мотивации.

Другой (снова Lua) проект в этой области - LuCI. Эти ребята предназначены для создания веб-интерфейса для встроенных устройств (в частности, для маршрутизаторов) и создали отличную инфраструктуру с множеством поддерживающих библиотек, ориентированных на эту систему.

Я бы не заботился о том, чтобы не знать Луа.Если вы знаете какой-либо язык, то вы можете забрать Lua через день или два, руководство документирует весь язык и довольно короткое.

+0

Спасибо за поддержку. У меня есть Lua, работающий с моей настольной установкой Cherokee, но я немного потерял, как получить WSAPI/Kepler (сайт даже не очень ясен относительно того, что именно он). – okalex

0

Как насчет глядя на HipHop, PHP компилятор Facebook,?

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

Таким образом, вы можете написать свой код в PHP и эффективно скомпилировать его на C++.

+0

Я действительно был в восторге от HipHop, когда впервые прочитал об этом, но он быстро соскользнул с моего ума. Интересная идея и, безусловно, заслуживает внимания. Вы когда-нибудь успешно использовали его в проекте? – okalex

+0

@Alex. Нет, нет, но это на моем радаре для возможного использования в нескольких проектах. Я понятия не имею, подходит ли он для использования в качестве встроенного веб-сервера, но стоит посмотреть. –

-1

ASP.NET. Предполагая, что вас не интересует Embedded Windows Server 2008, вы все равно можете использовать ASP.NET, включив Mono into Cherokee. Вы можете использовать Visual Studio в качестве среды разработки RAD и использовать такие вещи, как ASP.NET MVC 2. Многие сторонние пользовательские элементы управления также «работают» с Mono (Telerik Announces Support for their ASP.NET controls on Mono!).

+0

Спасибо за быстрый ответ, но это было бы за бортом за наши нужды. Приложение, которое я создаю, представляет собой довольно простой пользовательский интерфейс для контроля и управления оборудованием. На полузависимой ноте я нахожу загадочным, что для Windows Embedded Server требуется как минимум 1,4 ГГц процессор, 512 МБ ОЗУ и 10 ГБ дискового пространства :) – okalex

+0

Я думал, что это, вероятно, будет излишним, но не удержаться. И да, часть «Embedded» в большинстве Windows Embedded действительно связана только с одной целью и снижает стоимость лицензирования. Хотя, снижение стоимости связано с тем, чего вы ожидаете. :-D –

Смежные вопросы