2009-02-26 2 views
20

Кто-нибудь знает о бесплатных инструментах (языках, средах), которые будут поддерживать разработку графических приложений на платформе Windows?Разработка легкого (без использования) приложений на основе Windows с использованием бесплатных инструментов

Я ищу, чтобы иметь возможность создать единый исполняемый файл, который не имеет зависимости от какой-либо внешней среды выполнения или библиотеки.

Я хотел бы иметь возможность запускать этот EXE таким же образом, что и Process Explorer или Autoruns из SysInternals. Другими словами; нет установщика, портативного приложения.

Это приложение также должно обеспечить удобный интерфейс для окон (элементы управления, виджеты и т. Д.) И должен работать в Windows 2000, XP, Vista и более поздних версиях.

Я знаю C/C++, но я ищу среду/язык, который обеспечивает более конкретную и быструю поддержку разработки графического интерфейса. Кроме того, Delphi стоит денег.

+0

Просто добавил AutoIt3.exe в ответ на ваш комментарий – VonC

+0

Просто добавил комментарий AutohotKey как дополнение к моему ответу. – VonC

+2

Большинство оконных компьютеров в наши дни имеют как минимум .NET-среду выполнения, поэтому я бы не стал рассматривать это как большую часть барьер или внешняя зависимость. Это зависит от зависимости от самой Windows. Конечно, машины Win2000 могут не иметь этого, но это 10-летняя ОС – csjohnst

ответ

9

Для быстрого прототипирования Autoit является жизнеспособным вариантом (но это язык сценариев, хотя).

http://www.autoitscript.com/images/gui_eg1.png

В сочетании с Scite как редактор, и autoit to exe capability (AutoIt3.exe в Scite и Autoit3Wrapper.exe на самом деле производит ех), у вас есть полная среда разработки GUI.


AutohotKey является альтернативой, но основанный на старом AutoitV2.

Тем не менее, вы можете выполнить AutoHotkey скрипты AutoIt;)

Run("c:\Program Files\Autohotkey\Autohotkey.exe c:\scripts\devicesset.ahk") 

Хотя интерактивная отладка не изначально поддерживаются, они (2008, но в 2014 году был) several debugging tools? для облегчения процесса отладки. (От этого ticket)

http://www.autoitscript.com/forum/uploads/monthly_01_2008/post-3602-1199735240.png

Update 2014: "AutoEditDebugger" не может быть поддержано:

EDIT Октябрь 2009: NB Этот сценарий не поддерживается, так как некоторое время в 2008 году Due к какой-то проблеме с редактором он сбой в Vista.

+0

Составляет ли это время выполнения в выходной файл .exe? –

+0

@ VonC, я действительно использовал Autohotkey для ключевых макросов, ярлыков и т. Д. И знаю, что он может делать базовый графический интерфейс. Это всего лишь фактический язык, довольно «неудобный», и мне трудно отлаживать его. Спасибо, что посмотрю, поддерживает ли он Autohotkey, спасибо. – Ash

+0

Спасибо за дополнительную информацию. Я собираюсь сравнить AutoIt и AutoHotkey. Если я могу интерактивно отлаживать скрипт AutoIt, это может быть именно то, что я ищу. – Ash

1

Ознакомьтесь с нашими инструментами разработчика от Express editions.

+0

VC++ Express, в частности, поскольку, в конце концов, C# и другие требуют среды выполнения .NET. Это то, что он уже сбрасывал со счетов. Насколько я могу судить, этот ответ не дает ничего нового. –

+1

Да, .NET не вариант, и я объяснил, почему C++ не идеален. – Ash

+0

Мой плохой, пропустил ссылку на внешнюю среду выполнения или библиотеки. Девин, спасибо за большую субъективную оценку. ;-) – jro

0

Если вы делаете очень простые приложения, AutoIt может быть вариантом, так как для него не требуются файлы времени исполнения, а его исполняемые файлы будут работать даже в WinPE. Это немного примитивный, хотя и не совсем объектно-ориентированный. Он немного похож на старый VB. Это, однако, свободно и легко учиться, и помимо чего-то вроде NSIS (NullSoft Install System) не так много свободных, автономных создателей графического интерфейса.

+0

@VonC избил вас, спасибо в любом случае. Я голосовал за VonC, он заслуживает по крайней мере еще одного голосования. – Ash

5

Delphi - это, безусловно, хороший способ пойти. Там - бесплатная версия под названием Turbo Delphi. Доступная версия - пару лет, так что стыдно, что они не выпускают версии Turbo нового материала.

Есть также trials available полноценной RAD Studio, но я не думаю, что это то, что вы ищете.

+0

Выглядит многообещающе, спасибо. Вы использовали его сами? Кроме того, как он сравнивается с Turbo C++ и Turbo Ruby, который лучше всего подходит для быстрой разработки графического интерфейса? – Ash

+0

Я не использовал версию Turbo, поэтому не мог прокомментировать ее. Сам Delphi - это быстрый и простой способ разработки, хотя у него есть некоторые причуды. Я предпочитаю C# лично. Не пробовал Turbo C++ или Ruby. – Ray

+0

@Ash, Delphi является лучшим в GUI Development, и это самый читаемый код, который вы можете написать на любом языке, который проще, чем другие в обслуживании, если вы оставите его надолго. так как Turbo C++ имеет тот же путь Rad, что и Delphi, потому что он использует ту же инфраструктуру VCL. но я предпочитаю код в Delphi. –

1

Возможно, D - это вариант? Мой друг написал блог о GUI Designer для D here, и я считаю, что полученный исполняемый файл не имеет зависимостей.

+0

Спасибо, я посмотрю. – Ash

4

Вы можете получить Turbo Delphi and Turbo C++ Builder explorer выпуски бесплатно, и вы можете разработать с ними родное приложение, которое может иметь только файл .exe без каких-либо зависимостей от любой версии Windows (win98 to win7), оба из которых включают более 200 компонентов , и вы можете использовать больше (без установки в IDE, что единственное ограничение), и вы разрабатываете с ними бесплатное и коммерческое программное обеспечение.

Delphi - это самая RAD (Rapid Application Development) IDE, которую вы можете использовать для создания приложений Windows очень простым и эффективным способом, вы получаете быстро развивающееся приложение с быстрым временем выполнения по сравнению со скоростью C++.

Другой вариант использования Lazarus IDE, который основан на компиляторе FreePascal, так что вы можете запустить приложение на windows/linux/MacOS/Unix и многое другое.

+0

Спасибо, Рэй также упоминает об этом. Сначала я разработчик .NET, но некоторое время работал над переходом на компанию Delphi. Я согласен с тем, что инструменты Dektop RAD Delphi являются очень мощными и, вероятно, быстрее, чем WindowsForms и т. Д. – Ash

4

Visual C++ Express + WTL. Оба являются бесплатными. WTL является относительно хорошей (1) библиотекой окон. Однако нет мастеров, и вы должны хорошо понимать систему окон Win32.

Вы также можете использовать Visual C# Express вместе с Mono для создания приложения WinForms. Хотя конечный результат технически не является автономным исполняемым файлом и требует фреймворка, библиотеки DLL Mono могут быть распределены по вашему exe (2), поэтому вы можете просто создать одну папку для развертывания xcopy. (И я думаю, что в Windows с установленной .Net ваш exe будет запущен на .Net автоматически)

  • (1) Я испорчен WPF. :-)
  • (2) Читайте на intertubes. Я лично не пробовал.
+0

Я ценю ссылку WTL, я не слышал об этом. У меня уже есть полный VS2008, поэтому я бы использовал это вместо Express. Моно предложение интересно, интересно, будет ли он работать на Windows-машине без какой-либо .NET Framework (т. Е. Просто использовать XCopied mono dlls). – Ash

+0

Это то, что многие люди утверждали в Интернете, - что вы можете просто скопировать Mon dlls рядом с вашим приложением, и это будет нормально работать на машинах без .Net. У меня нет такой машины :-), и я не пробовал этот сценарий. –

4

Возможно, не вариант учитывая ваше заявление относительно C++, но если вы разрабатываете с открытым исходным кодом/бесплатное приложение в то Qt очень хороший GUI инструментарий с дизайнером.

Кроме того, wxWidgets - очень функциональный набор инструментов, который позволит вам развернуть один exe, хотя лучшие дизайнеры GUI не являются бесплатными.

+0

Qt 4.5 будет LGPL, поэтому он сможет бесплатно использоваться для разработки с закрытым исходным кодом. –

+0

Вы также можете использовать Qt и wx из целой группы других языков –

+0

для этого требуется, чтобы QT был установлен на клиентской машине нет? – nawfal

1

Просто используйте VS.NET с C и Win32 api.

Разумеется, нет необходимости в работе, поскольку CRT является родным.

1

Вы должны использовать Digital Mars C/C++ в чистом C и работать с функциями GDI32 API WIN32 (Just #include). Не забудьте связать исполняемый файл двоичного объекта с gdi32.lib.