На чем пишут приложения под windows

Мда напомнило:

XXX: Если бы компьютер был стройкой, то на просьбу посоветовать инструмент для забивания гвоздя большинство окружающих посоветовали бы использовать различные модели пизженых со склада микроскопов, поливая говном микроскопы других производителей, и только пара человек молча протянули бы молоток.

YYY: Причем из этих двух молотков, один был бы самодельной киянкой!

XXX: Точно. А еще кто-нибудь заявил бы, что все ламеры, а вместо гвоздя нужно использовать шуруп.

YYY: И предложил бы свой вариант самореза с правой резьбой под шестигранную отвертку с логотипом Sun…

XXX: А потом кто-нибудь прийдет и скажет, что посадил все на суперклей и вроде стоит.

YYY: А кто то будет причитать про то, что раньше вообще без гвоздей строили и стояло века…

Боюсь напороться на лютоминусующих антидельфистов, но…
Если ситуация такова, что не везде даже .NET установлен (что значит максимум XP с ранними SP или вообще без них), то железо должно быть не особо мощное. Почему бы не попробовать Delphi? Как по мне — фреймворка лучше для разработки Win32-приложений, не требующих .NET, не найти. На выходе будет native виндовое приложение, которое (при нужных навыках) быстро разрабатывается и легко расширяется. Кроме того, последние Delphi IDE (версии 2007+) относительно пригодны для комфортного девелопинга.

Вот тут я задавал подобный вопрос — habrahabr.ru/qa/1894/

Остановился на C# + winforms, хоть и не имел опыта кодинга (только веб), разобрался довольно быстро. В инете куча документации, проблемы решаются быстро, и больше половины задуманных фич можно реализовать интуитивно.

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

Или просто С++ c Qt — ИМХО довольно удобная штука для разработки…

если .net хотя бы 2.0 не стоит, то его немедленно стоит ставить. По под windows + 2010 без dotNet не имеет смысла и не актуальности.

Чем плох Python + PyQt/wx, запакованный в один .exe? На нём же можно и математику написать, взяв тот же PyPy и какую-нибудь либу для математики (numpy тот же).

В последнее время стало модно писать для Windows на Silverlight. Поставить плагин к браузеру всё-таки проще, чем целый фрэймворк, и исчезает проблема автоматического обновления приложения.
Начиная с 4- версии Silverlight позиционируется не только как веб-клиент, но и как Windows-приложение (про это много говорил товарищ Черномордиков).
Однако нужно учесть, что Silverlight-приложения по задумке должны общаться с внешним миром в основном через веб-сервисы (хотя есть возможность работать с файлами в личной папке и взаимодействовать с MS-Офисом и пр.).

Если приложение сложное, требуется прямой доступ к БД, требовательно к аппаратным ресурсам или должно получать доступ к системным файлам — тогда WPF.

Сам сейчас разрабатываю большую корпоративную систему документооборота, весь интерфейс на Silverlight. В 99% случаев для бизнес-задач этого достаточно.

> А вы бы на чем предложили написать небольшое отдельное приложение для мат. расчетов?

Попробуйте wxWidgets. Получите native приложение для Windows + возможность относительно легко перенести приложение на другие платформы (на случай перехода упомянутого гос. учреждения на Linux).

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

.net всем хорош, требование установить фреймворк за минус не считаю. однако для математики есть Fortran и иже с ним, вот их я в .net и не припомню. хотя нет, нашел кое что — www.lahey.com/
если их скрутить, в сети есть примеры, то должно быть удобно — формочки-фигормочки на C#, вычисления на Fortran ;)

вообще-то не стоит отказываться от .NET при разработке «стационарного» приложения только из-за необходимости установки фреймворка. C# вполне хороший выбор для написание приложения чисто под Windows.

если нужно написать именно небольшую, портабельную программку, можно воспользоваться C или C++

также можно написать на Java. но придётся немало помучится тупо с настройкой среды, и JRE всё равно придётся ставить на клиентские машины. зато будет кроссплатформенно. если кросплатформенность не нужна, лучше C#.

> .NET всем хорош, но framework нужно будет заставлять устанавливать

Можно использовать Xenocode Virtual Application Studio или аналоги, которые завернут вашу прогу в один бинарник с .Net Framework (т.е. не зависят от установленного и не ставят его в систему). Основной недостаток — заметное время запуска.
Вроде бы есть бесплатный вариант приготовления этого же самого на основе mono mkbundle (в т.ч. для windows) но не пробовал.

Для GUI — QT, который и кроссплатформенный, и не требует за собой тащить фреймворк, все в либах. А уж что внутри — выбирайте сами.

В Excel на VBA — для расчётов самое оно.

Microsoft Office стоит на всех компьютерах, поэтому такое приложение можно будет запустить везде и всегда.

IDE

Если пишете код под Windows на C++ или C#, лучше использовать Visual Studio. Последняя версия Visual Studio на текущий момент 2022. Для некоммерческой разработки, если пишете код для самообучения, или это проект с открытым исходным кодом, можно использовать бесплатную версию Community. Для коммерческой разработки с закрытым исходным кодом — есть платная версия Professional, я использую именно её.

Если разработка не под Windows, или не хочется платить за IDE, можно попробовать последнюю версию Visual Studio Code. Эта IDE полностью бесплатна, но содержит меньше функций и требует больше времени и специфических знаний для настройки.

Язык

C++ или C# — с точки зрения производительности готового приложения, совершенно не важно. Так как я пишу только на C# и .NET, расскажу именно про него.

Актуальная версия .NET — .NET 6, скоро выйдет .NET 7. Microsoft в каждый релиз вкладывают много сил в оптимизацию производительности .NET, а так же добавляют новых фукций C# и API в .NET, чтобы было как можно больше возможности писать очень быстрый и лёгкий по ресурсам код. Поэтому, .NET 6 в целом очень сильно быстрее, чем устаревший .NET Framework 4.x.

С совместимостью под указанные операционные системы у .NET 6 проблем нет. Но зависит от того, какие функции операционной системы требуется использовать, например если нужен HTTP/2 или TLS 1.2, то на Windows 7 должны быть установлены нужные сервисные обновления, иначе работать не будет.

На текущий момент самый современный UI движок под .NET — Windows App SDK (WinUI 3), но он несовместим с Windows 7 или 8. Полностью совместимым и весьма мощным является WPF, он тоже актуален, вам стоит взять именно этот набор библиотек для разработки. MAUI стоит взять, если нужна кроссплатформенность (Mac OS) или мобильная разработка.

Видео

Есть много разных библиотек для кодирования видео, есть встроенные в .NET, есть нативные типа ffmpeg, которые без труда подключаются как к нативным приложениям на C++, так и к CLR приложениям на C#. Поэтому конкретно в этом месте тоже разницы особой, на чем именно писать, нет.

Итого: Visual Studio 2022 + .NET 6 + WPF (+MVVM конечно же)

Если бы я выбирал, на чём мне писать, то отказался бы от Win7, и взял бы Win App SDK. Именно этот UI движок сейчас активно развивается в Microsoft. На сегодняшний день сыроват, но активно допиливается, не считаю сыроватость проблемой. Само приложение будет весить и кушать немного больше, чем WPF, но если не собираетесь писать проект размером с Visual Studio, не стоит думать про память, эта величина больше зависит от начинки проекта, а не от его типа.

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

что я решил и с чем смирился с того времени, как открыл флудо-тему хотя не особо флуд вышел. ожидал, что комментариев будет больше ;)

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

RAD не особо важен, если можно как-то удобно описывать GUI. пользовать дизайнер форм для какого-нибудь HTML всерьёз никто не станет. HTML пишется руками и это удобно. и это вторая вещь с которой я смирился. итак, RAD — не нужен. Описываем UI руками.

третье. не в exe счастье. счастье, чтобы запускалось просто. Только иногда вместо одной программы надо поставить ещё дополнительное что-то, а точнее виртуальную машину, а только потом уже программу. важно, чтобы после этого никаких лишних телодвижений не приходилось делать (в виде прописывания Path и т.д.).

четвёртое. переносимая программа без установки. мне казалось, что это круто. Программу можно таскать с собой на флэшке. Вау!
а потом подумал, — много ли программ, которые я хочу таскать с собой на флэшке? ни одной. Пусть программа ставится на комп и будет привязана к этому компу. Когда я качаю очередной дистрибутив с инета, то предпочитаю скачивать msi инсталлер, а не zip. Чтобы программа сама установилась куда следует, так удобнее.

Пятое. инсталлер тоже надо ещё суметь сделать.

Шестое. кроссплатформный софт остаётся пределом мечтаний многих.

Седьмое. Хочется пользоваться имеющимися знаниями. А знания в-основном касаются web. Уже не хочется изучать очередной язык программирования «для галочки».

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

Итак. Та-да!!

Объявляю победителя конкурса языков программирования в номинации:
«понравился мне больше остальных»

победителем становится платформа Adobe AIR c языком Flex. IDE — flashdevelop.

P.s. неожиданный выбор?
P.p.s. Девятое. На работе люди тоже пишут на flex — будет с кем посоветоваться :)

#статьи


  • 0

Язык С#: где используют, что пишут, как появился и чем хорош

Изучаем под микроскопом популярный язык от Microsoft, который называется совсем не «Си решётка».

Иллюстрация: Polina Vari для Skillbox Media

Максим Сафронов

Автор, редактор, IT-журналист. Рассказывает о новых технологиях, цифровых профессиях и полезных инструментах для разработчиков. Любит играть на электрогитаре и программировать на Swift.

C# (читается как «Си шарп») — это язык программирования от компании Microsoft. Изначально его создавали для проектов под Windows, но теперь это по-настоящему универсальный язык: на нём пишут игры, десктопные приложения, веб-сервисы, нейросети и даже графику для метавселенных.

Один из ведущих разработчиков языка — легендарный Андерс Хейлсберг, который до C# успел сделать Turbo Pascal и Delphi, а после — TypeScript (майкрософтовский JS на стероидах).

Если коротко, этот язык:

  • Кросс-платформенный — запускается почти на любом железе.
  • Объектно-ориентированный — состоит из классов и объектов, которые умеют передавать свойства друг другу.
  • Постоянно развивается — для тех, кто любит учиться.
  • Дружит с экосистемой Windows — для этого и был написан.

Есть две основных версии, зачем Microsoft стала делать свой язык программирования.

Официальная: чтобы упростить разработку приложений под Windows. А то языки в то время были сложные и плохо адаптировались под разные Windows-компьютеры.

Правдоподобная: чтобы заменить Java, на который у Microsoft не было лицензии. В итоге получился почти такой же язык, но с интеграцией под Windows. Как и Java, он основан на языке C и легко запускается на любом устройстве. А название «Си» с решёткой как бы говорит: «У нас тут не копия Java, а новый язык в линейке „Си“».

Но мы-то знаем :)

Кадр: мультсериал «Скуби-Ду»

Кстати, всю эту историю о борьбе Microsoft за Java и причинах появления C# мы рассказывали в статье о Java Virtual Machine — в разделе о конкурентах JVM.

Запуск любой программы на C# начинается с главной функции — Main(). В ней прописано, как программа будет себя вести дальше — что за чем пойдёт, что за что отвечает и так далее. Выполняется она из главного класса — назовём его HelloWorld. Если перевести это на программистский, получится как-то так:

using System; // Создаём место, где будет лежать наша программа. Его называют пространством имён.
class HelloWorld { //Задаём главный класс и даём ему имя -- «HelloWorld». 
  static void Main() { //Объявляем главную функцию.
//Вставляем сюда любой код. Например, можно научить программу с нами здороваться:
            Console.Write("Как тебя зовут? ");
            string name = Console.ReadLine();
            Console.WriteLine("Привет, " + name + "!");
  }
}

Можете вставить этот код в компилятор и посмотреть, что получится. Если всё сделать правильно, консоль сначала спросит ваше имя, а потом поздоровается. А если туда потом добавить реплик, функций и визуала, получится настоящий чат-бот — как его запилить, рассказываем в этой статье.

C# — пятый по популярности язык программирования в мире. Его используют банки, диджитал-агентства, провайдеры связи и крупные IT-компании. Вот что пишут на C# российские и зарубежные корпорации:

  • Microsoft — приложения для Windows и Xbox.
  • Tesla — корпоративные веб-сервисы и программы.
  • Stack Overflow — серверную логику сайтов.
  • Сбербанк — 3D-графику и программы виртуальной реальности.
  • Ozon — складские и логистические системы.
  • «Яндекс» — приложения для автоматизации продаж.

Рассмотрим сферы применения «шарпов».

Если вы увлекаетесь геймдевом или просто играете в игры, то наверняка слышали про Unity. Это такая среда, где можно быстро собрать игру из готовых объектов, а потом запустить почти на любом железе. Процесс разработки выглядит так: вы продумываете содержание игры и её сюжет, а Unity берёт на себя графику, физику, звук и другие технические штуки.

Геймплей игры Escape from Tarkov, написанной на Unity
Скриншот: Escape from Tarkov / Battlestate Games

В теории на Unity можно делать не только игры, но и любые проекты, где нужна 3D-графика, — метавселенные, программы для VR-устройств, дизайн интерьеров и так далее. А пишут под Unity в основном на языке C# — отличный повод выучить именно его, если видите себя в геймдеве или виртуальной реальности.

Поскольку C# — это язык от Microsoft, на нём удобно писать настольные приложения для Windows. Для этого разработчики придумали специальную платформу — называется .NET Framework. Она умеет переводить код из понятного человеку в понятный процессору — то есть компилировать.

Преимущество платформы в том, что она может исполнить любую C#-команду на любом процессоре — а на Windows работает не меньше тысячи разных моделей. Если бы не .NET, пришлось бы компилировать код под каждое железо отдельно. А ещё .NET поддерживает много плагинов, библиотек и шаблонов для наглядной разработки интерфейсов — это фактически целый мир и экосистема для программиста на Windows.

Создание Windows-приложения с помощью библиотеки WPF.NET
Кадр: Payload / YouTube

С помощью фреймворка Mono один и тот же С#-код можно запускать в разных десктопных системах — например, в Linux или macOS. А если код надо запустить на мобильных платформах, используют версию Mono для смартфонов — Xamarin.

Допустим, мы пишем приложение для смартфона — мобильные карты. Они должны одинаково работать и на айфоне, и на Android-устройстве, но выглядеть нативно — то есть по дизайн-коду своих платформ. Вот как эту идею можно воплотить на Xamarin:

  • Проектируем дизайн приложения в визуальном редакторе.
  • Привязываем к нему логику на C#.
  • Всё это дело подхватывает Xamarin и переводит в родные для iOS и Android интерфейсы.
  • На выходе получаем целых два приложения — для Android и iPhone. А программировали мы всего один раз — удобно вышло.

Мобильное приложение «Карты», созданное с помощью Xamarin.Forms
Изображение: Microsoft

Подробнее о том, как писать мобильные приложения на Xamarin, мы рассказываем в этой статье.

Когда пользователь что-то нажимает на сайте, его действия сначала обрабатывает сервер. Например, мы ставим лайк фотографии — сервер это получает и записывает у себя в базе данных: «Вот такому пользователю понравилось». Или, допустим, логинимся на сайте — сервер сверяет пароли и отвечает: «Войти разрешаю».

В чистом виде сервер — это просто машина, и, чтобы она заработала, нужен специальный софт. Нередко его пишут на языках PHP и Java, но если вам нужен софт для сервера на Windows, эксперты рекомендуют именно C#. Он хорошо работает с фреймворками от Microsoft и быстро запускается на Windows-машинах.

В любое приложение на C# можно встраивать алгоритмы машинного обучения — например, компьютерное зрение, распознавание лиц или музыкальные рекомендации в плеере. Фишка в том, что для этого не надо глубоко разбираться в математике или Data Science. Достаточно подключить специальную библиотеку от Microsoft — ML.NET, — и она возьмёт все внутренности на себя.

А ещё с ML.NET работает кросс-платформенность — то есть алгоритмы в теории можно запускать вообще где угодно. Например, на банкомате, если надо сделать авторизацию по лицу.

Тренировка алгоритмов компьютерного зрения на ML.NET
Изображение: Microsoft

Независимость от железа. Программисту не надо адаптировать программу под разные платформы и системы — за него это делает виртуальная машина, вшитая в .NET Framework. В итоге один и тот же код можно запускать на любых устройствах — смартфонах, компьютерах, серверах, банкоматах и даже умных часах.

Отличная совместимость с Windows. Не зря же язык разработали именно в Microsoft. Так же как Swift идеально подходит для программирования под экосистему Apple, C# прекрасно вписывается в экосистему Windows.

Управление памятью. Чтобы программа работала стабильно, её надо иногда чистить от ненужных объектов, ссылок, кэша и прочего мусора. В C# это происходит автоматически — разработчику не надо следить за расходом памяти, бороться с её утечками или удалять мёртвые куски кода.

Строгая типизация. Когда вы объявляете переменную в C#, надо сначала указать, что в ней лежит — строка, число или массив. Так разрабатывать чуть дольше, зато ваш код работает предсказуемо — числа взаимодействуют с числами, строки со строками и так далее. В языках со слабой типизацией свободы и драйва больше, но есть шанс пропустить ошибку, которая всплывёт в готовой программе.

Большое сообщество. На С# пишут более миллиона программистов по всему миру. В соцсетях полно чатов и сообществ «шарпистов», где можно задать вопрос, обсудить сложную тему или найти готовое решение. В теории можно даже найти ментора, который поделится знаниями и поможет быстрее освоить язык.

Синтаксический сахар. В С# есть много способов сократить код, не нарушая логику программы. Программисты называют такие приёмы «синтаксическим сахаром» — они помогают сделать код проще, понятнее и в целом симпатичнее. Сравните, например, как выглядит сложение чисел с «сахаром» и без.

Без «сахара»:

   static int sum(params int[] numbers)
        {
            int res = 0;
            foreach (int a in numbers)
            {
                res += a;
            }
            return res;
        }

С «сахаром»:

 Console.WriteLine(sum(1, 2, 3));
           Console.WriteLine(sum(8, 1, 1,5));

Важно: «сахар» не стоит использовать слишком часто, иначе можно ненароком получить «синтаксический диабет» — ситуацию, когда в программе всё так зашифровано, что ничего не понять. Применять «сахар» нужно осторожно и только под присмотром профессионалов.

Есть у C# и недостатки, причём довольно серьёзные, — давайте разберём и их тоже.

Скорость. Когда мы запускаем программу на C#, код исполняется не сразу, а сначала адаптируется под нужное железо. Так мы охватываем больше платформ, но теряем в скорости — программе нужно сделать двойную работу, чтобы просто стартовать. Из-за этого интерфейсы на С# иногда подтормаживают при первом запуске.

Безопасность. Эксперты говорят, что код на C# легко декомпилировать — то есть перевести из машинного обратно в человеческий. Проблема в том, что так программу может легко прочитать хакер или конкурент — и изучить её уязвимости, украсть фрагменты кода или написать для неё вредоносный софт.

Мало доступа к железу. Так как С# — язык высокого уровня, на нём редко пишут проекты, где нужно полное взаимодействие с железом, — игровые движки, операционные системы, авиационный софт и так далее. Та же Unity целиком написана на низкоуровневом языке C++, хотя и умеет исполнять С#-команды.

По данным «Хабр Карьеры», средняя зарплата «шарпистов» составляет 162 000 рублей в месяц. Это не самые космические цифры для IT, но вполне приличные — примерно столько же получают программисты на Java, Python, PHP и других популярных языках.

Скриншот: Habr / Skillbox Media

На российском hh.ru мы нашли около 4 тысяч вакансий для разработчиков на C#. Больше всего предложений в Москве и Петербурге — это неудивительно, ведь там сосредоточена львиная доля энтерпрайза, где C# является стандартом. В основном компании ищут программистов для разработки бэкенда и десктопных программ, но есть варианты и в геймдеве, и в больших данных.

Интересно, что стажёры, которые только пришли в профессию, могут получать в районе 40 тысяч рублей в месяц. А если у новичка хорошая теоретическая база или уже есть какой-то опыт разработки, можно сразу пробоваться на Junior-позиции — там зарплаты уже около 64 тысяч рублей. Среди крупных компаний, которые готовы брать джунов-шарпистов, — Сбербанк, «МТС», Ozon и Kaspersky.

Скриншот: сайт HeadHunter / Skillbox Media

Более опытным Middle-разработчикам компании готовы платить в районе 120–150 тысяч рублей, а сеньорам и тимлидам — от 234 тысяч. Но такие программисты должны не только хорошо кодить, но и кое-что понимать в управлении командой и проектом.

Вакансии для C#-разработчиков на hh.ru
Скриншот: сайт HeadHunter / Skillbox Media

Если вы ищете язык для старта в программировании, обязательно рассмотрите С# — он популярен, широко распространён и официально поддерживается Microsoft. Его используют тысячи компаний, поэтому новичок может довольно быстро получить оффер. Особенно понравится язык тем, кто хочет делать 3D-графику на Unity или писать программы для Windows.

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие. А мы поможем с трудоустройством и важными для работодателей навыками.

Посмотреть курсы

Top 10 Programming Languages for Desktop Apps In 2021. The growing demand in the IT industry can make it confusing to choose a programming language that is suitable and helpful for a person. One of the hardest questions to ask when you want to build a desktop application for your brand or as an individual who has just started handling programming is which language should you go for.

Honestly, opting for a programming language highly depends on the purpose or requirements you want to fulfil. Speaking of Desktop applications, one thing you need to keep in mind is with various operating systems (Windows, macOS, Linux) out there, you will have to determine which interests you the most. If it’s one of the three, then you will get different options of programming languages to learn and practice accordingly. While, on the other hand, if you are looking for an application that runs smoothly on all the available OS, then you must go for cross-platform capable tools, software, or languages.

So, get ready to find some of the most used programming languages for all the purposes in detail.

Top 10 Best Programming Languages for Desktop Apps In 2021

For all the programming lovers out there, we have curated a list of top 10 programming languages for desktop application development that you can learn in 2021.

  1. C#

  2. C++

  3. Python

  4. Java

  5. JavaScript

  6. PHP

  7. Swift

  8. Red-Lang

  9. Go

  10. Object Pascal

1. C#

C# (pronounced as C Sharp) is a modern, type-safe, and object-oriented programming language, designed and developed by Microsoft Corporation. Although having its roots in the C family, it will be familiar to the JAVA and JavaScript programmers. Needless to say, as C# and Windows both are designed by Microsoft, developers can create a windows-based desktop application with ease. C# allows developers to create different types of robust and secure applications that work on the .NET ecosystem.

Some of the frameworks that you can use while developing a desktop app using C# includes the .NET WPF ( that works on XAML to offer a declarative application programming model), Uno Platform, Avalonia, .NET MAUI, WinForms, UWP, Xamarian, and Blazor. These frameworks support numerous application development features such as resources, controls, application model, graphics, data binding, security, layout, and data binding. Moreover, with the release of .NET Core, you can use C# for cross-platform development as well. 

2. C++

C++ is a general-purpose, procedural programming language that was developed as an extension of the C language. Being a low-level, object-oriented language, it provides a powerful control on the system resources and memory to the developers. A programmer can use C++ not only for the development of desktop applications but also for systems, browsers, games, and so much more. To edit and debug the source code of C or C++, you can use IDEs like Eclipse, NetBeans, Qt Creator, Visual Studio, and XCode. Some popular applications like Adobe Creative Suite, MS Office, and Google Chrome are developed using C++.

3. Python

Python is a high-level, object-oriented programming language that does not need a programmer to write longer lines of code for executing the concept. It is one of the highly flexible languages that one can use. Not only that but Python has a vast range of GUI frameworks that allow developers to create an application in an easy and secure manner. Some of the frameworks that you can use to develop not only windows application but others too with Python, includes, PyQT (a combination of QT library and Python) that lets the developer decide whether to create visual dialogues using QT Designer or create a program using code; Kivy (an OpenGL ES2 framework) enables programmers to write code once and use it on different platforms; WxPython, PyGUI, and Tkinter.

4. Java

Java is an object-oriented, class-based programming language that aims to have as low implementation dependencies as possible. It intends to let the programmer write once, run anywhere (WORA). Simply put, whenever a programmer writes code in Java, it is compiled by javac. The result of this compilation is a class file or the bytecode(not a machine native code). To execute this file or bytecode in the machine, Java needs an interpreter — JVM or Java Virtual Machine which converts bytecode into machine language. As JVM depends on the operating system, we get different variations of it that can be downloaded according to the requirement and be used to run code on different operating systems. That being said, it is used to develop robust and platform-independent applications.

A few tools that you will need for building a desktop application with Java entails JDK, Netbeans IDE, Java Swing, Java FX, and SQL. Along with that, you will also need some frameworks like Eclipse RCP, JFoenix (JavaFX material), TornadoFX, Spring, Kafka, Grails, DropWizard, GWT, Hadoop, Log4j, Hibernate, JMF, and so on based on the requirements you have. 

5. JavaScript

Javascript or JS is a prototype-based, interpreted, single-threaded, lightweight dynamic programming language that supports object-oriented, functional programming type. Despite it being well known as a scripting language for web pages, several non-browser environments also use it. It is among the top programming languages for desktop app development. Using frameworks like Buildfire.js, Electron, NW.js, AppJS, Meteor, and Proton Natives, JS can help developers in designing and developing cross-platform desktop applications.

6. PHP

PHP or hypertext preprocessor is a general-purpose, server-side programming language. It’s used to manage dynamic content and databases. Besides, PHP is significantly powerful to be the core of the largest blogging system (WordPress), deep to run a vast social media network (Facebook), and easy enough for beginners to learn. Additionally, the fact that WordPress is used to host all kinds of websites, from those about phone trackers to whole e-commerce platforms goes to show how powerful this language is. It has become the best option for developers who want to create desktop applications. However, to build cross-platform desktop applications with PHP, you can either use Nighttrain (a pre-packed PHP-hosting set that helps in hosting the app), PHP Desktop (an open-source project designed to develop desktop GUI applications), WXPHP, or TideSDK.

7. Swift

Swift, developed by Apple Inc., is a multi-paradigm, compiled, and general-purpose programming language for macOS, watchOS, iOS, and so on. Writing code in Swift is interactive as the syntax used is concise and powerful. If you have been developing in C or C++, you will find some parts of swift quite similar. For developers who want to develop an app for macOS, swift is the one. Also, if you want to make your development smoother, don’t forget to use tools like HomeBrew, Flexihub, iTerm2, XCode, NetBeans.IDE, Tower2, Dash, and Visual Studio Code.

8. Red-Lang

Red is an imperative, reactive, and functional programming language, designed to overcome the obstacles of REBOL(Relative Expression Based Object Language). Having a native-code compiler, Red offers a broader field for developers. It supports garbage collection and has low memory footprints. Using Red for Windows and macOS desktop applications development, developers acquire features such as support for a prototype-based object, cross-compilation, cross-platform native GUI, and visual studio plugin for various needed features.

9. Go

Go is an open-source, multi-paradigm, functional, imperative, concurrent, object-oriented programming language that is developed at Google. Syntactically it is similar to the C language but with better features like garbage collection, memory safety, and structural typing. Go makes it easier to design a reliable and efficient desktop application for macOS and Windows. There are some frameworks that you will come across while using Go, including, Martini, Gin Gonic, Mango, Beego, Revel, Echo, Iris, and GoCraft.

10. Object Pascal

Object Pascal is an extension to the Pascal programming language that supports object-oriented programming features like methods and classes. It is compiled to a fast, type-safe, and native code. Not only that but object pascal can be used to develop apps for Linux, Windows, and macOS at the same time. Two major implementations that are available for object Pascal include Delphi (a commercial Rapid Application Development environment) and Free Pascal(an open-source compiler and run-time library). Some of the major frameworks that you will need while developing desktop applications using Object Pascal are Lazarus, Oxygene, and Firemonkey. 

Conclusion

Whether you are a developer or a business person, it is crucial to learn and adopt some of these top programming languages for desktop application development. As we know, programming languages are ever-changing, however, some of these languages like C#, Python, or Java can help you in achieving any goal related to application development. That being said, before sticking with a certain programming language try and explore all the given options and choose the one that suits your app vision perfectly. Besides, if you are a person who wants to build a desktop application for your business, then hire developers with relative experience of years. As an option, you can delegate your coding assignments to experts from AssignmentCore to  get your programming homework done for money.

Posted by
Mahipal Nehra
| Posted at 02 Mar, 2021 Web

  • На чем лучше программировать на windows или mac os
  • Набор видеокодеков для windows 10
  • На чем работает windows phone
  • На флешке ярлыки вместо файлов как вылечить windows 7
  • Набор net framework для windows 7