ubuntu sdk hat keine c ++ Beispiele

7

Gibt es C ++ - Beispiele? Neues Projekt> Ubuntu> erlaubt nur einfache qml Apps.

Tablets bieten viel, viel mehr als nur ausgefallene Schaltflächen und ein paar Zeilen Java-Skript! Wenn c ++ veraltet ist, sagen Sie es bitte. Vielen Dank.

user166014
quelle
Ja, es ist enttäuschend zu sehen, dass c ++ nicht den Platz einnimmt, den es in der Entwicklung der Ubuntu-App für Mobilgeräte einnehmen sollte. Mit einem Ubuntu-Telefon würde ich erwarten, dass ich meine aws ec2-Instanz ssh und meine Server von meinem Telefon aus verwalten kann ... hätte geliebt, wenn c ++ (c Familie) in allen MVC
amar

Antworten:

5

Auf der Ubuntu App Developer-Seite heißt es:

Wir empfehlen die Verwendung von QML als Sprache der Wahl zum Schreiben von Apps mit dem Ubuntu SDK.

Wenn Sie jedoch Ihre App in C oder C ++ schreiben müssen oder eine Technologie auf niedrigerer Ebene wie eine Spiel-Engine, einen Physik-Algorithmus oder Hardware-Unterstützung für ein Gerät erstellen möchten, bietet Ubuntu alles, was Sie für den Einstieg benötigen.

Es ist wahr, dass es keine Tutorials gibt (Sie können eventuell eines schreiben), um C ++ zum Schreiben von Ubuntu-Apps zu verwenden, aber dieselbe Seite enthält eine Reihe nützlicher Links zu C ++ - Material.

Sie können sich auch die Links auf der Seite Qt 5.0-Dokumentation und die Qt 5.0-Beispiele und -Tutorials ansehen .

Um Apps für Touch-Geräte zu erstellen, müssen Sie meines Erachtens eher QML-Projekte als Desktop-Projekte erstellen. Sie können Ihren C ++ - Code jedoch weiterhin über die QML-App aufrufen.

Sie können finden Sie einige Beispiele auf dem Qt - Projekt . Schauen Sie sich insbesondere die Links im Abschnitt C ++ - Erweiterungen an . Bitte beachten Sie, dass diese Beispiele speziell für Qt 4.8 gelten. Siehe auch Portieren von QML-Anwendungen nach Qt 5

Siehe auch Integrieren von QML und C ++ in Qt 5.0.

Ausführen nativer Desktop-Apps

Was das Problem betrifft, eine in C ++ geschriebene Desktop-App mit einer QML-GUI auszuführen, anstatt C ++ über QML aufzurufen, besteht meines Erachtens das Problem, dass Ubuntu Touch ein laufendes Projekt ist und viele geplante Funktionen noch nicht implementiert sind.

Ich glaube, die folgenden Informationen zeigen, dass das, was Sie tun möchten, irgendwann möglich sein wird, aber dass derzeit native C ++ - Apps möglicherweise als konsolenbasiert ausgeführt werden müssen.

Aus den Touch-FAQ :

Ubuntu Touch wurde hauptsächlich zur Unterstützung von Web-Apps und nativen Apps entwickelt, die in qml und Javascript oder C ++ programmiert sind. Da es sich um ein echtes Linux handelt, laufen natürlich alle nicht grafischen Anwendungen gleich wie auf jedem anderen Linux-System. Sie können auf Ubuntu Touch ssh und jede konsolenbasierte Anwendung ausführen.

X11 wird (bisher) nicht unterstützt, daher werden nicht alle GUI-Standardanwendungen ausgeführt.

Ubuntu Touch ist ein echtes Linux. Natürlich können Sie einen AC-Compiler und den gesamten Rest des Essential-Build-Systems installieren und auf mobilen Geräten wie unter jedem anderen Linux entwickeln.

Aus den XDA-Entwickler-FAQ :

Ja, native Apps können in C ++ / Qt oder QML / Javascript geschrieben werden. Wir bieten ein UI-Toolkit mit nativen Widgets, die Sie in Ihren Apps verwenden können.

Die Desktop-Shell (Unity 7) wird in derselben Codebasis wie Ubuntu Touch (Unity 8) neu implementiert, sodass es eine "Unity" gibt, die das Aussehen und Verhalten je nach Gerätetyp ändern kann läuft weiter. Für App-Entwickler ist die Plattform dieselbe, die APIs sind identisch, sie müssen keine separaten Versionen ihrer App verwalten.

Sie können auch den Status der Funktionen im Ubuntu SDK anzeigen . Die meisten Funktionen sind noch in Bearbeitung oder TODO

chaskes
quelle
Vielen Dank. Ich habe bereits mehrere C ++ <> QML-Anwendungen, die mit Qt auf Desktop und Sailfish arbeiten, aber ich kann keine Verbindung zu Ubuntu herstellen. Soweit ich sehen kann, kann nur ein Projekt unter Ubuntu auf einem Ubuntu-Gerät bereitgestellt werden. Das Auswählen eines C ++ - Projekts wird automatisch zu einer Desktopanwendung.
user166014
Ich habe basierend auf Ihrem Kommentar weitere Links zu Beispielen und Dokumentationen hinzugefügt. Wenn diese Ihre Frage nicht beantworten, bearbeiten Sie Ihre Frage bitte, um weitere Einzelheiten zu den Problemen zu erhalten, die Sie haben. :)
chaskes
Vielen Dank. Ich versuche, eine aktuelle Anwendung zu portieren (läuft auf einem Netbook), die einen C ++ - Kern (Timer, udev, Datei-E / A usw.) und eine QML-GUI hat. Umgekehrt (Aufruf von C ++ aus QML) würde die gesamte Architektur ruiniert. Ich mache das gleiche für Sailfish, aber dort könnte ich von einer kleinen C ++ - Hauptfunktion ausgehen. QML mit C ++ zum Laufen zu bringen ist also nicht das Problem, aber ich brauche eine C ++ - Hauptfunktion. (Übrigens: QDeclarative ist in Qt5 verschwunden).
user166014
Ich habe die Probleme 4.8 vs 5.0 mit den Beispielseiten durch Verknüpfen mit der Conversion-Seite geklärt. Die meisten 4.8-Beispiele wurden noch nicht auf 5.0 aktualisiert. Ich hoffe, dass der Rest der neuen Informationen Ihre Frage beantwortet.
Chaskes
1
Danke für die ausführliche Antwort. Ich werde auf die Implementierung "Interaktion mit QML-Objekten aus C ++" im SDK warten. Dennoch möchte ich betonen, dass das Fehlen dieser Implementierung viele Entwickler zurückhalten wird, die Apps haben, die in den gängigen Programmiersprachen wie C ++ (IOS) und JAVA (Android) geschrieben sind. Sehr schwer / unmöglich durch (leichtes) Java-Skript zu ersetzen.
user166014