Можно ли использовать Lua для разработки приложений? - PullRequest
9 голосов
/ 27 июня 2009

Со средним знанием VB6 недавно люди предлагали «перейти на новый язык». Я думаю о Lua - это легко, просто и быстро. Но, похоже, нет никакой информации о создании приложений, подобных K3b , uTorrent , CCleaner и mIRC .

Ответы [ 7 ]

24 голосов
/ 28 июня 2009

Да, может. И это легко попробовать на небольшом проекте.

ИМХО, он идеально подходит для создания небольших приложений с графическим интерфейсом в сочетании с приличным инструментарием. Поскольку вы упомянули Visual Basic, я предполагаю, что вы сейчас концентрируетесь на Windows. В этом случае проверьте пакет Lua для Windows .

Lua для Windows объединяет ядро ​​языка Lua с большим количеством полезных модулей расширения и упаковывает его с помощью соответствующего установщика Windows. Он включает в себя версию редактора SCiTE , которая имеет раскраску синтаксиса для Lua и встроенный отладчик. Он также включает привязки для инструментариев GUI wxWidgets и IUP .

Я использовал Lua с IUP для создания нескольких утилит. Вместе можно создавать довольно сложные приложения, не прибегая к скомпилированному коду.

Одной из областей, где Lua терпит неудачу, поскольку единственным языком приложения из коробки является упаковка, является упаковка. Для создания установщика, который предоставляет все, что нужно конечному пользователю, все равно требуется достаточный опыт работы с пакетами приложений Windows, что делает использование Lua в качестве основного языка для них неуместным.

Однако, как показали многие коммерческие проекты, эта проблема может быть решена. Я обычно заканчиваю компиляцией небольшого EXE-файла, который может иметь собственный значок по умолчанию и ресурс версии, который загружает и инициализирует ядро ​​Lua и переносит его в сценарии Lua для остальной части приложения. Это в сочетании с одной или двумя DLL-библиотеками, которые реализуют любую функциональность, показанную профилированием, должно выполняться в скомпилированной среде, и все готово.

К счастью, даже если вы в конечном итоге поставите свою собственную копию Lua, вы обнаружите, что вся установка довольно мала. Кроме того, основной язык сам не обращает внимания на функции Windows, такие как Реестр, поэтому легко иметь несколько приложений, которые все используют Lua, даже если они разных версий.

Lua существует уже более 10 лет и имеет активное сообщество пользователей. Кроме того, это не сложный язык для изучения и изучения, поэтому ИМХО в действительности нет проблем с поиском людей, которые могут внести свой вклад в команду проекта.

8 голосов
/ 27 июня 2009

Lua довольно «легковесен», что имеет свои преимущества и недостатки - если вы создаете целое приложение, вы будете сами заниматься созданием фундамента, а не концентрироваться на разработке на уровне приложений , Я бы предложил более богатый динамический язык, такой как Python (мой личный фаворит) или Ruby (особенно популярный для веб-приложений, но не ограничивающийся ими) - так вы сможете найти множество инструментов и инфраструктуры, богатый стандарт библиотеки, сторонние расширения, используемые платформы для различных приложений и т. д. и т. д., уже созданные для вас.

5 голосов
/ 27 июня 2009

Lua - отличный язык - мы часто используем его для написания сценариев при разработке игр, потому что он легкий, простой в изучении и имеет хорошие привязки к Си.
Однако, если вы переходите с VB6, я бы рекомендовал изучать VB.NET или, предпочтительно, C #. Вы найдете гораздо больше ресурсов для разработки и поддержки библиотек.

4 голосов
/ 03 июля 2009

Здесь вы найдете список различных проектов, использующих Lua, один из наиболее актуальных, вероятно, Adobe Photoshop Lightroom, из которых 40% написано на Lua: Lua использует

3 голосов
/ 27 июня 2009

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

Если вы используете VB6, я бы порекомендовал C #, VB.NET или Java в таком порядке. Каждый из них намного мощнее, чем VB6, но должен быть достаточно знаком, чтобы вы могли быстро начать работать.

2 голосов
/ 27 июня 2009

Lua - это язык, который легко выучить. Но, если хотите, изучите C # или Java и внедрите Lua в качестве языка сценариев для своего приложения.

Или просто выучить Python.

0 голосов
/ 27 июня 2009

NO.

Причина в продолжительности (орфографическая ошибка?). Вы найдете очень мало разработчиков для такого языка, и, таким образом, у вас возникнут проблемы, когда команда продолжит работу после вас или вы заблокируете своего пользователя для вас.

Даже если вы найдете разработчиков, ИМХО они будут намного дороже.

ИМХО, выбор «более популярного» языка / технологии является преимуществом: более дешевые разработчики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...