Кто-либо использовал Lua для создания веб-приложения? [закрытый]

7
задан TeddyK 12 January 2010 в 03:48
поделиться

6 ответов

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

Например, Nanoki , HTTP и Wiki Engine разработан в чистом LUA.

или Спутник, который построит сверху Кеплера.

Это сказано, что Луа очень много, хммм, «сделай это сами» вроде окружающей среды.

2
ответ дан 6 December 2019 в 08:14
поделиться

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

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

http://luanova.org/ имеет ряд хороших постов в веб-разработке в Луа.

2
ответ дан 6 December 2019 в 08:14
поделиться

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

8
ответ дан 6 December 2019 в 08:14
поделиться

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

Для тех, кто использует lighttpd в качестве веб-сервера (включая меня), добавлен бонус в том, что вся мощь Lua доступна для скриптов mod_magnet, полезных для синхронной обработки запросов/rewriting-on-steroids.

6
ответ дан 6 December 2019 в 08:14
поделиться

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

Предположим, что программа была написан правильно, скомпилирован с полным оптимизация, тестирование и внедрение производство.

По моему опыту, программа может быть написана правильно, но это не значит, что она почти оптимальна. Требуется дополнительная работа, чтобы добраться до этого момента.

Если я могу привести пример, этот ответ показывает, как совершенно разумная программа была сделана более чем в 40 раз быстрее с помощью макрооптимизации . Большие скорости не могут быть сделаны в каждой программе, как впервые написано, но во многих (кроме очень маленьких программ), это может, по моему опыту.

После этого микрооптимизация (горячих точек) может дать вам хорошую отдачу.

-121--685210-

Я обнаружил, что сначала ограниченные контексты и совокупные корни казались самым простым понятием в DDD. Это до тех пор, пока вы не придете к реализации приложения с реальной проблемой. Здесь нет простого ответа. Это полностью зависит от требований бизнеса (масштабируемость, доступность, задержка, согласованность и т.д.). «Правильное» решение - это решение, которое уравновешивает эти проблемы, чтобы наилучшим образом соответствовать вашим потребностям.

На приведенном примере имеется несколько вариантов:

  • Один большой ограниченный контекст
  • Отдельные ограниченные контексты, с дублированными данными (возможно, реализованными с помощью системы сообщений публикации/подписки)
  • Извлекать пользователей и элементы каталога в свой собственный ограниченный контекст и иметь другие ограниченные контексты доступа к ним через сервис

Одна вещь, чтобы иметь в виду, что запросы потребности часто очень Часто можно упростить конструкцию приложения, чтобы иметь отдельные ограниченные контексты исключительно для запроса. Если это звучит так, как будто это возможно, посмотрите на CQRS.

-121--2485369-

lighttpd и mod _ magnet являются действительно отличной платформой, но я рекомендую вам сначала взглянуть на Kepler Project . Это прекрасное начало.

Вы можете использовать фон PHP/Java.

0
ответ дан 6 December 2019 в 08:14
поделиться

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

4
ответ дан 6 December 2019 в 08:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: