Лучший способ упаковать безголовый браузер? - PullRequest
4 голосов
/ 10 февраля 2012

Я работаю над настольным программным обеспечением для клиента и думал о пользовательском интерфейсе. Я бы использовал стандартные веб-технологии, такие как HTML5 + JS, и планировал просто упаковать безголовую версию современного браузера, такого как Chrome / Firefox, смое программное обеспечениеНапример, это будет просто часть браузера для просмотра страниц / движка рендеринга без границ / меню / вкладок / ярлыков / профилей и т. Д. Что является самым простым способом сделать это независимо от платформы.Я знаю, что у Mozilla были такие проекты, как Prism / Chromeless , но они не обновлялись более года.

Ответы [ 9 ]

1 голос
/ 24 февраля 2012

QtWebkit должен быть разумным выбором.Вы можете сделать простое приложение с Qt SDK или QtCreator.Вы можете встроить HTML / CSS / JS в приложение в файле ресурсов Qt.Пожалуйста, проверьте исходный код ниже:

#include <QtGui/QApplication>
#include <QWebView>
#include <QNetworkProxy>

class MainWin : public QWebView
{
public:
    explicit MainWin(QWidget * parent = 0) {
        m_network = new QNetworkAccessManager(this);
        // Setup the network proxy when required!
        //m_network->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, "10.1.1.80", 80));
        page()->setNetworkAccessManager(m_network);

        // You can use the internal HTML/Javascrip/CSS by 
        // specify qrc:// URLs refer to resources. See resource.qrc
        QUrl startURL = QUrl("http://www.google.com");

        // Load web content now!
        setUrl(startURL);
    }
private:
    QNetworkAccessManager * m_network;
};

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWin w;
    w.show();

    return a.exec();
}

Это рабочий пример с рамкой окна!Look like this! Он работает как браузер.

1 голос
/ 23 февраля 2012

Если размер не является проблемой, вы можете использовать титан из http://www.appcelerator.com/
Он работает практически на любой платформе.Это то, что они используют для создания Wunderlist.http://www.6wunderkinder.com/wunderlist/
Если вы заботитесь о размере, вы можете создать простую оболочку, которая запускает предпочитаемый пользователем браузер без каких-либо элементов управления и панелей инструментов.

1 голос
/ 22 февраля 2012

Рассматривали ли вы язык XUL от Mozilla? Это язык XML, используемый в проектах Mozilla для создания своих пользовательских интерфейсов. Он отображается их движком gecko в автономном Mozilla Xulrunner, который может быть упакован с вашим XML и javascript в исполняемый пакет.

0 голосов
/ 09 августа 2016

Электрон является лучшим для этого в наши дни: http://electron.atom.io/

0 голосов
/ 24 февраля 2012

Должен ли это быть один браузер? Рассмотрите возможность использования webkit на OSX и IE на Windows. Тогда вы можете сделать небольшую оболочку с небольшим интерфейсом. Преимущество заключается в том, что вам не нужно упаковывать свой собственный браузер, а использовать то, что обеспечивает операционная система, в результате получается меньшая программа.

0 голосов
/ 24 февраля 2012

Я предлагаю Adobe AIR. Я видел, как вы упомянули, что вам не нравятся продукты Adobe и их дорогие IDE. Однако AIR бесплатен, и вы можете использовать любую IDE, которую считаете нужной ( Aptana - хороший выбор, построенный на основе Eclipse).

Я сделал музыкальный проигрыватель с Adobe AIR. Это было около года назад, и с тех пор они выпустили Adobe AIR 3 . Полный список функций очень длинный, но, в общем, он поддерживает как обычные функции браузера (JS, Flex и т. Д.), Так и некоторые нативные функции. Например, вы можете просматривать файлы на компьютере или отображать PDF-файлы. Стоит попробовать.

0 голосов
/ 23 февраля 2012

В прошлом я использовал WebKit для этой цели (полагаясь на системный элемент управления WebView в Какао и используя Каирский порт Brent Fulgham's WebKit для Windows).

Проект WebKit на webkit.org включает этот порт (и Qt, и GTK +, и многие другие).

0 голосов
/ 22 февраля 2012

Я думаю, я бы пошел на Арора в вашем случае. Он не поддерживается с 2010 года, но при условии, что он работает стабильно, как есть, у него есть несколько замечательных плюсов:

он работает на внушительном количестве платформ и имеет хорошее соответствие HTML и Javascript, поскольку основан на Webkit. (На каких яблоках построено Safari.) Кроме того, возможно, можно обойти любые незначительные проблемы, поскольку вы предположительно разрабатываете свое приложение более или менее с нуля. Преимущество такого подхода, как ваш, заключается также и в том, что в будущем вы можете довольно легко заменить встроенный браузер чем-то другим, если вам это подходит.

Или используйте Qt, который очень кроссплатформенный и может также встраивать Webkit .

0 голосов
/ 10 февраля 2012

вы смотрели на Adobe AIR?

...