ubuntuusers.de

QML Lernen

Status: Ungelöst | Ubuntu-Version: Ubuntu 15.04 (Vivid Vervet)
Antworten |

Toby87

Anmeldungsdatum:
15. Januar 2012

Beiträge: Zähle...

Hallo,

auf die Gefahr hin das ich mich hier ein wenig lächerlich mache stelle ich die Frage trotzdem, weil ich leider keinen geeigneten Einstieg hierzu finden konnte (oder nicht die Richtigen Suchbegriffe gefunden habe).

Zu Schulzeiten habe ich schon ein wenig Delphi (Ampelschaltungen, Taschenrechner, Fahrstuhlschaltung etc.) gelernt, später auch ein bisschen mit HTML probiert. CSS, PHP, oder Java habe ich aber nie genutzt, es blieb also bei einfachen Internetseiten. Das ist aber alles schon grob 10 Jahre her, ich würde mich also als absoluten Einsteiger bezeichnen.

Meine Motivation programmieren zu lernen ist persönlicher Natur, beruflich kann ich damit nichts weiter anfangen. Ein paar Software Ideen hätte ich, die liegen aber ohnehin noch lange in der Zukunft, sofern ich mich überhaupt jemals daran mache. Ein konkretes Ziel habe ich also eigentlich nicht. Klar ist aber das ich seit Jahren Ubuntu nutze und entsprechend auch in erster Linie für Ubuntu programmieren wollen würde, hier scheint es momentan einfach weg von GTK hin zu QT zu gehen, entsprechend würde ich mich auch darauf fokussieren wollen. Das ich letztlich wieder wie zu Delphi-Zeiten mit Ampelschaltungen, Taschenrechnern und Co. anfangen werde ist mir natürlich klar und auch vollkommen in Ordnung so.

In den letzten Tagen habe ich mich ein wenig mit Python beschäftigt und habe dafür ein tolles deutschsprachiges Tutorial (wobei auch Englisch Ok wäre) gefunden. Allerdings findet im auf der Entwicklerseite von Ubuntu Python gar keine Erwähnung mehr, das Ubuntu SDK erwähnt auch nur noch html5 und QML. Von daher denke ich, das es mit Blick auf die Zukunft wohl besser wäre statt Python eher QML zu lernen, auch wenn der Einstieg etwas schwieriger sein sollte. Dass das SDK vornehmlich auf Ubuntu touch bezogen ist, ist mir klar, aber mittelfristig wird ja beides ohnehin zusammenwachsen und auch Desktop Programme sollten sich damit ja entwickeln lassen.

Lange rede kurzer Sinn, als erstes "Reintesten" war Python klasse, bevor ich richtig einsteige würde ich gerne auf QML wechseln. Leider wird diese Abkürzung etwas öffter verwendet. Auf vielen Ubuntu spezifischen Seiten wird es (noch) gar nicht erwähnt (so auch im Ubuntuuser Wiki), ich kann kein Tutorial finden mit dem sich diese Sprache auch lernen lässt. Weder auf Deutsch (optimal) noch auf Englsich (auch in Ordnung), jetzt stehe ich natürlich vor der Frage wie ich den Einstieg schaffen soll.

Kann mir jemand ein gutes Tutorial oder ein Buch zum QML lernen empfehlen? Ist meine Überlegung das QML für native Ubuntu apps in Zukunft erste Wahl ist überhaupt zutreffend?

Viele Grüße,

Tobias

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

grundsätzlich: wenn du Programmieren möchtest, kommst du um Englisch nicht umhin. Das ist nun mal die Standardsprache für Dokumentationen in der Softwarewelt.

Ansonsten wirfst du noch ein paar Sachen durcheinander: Wenn du eine Applikation schreibst, dann trennst du in der Regel die Applikationslogik von der Benutzeroberfläche. Wenn deine Applikationslogik in Python geschrieben ist, kannst du die Oberfläche immer noch mit Qt oder GTK oder ... umsetzen. Wichtig wäre dann nur, dass auf dem Zielsystem alle benötigen Bilbliotheken installiert sind (als z.B. die Qt- oder GTK-Bibliotheken).

Wenn du gezielt für Ubuntu Phone entwicklen willst, dann macht es schon Sinn, die Bibliotheken zu nutzen, die das System so wie so mitbringt. Und bei Ubuntu Phone wäre die Empfehlung dann entweder HTML5+CSS+JS oder QML (wobei QML ja auch nahtlos JS einbinden kann). Tutorials dazu gibt's auf der englischen Ubuntu-Seite.

Jedenfalls kannst du IMHO QML für größere Applikationen so wie so nicht alleine umsetzen, weil du irgendwann die Applikationslogik in eigene Module auslagern musst. Und dann bis du an dem Punkt, wo du dein Programm halt z.B. in Python schreibst, die Benutzeroberfläche aber in QML umsetzt. Diverse Tutorials gibt's z.B. in der PySide Doku: https://wiki.qt.io/PySide-QtQuick-Tutorials.

Zum lernen von QML an sich gibt es eine Reihe von Tutorials / Doku. Gut ist IMHO z.B. die offizielle Doku auf der Qt-Homepage: https://wiki.qt.io/Qt_Quick_Tutorial als auch das Qt-Wiki https://wiki.qt.io/Qt_Quick_Tutorial. Ist halt alles englisch, siehe oben 😉

Gruß, noisefloor

P.S.: für Python empfehlenswerte Tutorials sind:

Toby87

(Themenstarter)

Anmeldungsdatum:
15. Januar 2012

Beiträge: 30

Hallo,

Englisch ist grundsätzlich kein Problem, für den ersten Einstieg fand ich python-kurs.eu aber gar nicht schlecht.

Das ich für Pythonprojekte auch GUIs mit GTK oder QT erstellen kann war mir bekannt, bevor ich das Ubuntu SDK installiert habe habe ich kurz mit quickly und QT Designer experimentiert.

Was mir nicht klar war, war tatsächlich ob ich mit dem QT Creator aus dem Ubuntu SDK ein Gui für python erstellen kann, bzw. ob python vom SDK unterstützt wird. Das scheint aber wohl seit 2.8 der Fall zu sein. Dass das Programm dann natürlich nur auf Rechnern läuft, auf denen python installiert ist, ist natürlich klar.

Bleibt die Frage ob es sinnvoller wäre python oder qml, evtl. auch Javascript zu lernen wenn ich in Zukunft Programme für Ubuntu schreiben möchte. Ubuntu Phone als eigenständiges Betriebssystem sollte es ja mittelfristig nicht mehr geben. Wenn das angekündigte Ubuntu Phone (convergence) ende des Jahres nicht zufällig ~4.5 Zoll hat (oder zumindest unter 5 Zoll) werde ich wohl auf absehbare Zeit kein Ubuntu Phone kaufen, das BQ E4.5 ist mir nicht potent genug. Es geht mir also in erster Linie um den Desktop, wobei mein nächstes Notebook wohl ein 2in1 sein wird, also zumindest der Tablet mode nicht ganz uninteressant ist. Grundsätzlich dürften mir wohl mit dem Desktop so ziemlich alle Türen offen stehen was die Wahl der Programmiersprache angeht, wenn sich künftig aber alles unter Ubuntu auf QML oder HTML5 stürzt würde ich mich dem anschließen wollen, das kann ich aber nicht abschätzen. In wiefern reicht QML für umfangreichere Programme nicht aus? Das QML sehr eng mit QT verwoben ist, ist mir klar aber eben nicht in wiefern es trotzdem eine vollwertige Programmiersprache ist eher nicht.

Danke auf jedenfall schonmal für die Links, ich schau mir die mal genauer an, vielleicht ist danach auch schon einiges klarer.

Viele Grüße,

Tobias

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

QML ist zunächst nur eine Sprache zu Beschreibung von graphischen Oberflächen. Man kann allerdings Javascript-Code ganz einfach in QML-Dateien einbetten, streng genommen kann man also nicht von einem QML-Programm reden, sondern müsste QML/Javascript-Programm sagen.

Python dagegen ist nicht in QML integriert, wenn man Python mit QML vewenden will, ist man auf andere Projekte angewiesen, die Python-Anbindungen bereitstellen. Es gibt da PyQt und PyOtherSide, beides in den Ubuntu Paketquellen für das aktuelle Qt5. Das oben erwähnte PySide gibts nur für das veraltete Qt4 und ist nicht empfehlenswert.

Für eine Anfänger ist es durch die gute Integration in QML wahrscheinlich einfacher mit Javascript als Python anzufangen (auch wenn mich das als Python-Fan sehr sehr traurig stimmt 😢 ).

Wenn du nur für den Desktop programmieren willst, brauchst du das Ubuntu-SDK nicht, eine in reinem QML/Javascript geschriebene App läuft dann überall wo Qt installiert ist, wenn du die App dann fürs Ubuntu-Phone anpassen willst, kannst du dich dann immer noch damit beschäftigen.

Was gute Tutorials/Bücher angeht, kann ich dir nicht weiterhelfen, ich fand immer die offizielle Dokumentation ausreichend: http://doc.qt.io/

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Toby87 schrieb:

Englisch ist grundsätzlich kein Problem, für den ersten Einstieg fand ich python-kurs.eu aber gar nicht schlecht.

Das ist schade, denn das Ding *ist* schlecht! (Da es eine Menge objektiv falsche Inhalte vermittelt) (Kann man als Anfänger natürlich nicht beurteilen - aber genau das ist das fatale daran!)

Such mal danach hier im Forum oder auch auf python-forum.de. Dazu ist schon viel gesagt worden - geändert hat sich daran leider nichts wesentliches ☹

napo22

Anmeldungsdatum:
2. Juli 2011

Beiträge: 146

Owohl der Titel lautet "A Book about Qt5" ist es ein guter Lehrgang für Qml, siehe http://qmlbook.github.io/

napo22

Anmeldungsdatum:
2. Juli 2011

Beiträge: 146

Antworten |