Кто-нибудь использовал Lua для создания веб-приложения?

У меня есть опыт работы с Java и PHP для создания веб-приложений.

Кто-нибудь использовал Lua раньше для создания веб-приложений?

Вопрос: Если да, каковы плюсы и минусы использования Lua по сравнению с PHP или Java для веб-приложения? (например, поддержка веб-сервера, производительность, обслуживание кода и т. д.).


person TeddyK    schedule 12.01.2010    source источник
comment
Это означает, что Lua кажется идеальным балансом между Python и Ruby.   -  person TeddyK    schedule 12.01.2010
comment
Что ж, думаю, это прилично lua-users.org/wiki/LuaVersusPython   -  person Hamish Grubijan    schedule 12.01.2010
comment
Так что Lua лучше для веб-приложений, чем PHP? Если да, то почему?   -  person TeddyK    schedule 12.01.2010
comment
См. здесь привязки к серверу: сервер для веб-разработки на lua"> stackoverflow.com/questions/1166684/   -  person Alexander Gladysh    schedule 12.01.2010
comment
Ответы устарели, взгляните на lua-users.org/wiki/LibrariesAndBindings для получения дополнительной информации. актуальная информация.   -  person develCuy    schedule 28.07.2014
comment
Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что это опрос об опыте разработчиков, а не вопрос о программировании.   -  person Kyll    schedule 17.01.2016


Ответы (7)


Как уже упоминалось, Lua - это среда "сделай сам". Кроме того, он очень быстрый и эффективно использует память по сравнению с Perl/PHP/Python/Ruby, особенно если вы используете LuaJIT. И его очень легко интегрировать с кодом C/C++. Обычно эти моменты не имеют значения для типичного веб-приложения, производительность которого обычно ограничивается базой данных. Также там, где вас не волнует интеграция с C/C++ и где вы действительно не хотите делать что-то самостоятельно, а хотите строить поверх существующих фреймворков. По этой причине я не думаю, что Lua подходит для типичных веб-приложений. В то же время есть несколько нишевых приложений, в которых Lua сияет. Например, наша компания специализируется на создании высокопроизводительных HTTP-серверов, используемых для показа рекламы. Итак, мы используем собственный HTTP-сервер, написанный с нуля на C++, который интегрирует Lua в качестве языка сценариев для нашей бизнес-логики. Это позволяет нам быстро настраивать бизнес-логику в Lua по сравнению с тем, что нам приходилось делать, если бы это был чистый C++. В то же время у нас всегда есть возможность делать критичные для производительности части на C++. Уверены, что если бы мы использовали любой другой язык сценариев, он был бы медленнее, использовал бы больше памяти и, как правило, его было бы сложнее интегрировать с кодом C++. В то же время нас не очень волнует потеря обширной поддержки библиотек, если мы используем другие языки сценариев, поскольку область, в которой мы работаем, довольно специализирована, поэтому обычно эти библиотеки в любом случае не имеют отношения к ней.

person Ilya Martynov    schedule 12.01.2010

Я использую Lua прямо сейчас для создания веб-приложения! Что бы ни случилось с разработчиками ПО, которые "сделай сам" получили дурную славу - поленились, отучились на раздутых мегабайтах библиотек поддержки, что ли? На самом деле, как указывали другие, есть достойная поддержка, но, скажем, не в масштабе Python. Lua безусловно является самым быстрым скриптовым языком (особенно с учетом www.luajit.org) и гораздо, намного чище с точки зрения дизайна языка, чем любой другой в своей лиге. . Это очень важно для долгосрочного обслуживания.

Для тех, кто использует http://lighttpd.net в качестве своего веб-сервера (включая меня), дополнительным бонусом является то, что вся мощь Lua доступна для < скрипты href="http://redmine.lighttpd.net/wiki/1/Docs:ModMagnet" rel="nofollow noreferrer">mod_magnet, полезные для синхронной обработки запросов/перезаписи на стероидах.

person asmarino    schedule 12.01.2010
comment
Нет ничего плохого в том, чтобы сделать это самостоятельно, но если вам нужно реализовать все самостоятельно, вам придется потратить много времени на эти вещи, а, как мы все знаем, время - деньги. Существует также проблема, заключающаяся в том, что вам необходимо учитывать многие проблемы безопасности, с которыми библиотеки справляются за вас, но взамен вы можете немедленно отреагировать, если есть ошибка, что не всегда имеет место в библиотеке - вы часто надо ждать пока обновится. - person Michael Madsen; 12.01.2010
comment
Дизайн Lua чище? Я отказался от учебника Lua после того, как узнал, что он похож на Python, но синтаксис не такой читаемый. Кстати, Google делает реализацию Python на C++, которая должна работать в 5 раз быстрее. - person Hamish Grubijan; 12.01.2010
comment
Lua vs Python. Фильм в 11. - person Norman Ramsey; 13.01.2010

Я запрограммировал несколько веб-сайтов на Lua. Первым был планировщик рейдов для моей гильдии World of Warcraft (часто так начинают программировать на Lua...). Для этого я использовал mod_lua с альфа-версией Apache 2.4. Два других сайта представляли собой небольшие конкурсы для клиентов, разработанные с помощью WSAPI, Nginx, Spawn-fcgi и Orbit. Эта установка чертовски быстрая, быстрее, чем mod_lua и все, что я видел. Страницы будут отображаться мгновенно, как если бы они были в кеше! Опыт был очень приятным, и Lua делает вас быстро продуктивным. Но вам лучше быть хорошо организованным. Lua не хватает многих батарей, когда дело доходит до веб-разработки, поэтому вам часто приходится реализовывать свои собственные, и это может стать грязным. Поэтому я предлагаю вам спланировать, что вам понадобится, прежде чем начать. Я использовал свой собственный Lua «ORM» с MySQL и разветвленную версию Lua Pages для шаблонов. Посмотрите здесь, если вы хотите попробовать Lua+Wsapi+Nginx: http://mascarenhas.github.com/2009/10/24/wsapi-nginx-fcgi.html Я думаю, что это лучшая установка.

person golgote    schedule 13.01.2010

Существует довольно много проектов, использующих Lua для веб-разработки.

Например, Nanoki, механизм HTTP и вики, разработанный на чистом Lua.

Или спутник, построенный на базе Кеплера.

Тем не менее, Lua — это, хммм, среда типа «сделай сам».

person PA.    schedule 12.01.2010

Плюсы: быстрая, компактная, элегантная, легко сделать собственную привязку к библиотеке C.

Минусы: иногда вам приходится писать собственные библиотеки для вещей, которые вы могли бы получить бесплатно в Python.

http://luanova.org/ содержит ряд хороших публикаций о веб-разработке на Lua.

person qaramazov    schedule 12.01.2010


Мы с большим успехом используем lua для нашей серверной реализации. Вы также можете взглянуть на веб-интерфейс JUCI для встроенных устройств. Он использует lua для реализации бэкенда. Вы можете посмотреть, как код взаимодействует с бэкендом lua/C: https://github.com/mkschreder/juci< /а>

Однако обратите внимание, что этот бэкэнд является чистым бэкендом jsonrpc, поэтому он не создает никаких html-страниц, таких как php или cgi. Lua идеален, если все, что вы делаете, это обрабатываете и отвечаете на запросы json. Вы также можете иметь основное приложение на php и использовать lua для написания приложения на бэкэнде. Или основное приложение полностью на javascript.

Я думаю, что если вы собираетесь использовать lua там, где вы хотите генерировать html, то вы обнаружите, что ему не хватает многих функций, но если вы ограничите его чисто функциональной бэкенд-реализацией, вы обнаружите, что он работает очень хорошо.

person user2826084    schedule 17.01.2016
comment
Спасибо за ответ и вклад в переполнение стека, однако, пожалуйста, еще раз взгляните на вопрос, поскольку он кажется не по теме в соответствии с справочный центр. Отвечая на вопрос не по теме, создайте впечатление, что задавать такие вопросы нормально — это не так. Вопросы не по теме могут быть закрыты, а затем удалены, что сведет на нет ваш вклад! - person Kyll; 17.01.2016