App programmieren



  • Ethon schrieb:

    Ja, wenn man ein Individualist sein will und deswegen seine Produktivität im Android Umfeld herunterschrauben möchte - bitte.

    Wenn du nur für Android programmierst, stimmt wohl die Aussage. Willst du aber mehrere Plattformen unterstützen, stimmt sie wohl nicht mehr.

    L. G.,
    IBV



  • Erhard Henkes schrieb:

    Sollte man wirklich in java programmieren?

    Wenn du im C++Forum fragst, natürlich nicht, sonst schon.



  • IBV schrieb:

    Ethon schrieb:

    Ja, wenn man ein Individualist sein will und deswegen seine Produktivität im Android Umfeld herunterschrauben möchte - bitte.

    Wenn du nur für Android programmierst, stimmt wohl die Aussage. Willst du aber mehrere Plattformen unterstützen, stimmt sie wohl nicht mehr.

    L. G.,
    IBV

    Dachte an Android, da er einen Android-Link gepostet hatte. 😉



  • Ich schrieb, wenn du nur für Android programmierst. I. d. R., will man doch seine App auf mehrere Plattformen sehen.

    L. G.,
    IBV



  • Ethon schrieb:

    Ja, wenn man ein Individualist sein will und deswegen seine Produktivität im Android Umfeld herunterschrauben möchte - bitte.

    Es gibt durchaus auch andere Sprachen mit denen man produktiv unter Android arbeiten kann, und dennoch keine Bibliothek vermissen oder Performancenachteile hinnehmen muss. Sogar wenn man ausschließlich für Android entwickelt ist das möglich.

    Sinnvoll sind die Alternativen aber vor allem dann, wenn man noch keine Java-Kenntnisse hat und eine der Alternativen bereits beherrscht, oder man für mehrere Plattformen entwickelt. Bei mir trifft der erste Punkt zum Teil zu (ich kann zwar Java, nicht aber besonders gut; mit C++ und C# habe ich weit mehr Erfahrung) und der zweite komplett zu (Zielplattformen in meinen Fall: iOS, Android, WP, WinRT, Windows). In meinen Fall programmiere ich komplett unter Visual Studio mit C#, für die mobilen Plattformen mit Ausnahme WinRT nutze ich Xamarin (vorzugsweise Xamarin.Forms). Und Xamarin erzeugt unter Android nativen Code.

    Es gibt aber auch andere Alternativen.



  • Was machst du, wenn Xamarin Bugs hat? Selbst Android hat Bugs, die Compatibility-Libs insbesondere. Ich bin mehrmals darauf gestoßen. D. h., du musst dich nicht nur mit Android-Bugs auseinandersetzen, sondern auch mit Xamarin-Bugs.

    Ich weiß nicht, ob das so gut ist, wie das in der Theorie klingt...

    L. G.,
    IBV



  • IBV schrieb:

    Was machst du, wenn Xamarin Bugs hat? Selbst Android hat Bugs, die Compatibility-Libs insbesondere. Ich bin mehrmals darauf gestoßen. D. h., du musst dich nicht nur mit Android-Bugs auseinandersetzen, sondern auch mit Xamarin-Bugs.

    1. Reagiert Xamarin nach meiner Erfahrung auf Bugeinträge.
    2. Möchte ich sehen wie man mehrere Plattformen anspricht, ohne durch mindestens einen weiteren Abstractionslayer eine potentielle Fehlerquelle einzubauen.
    3. Stellt sich dennoch die Frage was überwiegt: Die Gefahr eines zusätzlichen Fehlers, oder der Zeitgewinn dadurch das man (imho) sogar Produktiver arbeitet, ins besondere wenn man ohnehin C# kennt.
    4. In allen meinen bisherigen Firmenprojekten waren wir immer von externen Komponenten und Frameworks abhängig, wirkliche Probleme die man nicht im schlimmsten Fall wenigstens irgenwie umschiffen konnte (Bis eine Fehlerbehebung heraus gekommen ist), habe ich nicht erlebt*.

    * Selbst unter C++ mit der VCL haben wir notfalls in den VCL-Code eingegriffen.



  • Th69 schrieb:

    Für plattformübergreifende Entwicklung würde ich z.B. Xamarin (mit C#) empfehlen.
    Es gibt wohl auch noch Cordova - ich selber habe damit aber keine Erfahrung.

    Gibt auch noch Kivy (Cross-Platform App Framework auf Python Basis).



  • asc schrieb:

    2. Möchte ich sehen wie man mehrere Plattformen anspricht, ohne durch mindestens einen weiteren Abstractionslayer eine potentielle Fehlerquelle einzubauen.

    kannst du mit c++ und android/ios dir direkt anschauen, beide sind mit c++ und opengl ES relativ gleich programmierbar. es gibt beim entry punkt natuerlich unterschiede, input handling und file access, aber das ist nicht wirklich viel code.

    [edit]
    ach ja, das ist weshalb mir marmalade gefaellt, zwischen native code und marmalade ist nicht soviel unterschied. man kann der einfachheit halber marmalade nutzen, aber ist nicht davon abhaengig, zur not kann man native arbeiten und muss dann die schnittstellen wrappen (so wie man es sonst gemacht haette).

    https://www.madewithmarmalade.com/showroom
    wird scheinbar auch von namenhaften genutzt.

    ( 'ne andere sprache nutzen nur um sich den wrapper zu sparen 🤡 )



  • rapso schrieb:

    asc schrieb:

    2. Möchte ich sehen wie man mehrere Plattformen anspricht, ohne durch mindestens einen weiteren Abstractionslayer eine potentielle Fehlerquelle einzubauen.

    kannst du mit c++ und android/ios dir direkt anschauen,...

    Und was ist mit Windows Phone, WinRT...? Davon abgesehen ist OpenGL nicht zwangsweise für jede Anwendung die sinnvolle "Abstraktion", ich möchte keine Controls selbst zeichnen (Anwendungen im Businessbereich) sofern bereits welche existieren. Zudem möchte ich für Controls ggf. auch schlicht auf Fremdanbieter zurückgreifen können...

    Es gibt nicht DIE Lösung, es ist immer abhängig von mehreren Umständen was die jeweils für den Fall beste Lösung ist.


Anmelden zum Antworten