Ubuntu Phone用のハイブリッドネイティブ/ HTML5アプリを開発できますか?


8

Ubuntu電話でネイティブAPIおよびHTML5と組み合わせて使用​​されたハイブリッドアプリを開発できますか?

ネイティブアプリまたはHTML5アプリのいずれかを開発できることを知っています。

ただし、Ubuntu PhoneでHTML5 UI(ハイブリッド)を備えたネイティブアプリの開発について知りたいのですが。


セーラムの回答が取り上げたQMLベースのユーザーインターフェイス以上のものを参照している場合は、Apache Cordova を介してネイティブコードへのフックがあります。私はまだCordovaを勉強しているので、完全な答えはありませんが、ここで読み取り/ダウンロードするソースです:git-wip-us.apache.org/repos/asf
p=

回答:


10

「ハイブリッド」(webappを表示するC ++アプリですか?C ++ / QML / javascript間でアプリコードを配布しますか?)の意味がわかりませんが、WebViewコンポーネントを使用してqmlアプリケーションでwebpage / webappを表示できます。これはUbuntu Phoneでも動作するはずです。

「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);
};

それが役に立てば幸い。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.