Voordelen van Android™ vs. Linux
Technische Grundlagen
Android™ is gebaseerd op de Linux-kernel, maar is vooral geoptimaliseerd voor embedded systemen en mobiele platformen.
Android maakt gebruik van de Linux-kernel met een aantal aanpassingen. Es unterscheidet sich jedoch grundlegend von üblichen Linux Distributionen, wie bspw. Debian / Raspbian / Alpine Linux.
In ieder geval bevatten Distributionen de GNU C Bibliothek (glibc), en een X server (bspw. Xorg) voor grafische toepassingen.
Android bevat deze componenten niet. Daarom kan "normale" Linux software op Android niet worden gebruikt.
Google baseert zich op der bionische C Bibliotheek statt glibc - was Vorteile hinsichtlich der Größe und der Ausführungsgeschwindigkeit bietet.
Android is auf mobile Plattformen optimiert, und bringt seine eigene Virtual Machine mit (Dalvik), die erlaubt in Java geschriebene Anwendungen auszuführen.
Diese Anwendungen sind gegen die Android API implementiert - Android schafft damit sein eigenes Ökosystem.
Android heeft geen Shell (Kommandozeileninterface, bspw. Bash) - es muss ggf. een App installiert werden um eine Shell zu emulieren.
Standaard heeft Android dem Benutzer geen root-rechten. Es ist als ein single-user System konzipiert worden, im Gegensatz zu modernen Linux Distributionen die auf mehrere Nutzer ausgerichtet sind. (Ein Erbe von Unix, das auf großen Maschinen lief, die von mehreren Studierenden, Professoren, etc. geteilt wurden).
Het standaard datasysteem van Android is YAFFS - speciaal voor NAND Flash geoptimaliseerd. Linux distributies zijn üblicherweise auf ext3 / ext4 ingesteld.
Google Chrome OS is gebaseerd op een Linux kernel, maar heeft ook geen X-server.
Vorteile von Android
- einheitliche UI (grafische gebruikersinterface)
- UI is voor touchscreens geoptimaliseerd
- een uitgebreid ecosysteem van Android-apps (900.000+)
Vooral de optimalisatie van de gebruikersinterface en de apps voor touchscreens is een belangrijk punt, met name voor verkooppuntapparatuur. Android kan met deze nieuwe opzet de toepassingen van Anfang an an mit den Sensoren, Eingabe und Ausgabe-Möglichkeiten einer modernen mobilen Plattform versorgen, en een umfangreiche API für die Entwickler bereitstellen.
In veel gevallen kan de van Ihnen verwachte toepassing (b.v. Mini-Digital Signage am Messestand) reeds beschikbaar zijn via een Android App, zonder bijzondere ontwikkelingskosten.
- Vertraute Nutzung
Door die beperkte verruiming in het consumentensegment zijn Android-basisoplossingen voor eindgebruikers gemakkelijker te gebruiken en hebben ze meer gebruiksgemak dan aangepaste oplossingen. (Dasselbe Argument gilt natürlich auch für Windows-basierende Anwendungen, allerdings gehört Windows auch der älteren Generation von Betriebssystemen an, die nicht mobile-first, touch-first waren).
- Goede ondersteuning door de ontwikkelaarsgemeenschap
Er zijn veel bibliotheken en bibliothecarissen die hun eigen applicatie kunnen aanpassen. Door de weit verbreiteten kommerziellen Einsatz von Android (auch z.B. im Rahmen von Bring Your Own Device) bestaan er spezialisierte Firmen, die für Sie Android Anwendungen entwickeln und im Lebenszyklus der Anwendung unterstützen.
- Java
Dalvik VM, die virtuelle Maschine von Android, führt Java Anwendungen aus die gegen die Android API entwickelt wurden. Die Sprache wird auch von Banken eingesetzt, da sie vor allem auf Stabilität und Portabilität achtet.
Java is een zeer verbreid taalgebruik, dat veel ontwikkelaars (u.a. empfehlen wir Moebiusgames als Software Partner) te helpen. Es gibt viele Standard-Komponenten / Software-Bibliotheken, die Entwicklern Arbeit sparen.
Die Sprache ist sehr gut dokumentiert, und verfügt über ein umfangreiches Toolset (bspw. IDEs - integrierte Entwicklungsumgebungen), die die Zeit reduzieren die Entwickler benötigen.
Onder Linux wordt vaak naar C/C++ gegrepen. Während das einen gewissen Performancevorteil bieten kann, da die Anwendungen hardwarenäher laufen, müssen die Entwickler sich um viele Dinger kümmern, die ihnen bei Java abgenommen werden (Stichwort Pointer). Darunter kan ggf. die Softwarestabilität und -sicherheit leiden.
Als alternatief kan men op Android ook een C API implementeren (C NDK).
- Kommunikationsstacks eingebaut
Android beschikt naast WLAN, Bluetooth ook over een telefoon- en mobilofunkstack. Dit is met name interessant voor toepassingen die in het veld worden gebruikt, zonder een vast netwerk of WLAN-aansluiting.
Natuurlijk kan men dat alles ook met Linux doen, maar men moet wel investeren in ontwikkelingsbronnen, o.a. voor de verdere ontwikkeling van de eigen Stacks.
- geoptimaliseerd voor ARM-platformen
Android's primaire doelwit (van Google unterstützt) zijn ARM-platformen - ARM is met name geschikt voor stromverbrauch en embedded toepassingen. "Een match made in heaven".
- Upgrademechanismus eingebaut
Android is van vorhinein als netz-angebundenes System, mit der Fähigkeit zu Upgrades vorgesehen.
- Zugriff auf Google Services
U.a. Spracherkennung (unter Umständen Zertifizierung des Gerätes für Android erforderlich)
- Battiere optimierte Power-Verwaltung eingebaut
Android is dus vooral interessant voor apparatuur met een ingebouwde processor.
Vorteile von Linux
- Standaard voetafdruk (Speicherbedarf) is deutlich kleiner
Bspw. kan mit Alpine Linux eine sehr kleine Linux Distribution verwendet werden, um den Platzbedarf zu reduzieren.
- Geringere CPU-vereisten, hogere CPU-waarde
Linux is geschikt voor vele platformen, waaronder MIPS. Het kan op zeer energiezuinige embedded platformen worden gebruikt.
Fragen
Kan ik Android kommerziell gebruiken?
Ja - der Kern ist unter der Apache Lizenz, und kann kommerziell verwendet werden, ohne Lizenzkosten an Google zahlen müssen. Die Google Anwendungen (Play Store, Maps, enz.) stehen unter Google Lizenz.
Om deze toepassingen te bekomen moet het apparaat als Google compliant gecertificeerd worden.
Moet Android altijd op een Smartphone / Apparaat met telefoondetectie gebruikt worden?
Nein - Android basierende Anwendungen laufen auf medizinischen Geräten, fest installierten Telefonen, Waschmaschinen, Uhren, Auto-Dashboards, TVs und Set-top boxen.
emteria.OS
emteria.OS is een Android-afgeleide versie, onder andere voor het Raspberry Pi-platform.
Unser online shop buyzero.de vertreibt emteria.OS Sets - maar met de emteria.OS personalizenz, die niet voor kommerziellen Einsatz zugelassen ist.
We kunnen het contact met emteria GmbH wel gebruiken.
Ref
- https://www.howtogeek.com/189036/android-is-based-on-linux-but-what-does-that-mean/
- https://hsc.com/Blog/Android-vs-Linux-As-An-Embedded-Operating-System-1
- https://www.raspberrypi.org/magpi/android-raspberry-pi/
De Android robot is gereproduceerd of aangepast van werk gemaakt en gedeeld door Google en gebruikt volgens de voorwaarden beschreven in de Licentie Creative Commons 3.0 Naamsvermelding.
Android is een handelsmerk van Google LLC.