Я недавно запустил новый проект веб-разработки для встроенного устройства и хотел ходатайствовать перед некоторыми рекомендациями о технологиях для использования. Устройство будет служить страницам HTML, которые включают код Ajax для получения данных из сервера JSON. Мы предварительно используем язык чероки в качестве веб-сервера, хотя мы не связываемся с ним.
В настоящее время я рассматриваю следующие технологии:
Запишите все это в PHP. Я знаю, что это является большим, медленным, и чрезмерно увеличенное в размере, но у меня есть приблизительно 10 МБ, доступных для веб-интерфейса (много для встроенной системы), и мы не будем видеть большой трафик ни в одном из этих устройств. Это действительно должно казаться быстро реагирующим для пользователей, однако (страницы должен загрузиться в меньше, чем секунда).
FastCGI + программа C - Мы используем базу данных в оперативной памяти, таким образом, программа C могла взаимодействовать с базой данных непосредственно через API. Это имело бы намного лучшую производительность, чем PHP, но время разработки и надежность являются беспокойством, так как C не является очень подходящим для веб-разработки.
Lua + Kepler - Это походит на хороший компромисс между производительностью и время разработки. Однако я никогда не работал с Lua, таким образом, я не действительно уверен, как реализовать его во встроенном веб-проекте. Я также не уверен относительно того, как хорошо это интегрируется с веб-сервером чероки.
Так какие-либо мнения или прошлые опыты с вышеупомянутыми установленными технологиями? Какие-либо другие я должен включать в список?
Спасибо, Alex
Когда я был в этой области, я использовал Lua и простой бегун FastCGI ( Luaetta [поскольку я уверен, что последний источник будет доступен, если вы спросили этого парня], хотя я также уверен, что это не единственный, и, конечно, есть Кеплер), созданный lighttpd.
Он достаточно хорошо работал со встроенным медиаплеером и использовался для удаленного доступа к контенту и управления устройством. Хотя я больше не поддерживаю его, вы можете найти больше об этом на http://matthewwild.co.uk/projects/wooble . Если вы думаете, что источник может помочь, просто подтолкните меня к нему, в настоящее время он доступен только через диспетчер пакетов, но я могу исправить это, учитывая мотивацию.
Другой (снова Lua) проект в этой области - LuCI . Эти ребята посвятили себя созданию веб-интерфейса для встраиваемых устройств (в частности, маршрутизаторов) и создали хорошую платформу с множеством вспомогательных библиотек, ориентированных на такую систему.
Меня бы не беспокоило незнание Lua. Если вы знаете какой-либо язык, вы можете освоить Lua через день или два, руководство документирует весь язык и довольно короткое.
Как насчет того, чтобы взглянуть на HipHop, PHP-компилятор Facebook?
https://github.com/facebook/hiphop-php/wiki
Таким образом, вы можете написать свой код на PHP и эффективно скомпилировать его на C ++.
ASP.NET. Предполагая, что вас не интересует Embedded Windows Server 2008 , вы все равно можете использовать ASP.NET, включив Mono в Cherokee . Вы можете использовать Visual Studio в качестве среды разработки RAD и использовать такие вещи, как ASP.NET MVC 2 . Многие сторонние пользовательские элементы управления также будут «просто работать» с Mono ( Telerik объявляет о поддержке своих элементов управления ASP.NET на Mono! ).