Этот вопрос задавался много раз, и я прошел через большинство из них. Большинство из этих вопросов устарели и не включают никаких новых платформ для разработки настольных приложений.
Мне нужно разработать базовое настольное приложение с функциональностью CRUD с базой данных Sqlite или MySQL. Раньше я работал с Java (Swing), но Swing JSR был отозван, а Netbeans отказался от Swing Application Framework .
Мне нужно изучить новую технологию разработки настольных приложений (желательно независимо от платформы). До сих пор я изучал следующие технологии.
Titanium Desktop (теперь называется TideSDK): это хорошо, но некоторые расширенные функции PHP не поддерживаются и полны ошибок.
QT: Он выглядит многообещающе и имеет отличные функции, но я не смог найти ни одной книги по последней версии QT 5. Всем книгам по QT 4-5 лет, и они написаны для QT 4.
Существуют ли другие технологии, которые я могу использовать для разработки настольных приложений? и добавить его в мой набор навыков?
Спасибо за вашу помощь и извините, если этот вопрос слишком общий.
Новая тенденция заключается в использовании веб-технологий (фреймворков HTML5/javascript) для создания настольных приложений. Взгляните на Chromium Embedded Framework (CEF), который позволяет встроить движок Chromium в ваше настольное приложение. См. список приложений, использующих CEF , в Википедии. Доступны привязки для многих языков, таких как C, C++, Java, Python, C#, Delphi, Go lang.
Что касается Titanium Desktop и TideSDK, то они больше не разрабатываются. Последний коммит для TideSDK был год назад . И похоже, что этот проект за все время своего существования так и не вышел из бета-версии. Компания, стоящая за ним, работает над своим новым продуктом под названием TideKit . Но у вас нет гарантии, что от него не забросят, как от Titanium и TideSDK, или что он когда-нибудь выйдет из бета-версии.
Titanium и TideSDK позволяют разрабатывать на PHP, но это своего рода новая платформа, она работает по-другому, PHP похож на JavaScript на HTML. Если вы хотите разрабатывать настольные приложения на PHP так же, как вы разрабатываете веб-сайты, взгляните на проект PHP Desktop . Он включает внутренний веб-сервер, веб-браузер (IE или Chrome) и интерпретатор php. Рабочий процесс, к которому вы привыкли при создании веб-сайтов PHP, остается почти таким же, вы просто копируете скрипты в каталог www/. Вы не должны наткнуться на какие-либо новые ошибки, которых еще нет в PHP, также он поддерживает все функции PHP, обновление версии PHP так же просто, как копирование новых двоичных файлов в каталог php/. В настоящее время PHP Desktop поддерживается только в Windows, хотя есть планы для Linux и Mac.
Существует также проект Node-Webkit , который позволяет разрабатывать на Javascript с использованием Node.js. Он включает в себя движок Chromium, несмотря на свое название.
В последние дни появился фреймворк Atom Shell , разработанный Github. Он позволяет писать кроссплатформенные настольные приложения с использованием JavaScript, HTML и CSS. Он основан на node.js и Chromium и используется в редакторе Atom .
Раскрытие информации: я являюсь автором привязок CEF для языков Python и Go. Также автор PHP Desktop.
Вы также можете использовать C#/mono в сочетании с XWT (если ваш графический интерфейс не слишком сложен. Из личного опыта: как только вам понадобится DataGrid со столбцом ComboBox, держитесь подальше от него.)
Краткое пояснение о XWT: вы программируете свой код на XWT lib. При развертывании приложения вам потребуется распространять вместе с ним библиотеку XWT.GTK, XWT.WPF или XWT.Cocoa.
XWT проверит, какая из этих 3 библиотек доступна, и (попробует) ее инициализировать.
отредактируйте просто справедливое предупреждение: XWT следует рассматривать как альфа-версию программного обеспечения. Это не полная функция и не без ошибок. С другой стороны, это на git. Таким образом, вы можете посмотреть, что именно происходит внутри метода, а иногда даже исправить это самостоятельно.
Графического редактора нет, но с ним довольно легко работать, и он убирает этот (на мой взгляд) уродливый GTK.
Для подключения к базе данных я бы предложил LINQConnect в сочетании с EntityDeveloper от DevArt. Если вы не используете слишком много таблиц в базе данных, это бесплатно! Также вы можете подключиться практически к любой базе данных с очень небольшим объемом работы (по крайней мере, если вы капсулировали свой уровень базы данных).
Обновление Q2 2018
ну, 4 года спустя и произошли некоторые изменения. Замените XWT на Xamarin.Forms, так как он имеет или, скорее, будет иметь «оболочку» GTK2. Преимущество Xamarin в том, что он практически работает на всем. iOS, Android, Windows, Linux (после завершения работы над GTK 2), MacOS.
По поводу доступа к базе. Я не уверен, как я отношусь к LinqConnect. Для более крупных проектов отсутствуют некоторые функции. Я баловался с llblgen, но, кроме пробной лицензии, нет бесплатной версии. С другой стороны, после покупки лицензии можно получить доступ к их коду и даже вносить изменения. Тем не менее, у меня пока нет реального опыта в этом.
настольное приложение с функциональностью CRUD
Он идеально подходит для Delphi или его бесплатной (и с поддержкой Linux) альтернативы Lazarus .
У них есть специальные элементы управления формой ( Data Controls ), которые позволяют легко отображать и изменять данные базы данных.
В Википедии есть список независимых от платформы графических библиотек .
Некоторые из них достаточно современные и относительно популярные:
Также есть Electron , которого пока нет в списке, но на него стоит взглянуть. Он использует технологии (JavaScript, HTML, CSS), обычно связанные с веб-приложениями для настольных компьютеров.
ДантеЭгрегор
линукс
Джей Бхатт
Николя Рауль
Джей Бхатт
Блип