Android Apps programmieren

  • Allgemein

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Radinator.

    Android Apps programmieren

    Moin,

    Ich habe früher viel hobbymässig in Vb.Net programmiert und bin anschliessend kurz zu C# gewechselt.

    Nun bin ich jetzt Berufsmässig, einige Jahre später, wieder mit dem Programmieren konfrontiert worden.

    Darunter zählt VBA in Word / Excel und eher kleineren C#-Tools um Prozesse zu standardisieren und zu erweitern wo ERP-Programmierungen zu teuer sind.

    Für alles weitere habe ich ein Programmierer-Team, welches ich koordinieren kann.

    Zu meiner Frage:
    Ist es möglich mit C# Apps in Android (u.a. auch Apple-Kompatibel) zu programmieren?
    Windows Phone macht zurzeit wirtschaftlich gesehen wenig sinn.

    Wenn Nein, welche Sprache ist ähnlich resp. Einfach zu erlernen um dies bewerkstelligen zu können?

    Rein theoretisch reicht eine App, welche eine Webseite öffnet (z.b. galaxus-app, digitec-app)

    Besten Dank für eure Beratung

    Gruss Newsletter

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „newsletter“ ()

    newsletter schrieb:

    C# Apps in Android [...] zu programmieren?
    Ja! Gibt es! Stichwort: Xamarin
    Hierzu
    1.) JDK und JRE installieren
    2.) Account bei Xamarin.com anlegen (ist kostenlos) und unter Downloads -> View all versions alle Downloads anzeigen lassen und unter Xamarin.Android beim Dropdow Windows den Punkt "Latest Version" auswählen.
    3.) Setup downloaden und ausführen.
    4.) VS starten und unter Neues Projekt -> C# -> Android ein neues Projekt anlegen.
    Edit: Du solltest dir allerdings folgenden Beitrag von mir durchlesen: Xamarin.Android - aapt.exe Problem beim Builden lösen
    5.) Spaß haben *hust* ;D

    newsletter schrieb:

    Windows Phone macht zurzeit wirtschaftlich gesehen wenig sinn
    Kannst auch über Xamarin lösen.

    newsletter schrieb:

    Rein theoretisch reicht eine App, welche eine Webseite öffnet
    Eine Seite öffnen oder eine Seite darstellen?
    Für ersteres wie gesagt Xamarin. Sollte zweiteres zutreffen kannst du auch auf Cordova zurückgreifen

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Also mit Ecplise, wuerde ich sagen hat man keinen Spass. Oft werden da Fehler bemaengelt welche gar keine sind, nach dem laden von Projekten wird manchmal der ganze Code als Fehlerhaft angezeigt, also solch Verhalten kenn ich von VS oder Xamarin nicht. Mit Android Studio habe ich immer noch manchmal dem Probleme mit GradleBuild, also auch nicht das nonplusultra. Mit dem GradleBuild ist ja ein doch recht verbreitetes Problem seit jeher.
    And i think to myself... what a wonderfuL World!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Eddy“ ()

    Also wenn du mit C# arbeiten moechtest anstatt Java, ist das genau dein Ding, obwohl ich mir vorstellen koennte das auch Java in VS moeglich waere, gibtg ja einige Extensions. Sonst AndroidStudio, das ADT-Bundle also das Eclipse-Android-SDK Bundle ist jedenfalls nicht zu empfehlen, wird ja auch schon eine Weile nicht mehr weiter entwickelt, da AndroidStudio nun die offizielle IDE dafuer ist.
    And i think to myself... what a wonderfuL World!
    Hier mal knapp 3 Jahre Erfahrung mit Xamarin:
    Zuerst das schlechte (VS 13 und 15). Xamarin ist ein Software-Hack, Xamarin.Forms ein Software-Hack der auf nem Software-Hack basiert.
    So sehr sich die Devs auch darum bemühen alle Fehler so schnell es geht auszubügeln, ist es nach wie vor ein Hack. Mir ist es nun mehrfach passiert, dass ich VS komplett neuinstallieren musste, weil Xamarin sich selbst und VS nach und nach zerlegt hat. Dahingehend habe ich geschafft mal für knapp 1 Jahr ohne kritische Fehler arbeiten zu können. Dabei blieben jedoch sämtliche Updates für VS, Xamarin, und sämtliche anderen Nuget Pakete im Projekt aus, um nicht irgendetwas kaputt zu machen.

    Und nun das gute (VS 17). Mit Xamarin.Forms kann man auf XAML-basis Views für alle Geräte erstellen, sei es Smartphone, Tablet, oder Desktop, egal auf welcher Plattform. Diese Views liegen in einer PCL bzw. in einer .NetStandard dll und werden dann für jedes OS bzw. Gerät entsprechend gerendert. Aber auch Sachen wie Zugriffe auf Webservices, BusinessLogik und Datenbankzugriffe (SQLite per Nuget) können fast vollständig im gemeinsamen Projekt erledigt werden. Und wenn man dann doch mal etwas Natives braucht, so kann man jederzeit über den DependencyService (mithilfe von Interfaces) eine eigene Abstraktionsebene für z.B. Dateizugriffe o.Ä. erstellen. Ebenso ist es jederzeit möglich native Views zu erstellen und in den "Flow" der App einzubinden. Der "geteilte Code" ist in meinem Fall, wie es beworben wird, bei über 90%.
    Mit VS17 (kp welche Version da nun genau installiert wird) hat Xamarin in meinen Augen nun die Reife erreicht, mit der man wirklich produktiv damit arbeiten kann, und in den üblichen Szenarios wirklich schnell Apps für iOS, Android und UWP raushauen kann. Ebenso gibt es inzwischen einen eingebauten Xaml-Viewer, der bisher gefehlt hatte. Toll ist auch, dass Xamarin bereits jetzt schon mit .NetStandard kompatibel ist, und mit 2.0 dann auch praktikabel für die Desktop-Entwicklung wird (worauf die gerade hinarbeiten).
    Achja Xamarin.Forms baut so wie WPF auf dem MVVM-Prinzip auf.

    Vermutlich war das gerade etwas wirrwarr, deswegen nochmal kurz:
    Xamarin kann einem hin und wieder etwas Kopfzerbrechen bereiten, doch dafür schreibt man die App einmal (Xamarin.Forms)
    Und wer eher voll-nativ gehen will (Xamarin.Android und Xamarin.iOS) der hat fast exakt die selben Klassen und Funktionen wie es in Java bzw. Swift(Obj-C) der Fall wäre. Man findet oft auch antworten in Foren in denen nicht mit C# hantiert wird.
    @Facebamm:

    newsletter schrieb:

    Ist es möglich mit C# Apps in Android

    Facebamm schrieb:

    nimm Android Studio
    Der TE will ja bei C# bleiben. Das kann er/sie aber nicht, wenn er/sie zu Android Studio wechselt. Hier ist Java vorgeschrieben
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell