Forum: Compiler & IDEs Smartphone App mit BLE welche Programmiersprache


von Sebastian (Gast)


Lesenswert?

Ich möchte eine Smartphone-App erstellen, die Werte von einem 
Mikrocontroller, die per BLE übertragen werden, erstellen.
Welche IDE und welche Programmiersprache ist am besten dafür geeignet.
Android Studio scheint mehrere Sprachen zu unterstützen. Ich tendiere 
gegen Java, weil ich damit einiges gemacht habe.

Was würdet ihr empfehlen?

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Android-Entwicklung tendiert stark zu Kotlin. Zu Recht, denn dort geht 
vieles sehr viel einfacher/übersichtlicher/effizienter. Insbesondere die 
Coroutinen machen Hintergrund-Prozesse viel einfacher zu handhaben, und 
genau das braucht man wahscheinlich bei Sensor-Ansteuerungen.

Kotlin lern sicht sehr leicht, Android Studio kann sogar automatisch 
Java->Kotlin konvertieren, und gibt viele Hinweise wie man den Code 
verbessern kann. Daher kann man (für neue, nicht-triviale Apps) Kotlin 
über Java empfehlen.

von John P. (brushlesspower)


Lesenswert?

Wenn es noch einfacher sein soll:
App Inventor2

von Joachim S. (oyo)


Lesenswert?

Je nachdem, was für Anforderungen an die App gestellt werden, käme unter 
Umständen auch eine PWA (Progressive WebApp) infrage - also eine 
letztlich im Webbrowser laufende, üblicherweise in Javascript 
geschribene App. Denn durch die "Web Bluetooth API" können auch 
Webanwendungen mittlerweile mit BLE-Geräten kommunizieren.

Vorteile:
+ Läuft ohne jegliche Änderungen nicht nur auf Android-Smartphones, 
sondern auch auf Windows-, Linux- und MacOS-PCs.
+ muss nicht erst über den App-Store installiert werden
+ Die "Web Bluetooth API" macht BLE-Kommunikation ziemlich einfach

Nachteile:
- kommt nicht infrage, falls die App im Hintergrund laufen muss
- Funktioniert nicht auf iOS-Geräten
- Benötigt einen Chrome/Chromium-basierten Webbrowser

von Sebastian (Gast)


Lesenswert?

>  Kotlin über Java empfehlen.
Tja, dann müsste ich schon wieder eine neue Programmiersprache lernen. 
Lohnt sich das wirklich?

>- kommt nicht infrage, falls die App im Hintergrund laufen muss
Eigentlich fände ich eine Webapplikation nicht schlecht. Mein 
ursprünglicher Gedanke wäre, dass es dann auf Android und IOS läuft.
Wenn es aber nur mit Chrome geht: Vielleicht könnte man auch einen 
Webserver in irgend einer Programmiersprache schreiben, der auf dem 
Handy im Hintergrund läuft.

von olaf (Gast)


Lesenswert?

Du koenntest das auch mit Qt machen. Aber dann musst du schon wieder
eine neue Sprache lernen. :)

Olaf

von Jack V. (jackv)


Lesenswert?

Sebastian schrieb:
>>  Kotlin über Java empfehlen.
> Tja, dann müsste ich schon wieder eine neue Programmiersprache lernen.
> Lohnt sich das wirklich?

Kannst auch erstmal mit Java loslegen und bei Gefallen nach und nach zu 
Kotlin übergehen. Auch, wenn Kotlin präferiert wird (aus gutem Grund – 
ist eine wirklich nette Sprache), kann man Java wie gehabt verwenden. 
Unten fällt der gleiche ART-Bytecode raus.

Abraten würde ich von Lösungen, die versprechen, ohne 
Erfahrung/Kenntnisse und mit wenigen Klicks eine Anwendung 
zusammenzubekommen, oder mit denen man in einem Schritt Anwendungen für 
Android und iOS gleichermaßen erstellen kann: erfahrungsgemäß erkauft 
man sich die vermeintlichen Erleichterungen teuer. Ich muss mit einer 
solchen App arbeiten, und das macht wirklich keinen Spaß.

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Sebastian schrieb:
> Wenn es aber nur mit Chrome geht

das versteckt Android vor dir. Wenn die PWA erst installiert ist, hat 
die ein ganz normales App-Icon im Android, und wenn du die Startest, 
öffnet sich kein Chrome-Browser mit Adresszeile und Menu, sondern eben 
nur deine APP.

von olaf (Gast)


Lesenswert?

Ich vermute mal den Preis zahlt man dann in Batterielaufzeit und 
Schwuppdizitaet?

Olaf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.