Seite 1 von 1
Handy Apps
Verfasst: Montag 17. Juni 2013, 12:27
von The Hit-Man
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.
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 12:35
von 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.
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 13:00
von The Hit-Man
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.
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 13:14
von 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
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 13:51
von The Hit-Man
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.
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 16:58
von The Hit-Man
dann noch vielleicht ne schnelle Frage. gibt es irgendwie fertige Sachen? sprich frameworks dafür?
hatte irgendwie dojo gefunden...
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 17:06
von 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
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 18:15
von The Hit-Man
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.
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 20:42
von Leonidas
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.
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 21:26
von Dami123
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?
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 21:48
von 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.
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.
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 22:18
von Dami123
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.
Wollte die Fragen umformulieren aus genau dem Grund
Funktionieren in ".exe" umgewandelte Python Apps, die in Win/Linux geschrieben worden sind, auch auf dem Smartphone?
Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 22:23
von BlackJack
@Dami123: Wenn im Smartphone ein Prozessor eingebaut ist, der die EXE ausführen kann. Also eher nein.

Re: Handy Apps
Verfasst: Montag 17. Juni 2013, 23:56
von Leonidas
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.
Re: Handy Apps
Verfasst: Dienstag 18. Juni 2013, 00:36
von Dami123
@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.
Re: Handy Apps
Verfasst: Dienstag 18. Juni 2013, 07:33
von 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.
Re: Handy Apps
Verfasst: Dienstag 18. Juni 2013, 20:10
von EmaNymton
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
