Lua против PHP/Python/JSP/etc [закрыто]


Я собираюсь начать свой следующий проект веб-разработки и хотел бы услышать о достоинствах Lua в пространстве веб-разработки.

Как Lua сравнивается с PHP/Python/JSP/и т. Д. Для веб-разработки?

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

Author: RBerteig, 2009-08-20

6 answers

Вкратце:

  • Lua дает вам меньшую, более простую систему, которую вы можете понять во всей ее полноте, но она находится в гораздо меньшей экосистеме; Кеплер - это все, что вы получаете, и вам, вероятно, придется создавать что-то свое. Я нахожу это легким и забавным (я активно использую привязки Lua к анализатору экспатов и объектной модели Lua, которые являются частью Kepler), но другие могут предпочесть использовать то, что все остальные с помощью.

  • PHP начинался скорее как макропроцессор, чем язык, и хотя с годами он улучшился, когда люди говорят: "X действительно стал намного лучше", я склонен опасаться X. Я нахожу PHP выводящим, но существует огромная экосистема для веб-разработки.

  • Python - хороший язык, но намного больше, чем Lua, и находится в процессе серьезной ревизии (переход с 2.5 на 3.x). Снова вы получаете большой экосистема; проблема, с которой я сталкиваюсь с Python, заключается в том, что язык и система слишком велики, чтобы один человек мог понять все . Мне не нравится быть в такой ситуации, если я не должен.

  • Ruby - это немного более чистый языковой дизайн, и большая экосистема Rails является победителем. Ruby менее сложен, чем Python, но более сложен, чем Lua. Рельсы - это что-то вроде зверя.

Все сводится к следующему вопросу:

  • Не могли бы вы скорее поймите все программное обеспечение в вашей системе, даже если вам придется многое создавать самостоятельно?

  • Или вы предпочли бы, чтобы для вас уже было построено много вещей, даже если вы в конечном итоге не понимаете, как именно работает каждая деталь?

Если вы хотите все понять, Lua - это ваша игра. Если вы хотите, чтобы для вас уже было создано много вещей, я не могу посоветовать вам, как выбрать PHP/Python/JSP/Rails и так далее.

Подробнее о Lua и Python в Какой язык лучше использовать, Lua или Python?

 19
Author: Norman Ramsey, 2017-05-23 12:16:55

Использование Lua для веб-разработки встречается довольно редко...вы могли бы сделать это, но это займет намного больше времени, чем использование языка, который сформировался как язык веб-разработки (PHP) или имеет хорошие веб-библиотеки (python/ruby/и т. Д.). Если вы используете Lua, это означает, что вы можете в конечном итоге "воссоздать колесо" для того, что может быть легко доступно на зрелых веб-языках.

Лучший вопрос заключается в том, что предлагает Lua, что вам нужно, чего нет в другом языки, которые вы перечислили? Или вы хотите помочь Lua стать лучшей платформой веб-разработки, создав платформу Lua MVC, как это сделали Rails для Ruby?

 7
Author: Glitz, 2010-12-12 10:48:00

Проект Kepler , вероятно, является наиболее известной отправной точкой для разработки веб-приложений в Lua. У них есть список рассылки , в архивах которого будет много дискуссий о достоинствах различных подходов.

Сайт Kepler сам построен в рамках CMS под названием Спутник, написанный почти полностью на Lua и основанный на проекте Kepler.

Типичный подход с Lua заключается в использовании языка, подходящего для взаимодействия с различными системами компоненты для реализации этих интерфейсов и использования Lua для бизнес-логики и клея. Kepler предоставляет библиотеки, написанные в основном на C, которые предоставляют доступ к файловым системам, базам данных и сети для кода Lua. Он также предоставляет определенный уровень API для взаимодействия с веб-сервером, с реализациями для Apache, любого сервера, поддерживающего CGI, и Xavante, который является полноценным веб-сервером, реализованным в основном на Lua.

 4
Author: RBerteig, 2009-08-20 00:22:01

Я немного опаздываю... но я хотел добавить другой язык: хакСе

Почему?

  1. Haxe - это язык с открытым исходным кодом, управляемый довольно небольшим, но активным сообществом

  2. Haxe - это независимый от платформы язык... целями являются:

    • flash player 6-8 и 9-10 байт-код или исходный код ActionScript 3
    • Исходный код JavaScript
    • Исходный код PHP
    • Байт-код NekoVM или исходный код Neko (NekoVM - это легкая и расширяемая виртуальная машина, подходящая как для разработки серверов, так и для настольных приложений)
    • Исходный код C++
    • В настоящее время ведется работа над исходным кодом Java для Android

    Это означает, что как веб-разработчик вы можете писать как расширенные клиенты, так и серверы на одном языке... тот же код может быть позже повторно использован для настольных/мобильных приложений

  3. хакСе - очень выразительный и мощный язык, отличающийся:
    • функции первого класса (анонимные функции и методы, которые одинаковы в haXe) и замыкания, а также перечисления с параметрами (во многом похожими на алгебраические типы), которые позволяют использовать функциональные подходы
    • хорошая система типов, включая универсальные типы, структурные подтипы и т. Д.... Для упрощения ее использования компилятор имеет очень полезный вывод типа, который гарантирует, что код строго типизирован, но экономит много избыточности (тип переменной определяется инициализацией, тип возвращаемой функции по типу возвращаемых выражений) ...
    • кроссплатформенный API, включающий все, от динамических массивов, до отражения/самоанализа и пакета удаленного взаимодействия, который позволяет отправлять целые объекты с клиента на сервер, с одной платформы на другую...
    • последовательный и радикальный языковой дизайн... конечно, у него есть несколько недостатков, но они в основном связаны с тем фактом, что он нацелен на совершенно разные платформы...
  4. девушкам это нравится, и это сделает тебя по-настоящему богатым... :D

Самый большой недостаток haXe заключается в том, что он допускает нетипизированное кодирование за счет специфичного для платформы выполнения нетипизированного кода... при правильной типизации (что на самом деле не так много работы с haXe) код будет выполняться одинаково на всех платформах... если нет, результат зависит от обработки самой платформы во время выполнения...

Короче говоря, это отличный язык, который позволяет вам ориентироваться на многие платформы... он молод, он растет, и вы можете принять в нем участие ...

Гретц

Back2dos

 3
Author: back2dos, 2009-08-24 22:40:17

Если дело только в языке, то я согласен с Норманом. Если для вас важна платформа веб-разработки, то вам следует рассмотреть Ruby, потому что RoR - очень зрелая платформа. Я люблю Python, но, похоже, есть довольно много фреймворков на выбор, ни один из них не является доминирующим. CherryPy, Django, Пилоны, web2py, Zope 2, Zope 3 и т.д. Одним из важных показателей для меня является то, что на рынке больше рабочих мест RoR, чем на любом другом (язык, структура).

 1
Author: grokus, 2010-01-05 19:31:58

Что касается веб-фреймворков Lua, то существует также Luci. Он в основном используется для небольших встраиваемых систем. Мы только начинаем проект с его использованием, поэтому я не могу сейчас слишком много комментировать его. Мы просто делаем несколько простых экранов конфигурации, аналогичных тем, которые уже представлены в качестве примеров, поэтому я уверен, что этого будет достаточно для наших нужд.

 1
Author: develCuy, 2012-08-16 01:11:07