Могу ли я разработать гибридное приложение / HTML5 для Ubuntu Phone?

Могу ли я разработать гибридное приложение, которое использовалось в сочетании с нативным API и HTML5 в телефоне Ubuntu?

Я знаю, что можно разработать либо нативное приложение, либо приложение HTML5.

Тем не менее, я хочу знать, как разработать собственное приложение, которое имеет пользовательский интерфейс HTML5 (гибрид) в Ubuntu Phone.

8
задан 11 March 2013 в 20:08

1 ответ

Я не уверен, что Вы имеете в виду с "гибридом" (приложение C++, которое отображает веб-приложение? распределить код приложения между C++/QML/javascript?), но можно использовать компонент веб-представления для отображения веб-страницы/веб-приложения на qml приложении. Это должно работать над Телефоном Ubuntu также.

Возьмите это простое приложение, составленное: "app.qml", "app.html" и "app.js" (да я знаю, это "приложение", являются довольно хромыми...). Это было только протестировано с qmlviewer, таким образом, при попытке выполнить его через IDE, вероятно, необходимо будет изменить что-то в отношении используемые относительные пути.

app.qml

import QtQuick 1.0
import QtWebKit 1.0

Rectangle {
        width: 800
        height: 600
        WebView {
                url: "app.html"
                anchors.fill: parent
                preferredWidth: 800
                preferredHeight: 600
                smooth: false
                settings.developerExtrasEnabled : true 
                settings.javascriptEnabled: true
        }
}

app.html

<!doctype html>
<html lang="en">
<head>
        <meta charset="UTF-8">
        <title>Hi</title>
        <style>
        body {
                margin: 20px;
        }
        </style>
</head>
<body>
        <a href="#" id="test_me">Click me!</a>
</body>
<script src="app.js"></script>
</html>

app.js

var x = document.getElementById("test_me");
x.onclick = function(){
        console.log("Hi there");
        new_elem = document.createElement("h2");
        new_elem.textContent = "Hi there!";
        document.getElementsByTagName("body")[0].appendChild(new_elem);
};

Надежда это помогает.

10
ответ дан 11 March 2013 в 20:08

Другие вопросы по тегам:

Похожие вопросы: