Handy Apps

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Ich würde ganz gerne Apps für Handies entwickeln. Dabei traf ich auf Kivy, das ich mir gerade mal installiere um es auszuprobieren.
Meine Frage ist eigentlich, kann man Apps programmieren, die auf Android/iOS und auch Windows mobile laufen?

Die meinsten Apps bekommt man ja unter allen gängigen Betriebssystemen. Ich würde ja ungern für jedes OS die gleich App mehrmals schreiben müssen.
BlackJack

@The Hit-Man: Die meisten Apps werden aber wohl für jedes System neu geschrieben, denn die „nativen” Sprachen sind ja unterschiedlich. Objective-C bei iOS und Java bei Android. Keine Ahnung was man bei Windows-Telefonen üblicherweise nimmt. .NET? Bei den Apps die für alle Plattformen in der gleichen Programmiersprache geschrieben sind würde ich mal auf HTML5 und JavaScript tippen, und eine Abstraktionsschicht welche Zugriff auf die Telefonhardware bietet und die Unterschiede zwischen den Plattformen ausgleicht.
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

ja, verstehe. an HTML5/ JavaScript hatte ich auch schon gedacht. allerdings müssen die Handies dann immer am Netz gebunden sein. Das ist schlecht wenn du eben ein Funkloch hast.
BlackJack

@The Hit-Man: Man braucht bei HTML5-basierten Apps nicht immer eine Verbindung. Man kann dort in einem Manifest angeben welche Dateien zur App gehören und deshalb lokal gespeichert werden sollen. Und es gibt auch Wege (über Cookies hinaus) Daten lokal zu speichern. Lesestoff: http://diveintohtml5.info/offline.html
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Darüber habe ich noch gar nicht nach gedacht. Ich dachte immer für das JavaScript braucht man immer einen Webserver, der erreichbar sein muß. Wie soll denn sonst die Seite mit dem HTML5 geladen werden?

EDIT: Im Endeffekt geht es da drum, das Daten synchronisiert werden. Also wenn man offline ist, soll man Daten eingeben können und so bald wieder eine Verbindung besteht, diese Daten dann synchronisieren.
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

dann noch vielleicht ne schnelle Frage. gibt es irgendwie fertige Sachen? sprich frameworks dafür?

hatte irgendwie dojo gefunden...
BlackJack

Also nach kurzer Suche habe ich zum Beispiel Cordova gefunden (ehemals PhoneGap). JavaScript-Frameworks für Mobile-Geräte gibt's auch mehrere. Dojo Mobile, jQuery Mobile, Sencha Touch, nur um mal die zu nennen die auf der Cordova-Seite gelistet sind.

Edit: Hier gibt's eine deutlich längere Liste: https://en.wikipedia.org/wiki/HTML5_in_mobile_devices
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Danke sehr. Wer die Wahl hat, hat die Qual. Bin da gerade etwas überfordert. Weiß gar nicht genau, was da jetzt nimmt. Aber ich schau mir die Sachen mal an.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

The Hit-Man hat geschrieben:ja, verstehe. an HTML5/ JavaScript hatte ich auch schon gedacht. allerdings müssen die Handies dann immer am Netz gebunden sein. Das ist schlecht wenn du eben ein Funkloch hast.
Das stimmt so nicht. Gerade PhoneGap/Cordova und Appcelerator Titanium bauen aus HTML5-Apps "native" Apps, die auch lokal funktionieren, Internetverbindung ist nicht nötig. Ist letztendlich einfach ein HTML-Widget in dem das HTML gerendert wird und die Logik in JavaScript ist. Wenn du aus dieser App nicht nach "außen" verbindest, dann brauchst du keine Internetverbindung. Wenn du das machen willst, dann brauchst du natürlich schon eine - aber das gilt ja auch für Java/Objective-C oder sonstige "nativen" Apps.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Dami123
User
Beiträge: 225
Registriert: Samstag 23. Februar 2013, 13:01

Wenn schon ein Thread offen ist, stell ich auch meine Fragen dazu.

Kann man mit Python Apps ausführen, wenn diese in ".exe" umgewandelt wurden?
Java Apps sollten doch unter allen Betriebssystemen laufen, sofern Java drauf installiert ist?
Jede Programmiersprache, die compilierten Code erzeugt, kann man für Handy Apps verwenden?
BlackJack

@Dami123: 1. Ja man kann mit Python .exe-Dateien ausführen. Zumindest wenn die auf dem Betriebssystem laufen auf dem man sie startet. Das geht mit dem `subprocess`-Modul. Das beantwortet zwar die Frage die Du gestellt hast, aber wahrscheinlich nicht die, die Du eigentlich stellen wolltest. :twisted:

2. Ja, wenn eine passende Java Runtime Environment (JRE) installiert ist, kann man damit kompilierte Java-Programme ausführen.

3. Nein. Denn dazu muss das Kompilat entweder auf dem Prozessor und mit dem System auf dem Telefon ausführbar sein, oder es muss eine VM geben, die das Kompilat ausführen kann. Und natürlich gibt es nicht für jedes Telefon jede erdenkliche VM um jedes beliebige Kompilat auszuführen.
Dami123
User
Beiträge: 225
Registriert: Samstag 23. Februar 2013, 13:01

BlackJack hat geschrieben:@Dami123: 1. Ja man kann mit Python .exe-Dateien ausführen. Zumindest wenn die auf dem Betriebssystem laufen auf dem man sie startet. Das geht mit dem `subprocess`-Modul. Das beantwortet zwar die Frage die Du gestellt hast, aber wahrscheinlich nicht die, die Du eigentlich stellen wolltest. :twisted:
Wollte die Fragen umformulieren aus genau dem Grund :roll:
Funktionieren in ".exe" umgewandelte Python Apps, die in Win/Linux geschrieben worden sind, auch auf dem Smartphone?
BlackJack

@Dami123: Wenn im Smartphone ein Prozessor eingebaut ist, der die EXE ausführen kann. Also eher nein. ;-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dami123 hat geschrieben:Funktionieren in ".exe" umgewandelte Python Apps, die in Win/Linux geschrieben worden sind, auch auf dem Smartphone?
Ich glaube ".exe" ist falsch. Ich verstehe darunter Windows PE-Dateien, die "schreibt" man eher nicht unter Linux (auch wenn es Crosscompiler gibt). Du meinst vermutlich generell Binaries, also Windows PE-Binaries und Linux ELF-Binaries. Im Falle von Windows: nein, denn es gibt afaik kein Windows auf einem Smartphone das die Binaries von einem Desktop-Windows ausführen kann, Windows Phone ist eher ein eigenes System.

Linux MIPS/ARM/x86 ELF Binaries könnten eventuell unter Android laufen, dazu müsste man sie allerdings auf dem Desktop schon gegen bionic, der Android-libc linken. Das ganze ist vermutlich gar nicht so einfach und vermutlich auch wenig erfolgversprechend.

Also im Allgemeinen: nein. Wenn du für Smartphones entwickeln willst, dann musst du für Smartphones entwickeln/portieren. Einfach so übertragen klappt eher nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Dami123
User
Beiträge: 225
Registriert: Samstag 23. Februar 2013, 13:01

@BlackJack
Wenn die "meisten" Smartphones keinen nativen Code ausführen können, dann sollten die doch ihren eigenen haben.
Weiter oben steht, dass Objective-C von iOS verwendet wird, also wenn ich damit ein Programm schreibe, sollte es auf iOS Produkten laufen?

@Leonidas
Ja das hab ich mir gedacht.
Die andere Seite die ich meinte ist, dass man aufm Desktop PC die Apps entwickelt. Durch einen Smartphone-Emulator o.ä..
Damit man nicht beim debuggen ständig alles auf den Phone laden muss. Wobei das auch nicht die große Schwierigkeit wär.
BlackJack

@Dami123: Alle Smartphones können nativen Code ausühren. Wenn da kein Prozessor drin ist, wäre das Telefon ja nicht Smart. ;-) Sie können halt nur Sachen ausführen die für den Prozessor und/oder die VM geschrieben sind, die auf dem System vorhanden sind.

Wenn Du mit Objective-C ein Programm schreibst, dass für iOS geschrieben ist, dann läuft das auch unter iOS. Das bedeutet nicht, dass jedes beliebige in Objecive-C geschriebene Programm auf iOS läuft. Viele Programme für MacOS X sind ja auch in Objective-C geschrieben, und genau so wenig wie man Windows-EXEn auf Windows Phone Geräten einfach so laufen lassen kann, lassen sich auch keine Mac-Programme einfach so auf iPhone & Co ausführen.

Man muss schon für das Zielsystem, eventuell seinen Prozessor, und die dort verwendete Laufzeitumgebung programmieren.
EmaNymton
User
Beiträge: 174
Registriert: Sonntag 30. Mai 2010, 14:07

Zu iOs und Android kann ich wenig sagen, da ich für diese Plattformen noch nichts programmiert habe. Vielleicht ist es für den ein oder anderen aber auch ein Anreiz mit Python und Qt für die "neueren" Plattformen zu programmieren, als da wären Sailfish OS (ehemals Meego), Ubuntu Phone, BB10. Diese unterstützen allesamt die Kombination Python/QML, so dass man hier z.B. sein Backend der Anwendung in Python einmal programmiert und die Oberfläche in QML an die jeweiligen Gegebenheiten des OS anpasst.

Wollte ich hier in nem Python-Forum nur mal so einwerfen ;)
Antworten