Posso sviluppare un'app ibrida nativa / HTML5 per Ubuntu Phone?


8

Posso sviluppare un'app ibrida che è stata utilizzata insieme all'API nativa e all'HTML5 nel telefono Ubuntu?

So che è possibile sviluppare un'app nativa o un'app HTML5.

Tuttavia, voglio sapere di sviluppare un'app nativa che ha un'interfaccia utente HTML5 (ibrida) in Ubuntu Phone.


Se ti riferisci a qualcosa di più della semplice interfaccia utente basata su QML, a cui ha risposto la risposta di Salem, ci sono agganci nel codice nativo tramite Apache Cordova Sto ancora studiando Cordova, quindi non ho una risposta completa per te, ma, lì è fonte da leggere / scaricare qui: git-wip-us.apache.org/repos/asf?p=cordova-ubuntu.git;a=tree
OYRM

Risposte:


10

Non sono sicuro di cosa intendi con "ibrido" (un'app C ++ che visualizza una webapp? Distribuisci il codice dell'app tra C ++ / QML / javascript?), Ma puoi usare il componente WebView per visualizzare una pagina web / webapp su un'applicazione qml . Questo dovrebbe funzionare anche su Ubuntu Phone.

Prendi questa semplice applicazione composta da: "app.qml", "app.html" e "app.js" (sì, lo so, questa "applicazione" è piuttosto zoppa ...). Questo è stato testato solo con qmlviewer, quindi se provi a eseguirlo attraverso un IDE probabilmente dovrai modificare qualcosa riguardo ai relativi percorsi usati.

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

Spero che sia d'aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.