plattformunabhängige App programmieren - Hintergründe, und vor allem die Frage ob dies so realisierbar ist

  • Hallo zusammen,


    ich bin absolut neu hier bzw. stehe ich ganz am Anfang bei der Konzeptionierung meiner Anwendungsentwicklung - quasi erst einmal Ideen sammeln etc.
    Kurz zum Hintergrund:


    Wir vertreiben Messgeräte aller Art bzw. sind im Bereich Energiedatenerfassung zu Hause. Und dazu haben wir die passende Software zur Auswertung - webbasierend und Windows lastig.
    Stellt euch einfach ein Betrieb bzw. eine größere Firma vor - dort werden verschiedene Energieformen gemessen a'la Strom, Gas, Druckluft, Wasser usw. Überall dort wo kein Messgerät eingebaut ist (über TCP/IP mit der Software verbunden), sind ganz normale Ablesezähler verbaut - so wie bei jedem in seiner Zählerverteilung im Haus. Diese Zähler werden (vom jeweiligen Ableser im Betrieb) Monat für Monat abgelesen - kann einen Mann 1-2 Tage voll beschäftigen.


    Und jetzt kommts:


    Bisher haben wir für diese "mobile Zählererfassung" eine kleine Software für den handelsüblichen PDA - lauffähig unter Windows Mobile. Somit hat der Ableser (die arme Sau) ein geniales Werkzeug in der Hand - läuft mit seinem PDA seine Zähler ab, trägt den Zählerstand in den PDA, um dann nach einer direkten Plausibilitätsprüfung an den nächsten Zähler zu laufen. Im Anschluss wird der PDA an den Rechner "gedockt", und die Zählerdaten (als xml Datei) werden direkt in die Datenbank geschrieben.


    Fakt:


    PDA's sind am aussterben bzw. mittlerweile fast gar nicht mehr erhältlich - abgelöst durch Smartphones etc. Wir brauchen eine App - vom Leistungsumfang sollte diese natürlich das gleiche können wie die Vorgängerversion unter Windows Mobile.


    - GUI zur Zählerstandserfassung
    - Input/Output als xml Datei etc.


    und zusätzlich stellen wir uns vor das der Barcode des Zählers mit der Kamera "erfasst" werden kann - zur eindeutigen Identifikation.


    Jetzt stellen sich für mich folgende Fragen:


    1. Generell realisierbar? Für jeden Tipp etc. dankbar bzw. wie gehe ich am besten so ein Projekt an. Java Kenntnisse sind dezent vorhanden bzw. denke nicht das (nach einer gewissen Einarbeitungszeit) dies ein Problem darstellt.


    2. Die "Pad's" werden eventuell von uns dazu verkauft - aber: Bei den PDA's war es seinerzeit das selbe - entweder wir haben dem Kunden eines verkauft, oder er hatte schon eines in seinem Besitz. Mal angenommen (in naher Zukunft) der Kunde besitzt schon ein Pad - allerdings mit einem Windows Betriebssystem, oder gar ein iPad. Dem brauche ich nicht mit einer Android App kommen - -deshalb:


    würde es deswegen nicht Sinn machen, das Ganze als HTML5 App zu programmieren - um damit Platformunabhängig zu werden? Wie gesagt - bin gerade am Ideen zusammen suchen, aber ich bin vorhin über folgendes Buch gestossen:


    [amazon] 3645600523[/amazon]


    Ein Traum wäre eine Applikation, welche unter meinem geliebten Androiden, "Windows XYZ Mobile" und auch auf der "Spielweise von Steve Jobs" läuft. Was meint Ihr dazu?


    Danke im Voraus für die Infos...


    Grüße Kollisionskurs!

  • Hallo,


    im Grund genommen haben wir einen ähnlichen Anwendungsfall: unser Außendienst soll vor Ort Daten erfassen - inklusive Belegfotos.
    Bisher geschah dies in Papierform. Die papiernen Belege mussten dann hier im Büro händisch in die Datenbank übertragen werden. Insbesondere die nachträgliche Zuordnung der Belegfotos ist dabei aufwändig und fehlerträchtig.


    Daher entstand die Idee, die Daten direkt vor Ort bereits elektronisch zu Erfassen.


    Eine erste Version der Software haben wir bereits erfolgreich im Feldeinsatz getestet. Durch die ersten Erfahrungen bestärkt entwickeln wir die Applikation zur Zeit weiter, um möglichst alle Fälle abzudecken und die Bedienung "rund" zu machen.


    Unser Fazit: grundsätzlich funktioniert so etwas.


    Problematisch ist allenfalls, dass die Geräte nicht so robust sind, wie die Geräte die zum Beispiel von diversen Paketdiensten eingesetzt werden. Der Zubehörmarkt scheint solche "professionellen" Anwendungen für Smartphones noch nicht entdeckt zu haben: es gibt zwar reichlich Hüllen, diese sind aber eher stylish. Wir haben auch noch keine Möglichkeit gefunden, die Geräte direkt am Körper zu befestigen, so dass sie nicht verloren gehen können und trotzdem bedienbar sind.


    Für Android haben wir uns entschieden, weil es eine hervorragende Entwicklungsumgebung gibt und es zahlreiche Hersteller von Smartphones mit Android - im Gegensatz zum Beispiel zum IPhone, wo man von einem einzigen Hersteller abhängig ist.


    Viel Glück bei der Entwicklung.

  • Hallo,


    Wenn es derzeit um Plattformunabhängigkeit geht, weise ich auch immer noch ins Web. Ins Internet kommt man heutzutage mit beinahe jedem aktuelleren Gerät (vorausgesetzt es ist ein Netz vorhanden). Ich würde die Anwendung deshalb auf den Firmen-Server schreiben und dann muss man sich nur noch über Android / Windows / iOS / ... einloggen um die Daten raufzuspielen. Vorteil: man bräuchte auf dem Device keine Software, sondern nur eine Internetverbindung.


    mfg Florian

  • Ja aber es ist IMHO einfacher ein kleines Interface für mehrere Plattformen zu programmieren, als gesamte Anwendungen. Auf dem Device ist eine kleine Anwendung, die eine XML-Datei erstellt (Kundendaten, Zählerstand, Bild) und diese dann an den Service auf dem Server sendet. Dort findet die Verarbeitung der Daten statt.
    Um dieses Interface für Android, iPhone, Windows Phone, etc. anzubieten braucht man ein paar Stunden Programmierzeit. Wenn aber alles vom Device gemacht werden soll, sind spätere Änderungen / ERweiterungen sehr aufwändig.

  • Aso, ja so isses natürlich sinnvoll. Aber ganz ohne Anwendung aufm Device gehts wohl nicht :)


    Ja, aber der Aufwand für eine Portierung kann so sehr gering gehalten werden. Es ist ja prinzipiell nur eine Eingabemaske für ein paar Daten. Die Anwendung schneidert daraus eine Datei (XML oder anderes Format) und sendet sie an den Server. Wo sie dann auch direkt vom Büropersonal abgerufen werden können und weiterverarbeitet werden können.


    mfg Florian

  • Danke erst einmal fürs Feedback! :Android:


    Florian:


    Genau in diese Richtung soll es gehen bzw. eine kleine und smarte Applikation auf dem Device. Allerdings muss diese autark und ohne Netzanbindung lauffähig sein - ich kann nicht davon ausgehen das jeder Kunde an jedem Zähler auch ein Netz (für die direkte Datenübertragung) zur Verfügung hat. Das Programm verarbeitet den Input des Benutzers - berechnet zum Beispiel den Verbrauch anhand dem (gerade eingegebenen) neuen Zählerstand minus dem alten Zählerstand (welcher ja noch in der xml Datei steht) usw. Nach der Eingabe aller Zähler, wird die Ausgabedatei auf den Server übertragen und dort verarbeitet bzw. die Zählerdaten in die Datenbank übertragen. Prinzipiell ist das schon ein eigenständiges Programm mit einer überschaubaren Logik - ich muss die Plausibilitätsprüfung und Auswertung auf dem mobilen Gerät ausführen, der Bearbeiter muss sofort vor Ort eine Information erhalten wenn etwas nicht stimmt bzw. plausibel erscheint (unabhängig von der Serverapplikation).


    Meines Erachtens gibt es zwei Möglichkeiten:


    1. Entweder ich beschränke mich auf eine Plattform (z.Bsp. Android) oder ich programmiere die Applikation für jede gewünschte Plattform einzeln und extra (extremer Mehraufwand).


    2. Die Programmierung erfolgt via html5, CSS & JS - quasi Plattformunabhängig. Via Phonegap (thx Thrakbad) wird es für die jeweilige Plattform angepasst !?!.


    Aufgrund nicht vorhandener Erfahrung möchte ich mir natürlich im Vorfeld sicher sein, was die bessere Lösung ist.
    Habe ich via HTML5 etc. uneingeschränkten Zugriff auf die System-Hardware, wie z.Bsp. in meinem Fall die Kamera?


    Danke & Grüße


    Kollisionskurs

  • Ich beschäftige mich zur Zeit ebenso mit dieser Problematik. PhoneGap sieht wirklich interessant aus, ich hab mir mal ein paar Demo Applications aus dem Market runtergeladen und angeguckt. Aber leider musste ich enttäuscht feststellen, dass man sofort merkt, dass die Apps deutlich langsamer sind und sich nicht perfekt ins OS integrieren. Oder hab ich die falschen Demos/Apps gesehen? Die saubere Funktion und Integration ins Betriebssystem ist mir doch sehr wichtig, es geht ja um das Wohlbefinden der User. Hat hier schon jemand praktische Erfahrungen mit PhoneGap gemacht?

  • Ich habe hier kurz die ersten beiden Beiträge gelesen.



    Und eigentlich suche ich nach einer Lösung für ein ähnliches Problem. Allerdings möchte ich das XML nicht händisch kopieren sondern soll auf knopfdruck per UMTS auf ein Server geladen bzw geschickt werden.



    Ist das technisch möglich? Also quasi das Speichern von Daten von extern auf dem Smartphone und andersrum?



    VG

  • Für die Pattformen IPhone, Android, Blackberry und Symbian (Phone 7 ist in Arbeit) habe ich ein Framework entwickelt, dass aus Basis-Apps für jede Plattform und und einem Server (Java) besteht. Der Server liefern Seitenbeschreibungen für die Phones und realisiert die Anbindung an die Datenbasis des Unternehmens.


    Weiteres ist unter www.memoasis.de zu finden

  • Es gaebe da noch das AirPlay SDK: http://www.airplay.sdk


    Oder auch Corona: http://www.anscamobile.com


    Und dann waere da noch monkey, was aber noch in der Entwicklung ist, als Zielplattformen dann aber Android, iPhone, XNA, HTML5 und Flash unterstuezt: http://marksibly.blogspot.com


    Appcelerator sieht gut aus, ist aber Schrott. Das Entwickeln von nativen iPhone und Android Apps mit der Javascript API funktioniert einfach nicht. Dinge, die auf dem iPhone laufen, funktionieren dann nicht beim Android und umgekehrt. Man muss also staendig nachbessern, da kann man auch gleich getrennt entwickeln. Ein weiteres Problem ist das Debuggen, das kann man getrost vergessen.

  • Ich sehe das Problem ebenfalls.


    Habt ihr mal Adobe Air ausprobiert? Ich kenne Leute die im Unternehmensumfeld nahezu alle Applikationen damit schreiben da es auf dem IPhone und Android läuft.


    HTML Webapps laufen überall, das große Plus! Dafür muss man immer im Internet sein. Mit HTML5 (local storage) habe ich noch nichts probiert. Integrieren sich die Applikationen denn nahtlos? Kann ich mir kaum vorstellen (sdk apps vs html5).


    http://tv.adobe.com/watch/flas…lash-showcase-for-mobile/

  • Hi HCumberdale,


    ich musste mal für die Firma in der ich arbeite verschiedene Framewroks für ein Projekt evaluieren.


    Darunter was auch Adobe Air bzw der FlashBuilder ansich ist es keine schlechte Sache (vorrausgesetzt natürlich mann kann Flash).
    Haben uns aber dagen entschieden zum einem da keiner bei uns wirklich Flash kann und zum anderen um das App auf eine Android Gerät zum laufen zu bringen benötigt man eine Laufzeitumgebung. Das "Hallo world" App war ein paar KB groß und die Laufzeitumgebung die ich laden musste ganze 16 MB.


    Denkmal im Firmen umfeld wo alle Geräte die gleiche Software Bases haben ist dieses System eine schnelle möglichkeit Apps zu coden.


    mfg Titus

  • phonegap scheint nur ein fronten für html5 Applikationen zu sein. Die jquery Mobile lib ist auch nicht so schnell wie die native 3d beschleunigung vom android ...
    Was haltet ihr von GWT-Mobile mit Phonegap? Für "Business Applikationen" ohne viel 3D + Gaming läuft das auf meinem S2 nicht langsamer als die generische UI.
    https://github.com/dennisjzh/GwtMobile-PhoneGap
    Kann jmd. mit iPhone4 / iPhone3 mal Fantasy Predictor testen? Läuft das auch auf dem Gerät flüssig?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!