Bei der Entwicklung mobiler Cross-Plattform-Anwendungen spielen JavaScript-Ansätze bereits oft eine große Rolle. Mit NativeScript gibt es einen neuen Vertreter dieser Spielart, der den Bau von Apps mit nativen Komponenten verspricht.
In diesem Tutorial lernen Teilnehmer anhand selbst programmierter Beispiele, wie NativeScript funktioniert, wie damit aus einer Quelle Apps für Android und iOS gebaut werden können und warum hier "native" wirklich nativ ist. Dabei werden Themen wie der Aufbau einer NativeScript-App, Code-behind, Navigation, Data-Binding und Zugriff auf Gerätefunktionen behandelt. Je nach Betriebssystem können die Beispiele im Android Emulator und/oder im iOS Simulator getestet werden.
Technische Anforderungen:
Um die Inhalte am eigenen Rechner in Form von Übungen nachzuvollziehen, sollte jeder Teilnehmer einen Laptop mit aktueller Hardwareausstattung mitbringen. Als Betriebssysteme sind Windows, Linux und Mac OS geeignet, wobei die Teilnehmer ihr Betriebssystem soweit beherrschen sollten, um Software zu installieren und Serverinstallationen zu starten. Tablets sind für die Übungen nicht geeignet. Darüber hinaus sollten die Teilnehmer Administratorrechte auf ihren Rechnern haben und insbesondere die Möglichkeit haben, die Netzwerkeinstellungen anzupassen und auf die USB-Schnittstellen zuzugreifen.
Folgende Hardwarevoraussetzungen sollten gegeben sein:
* Windows/Linux/MacOS mit Administratorrechten
* mind. 4, besser 8 GB RAM
* 10 GB freier Festplattenplatz
Die benötigte Software wird als VirtualBox Image bereitgestellt. Auf den Rechnern der Teilnehmer wird also lediglich eine aktuelle Installation von Virtual Box benötigt. (https://www.virtualbox.org/wiki/Downloads)
Sollten Besitzer eines MacBooks die Beispiele auch auf dem iOS Simulator ausführen wollen (dies ist innerhalb des Images nicht möglich), wird eine lokale Installation benötigt. Details hierzu finden sich hier: https://docs.nativescript.org/start/quick-setup) Wir empfehlen allerdings nicht das automatische Komplett-Setup, sondern die Eigeninstallation der benötigten Komponenten. Der Aufruf von "tns doctor", der nach der Installation von NativeScript möglich ist, prüft, ob alle benötigten Komponenten vorhanden sind und gibt an, welche ggf. noch fehlen und nachinstalliert werden müssen.
Falls Sie ein Gerät Ihrer Firma verwenden, überprüfen Sie vorher bitte, ob eines der folgenden, gelegentlich vorkommenden Probleme bei Ihnen auftreten könnte.
* Workshop-Teilnehmer hat keine Administrator-Rechte.
* Corporate Laptops mit übermäßig penibler Sicherheitssoftware
* Gesetzte Corporate-Proxies, über die man in der Firma kommunizieren muss, die aber in einer anderen Umgebung entsprechend nicht erreicht werden.
Agenda:
ab 8.40: Registrierung und Begrüßungskaffee
9.40: Beginn
11.00 - 11.15: Kaffeepause
13.00 - 14.00: Mittagspause
16.00 - 16.30: Kaffeepause
ca. 18.30 Uhr: Ende
Skills
Vorwissen in mobiler Entwicklung und JavaScript von Vorteil, aber nicht notwendig.
Lernziele
Der Tutorium verdeutlicht den neuen Ansatz von NativeScript: JavaScript ohne Browser in einer VM in nativer Umgebung ablaufen zu lassen. Es zeigt, wie auf einfache Weise native Anwendungen entstehen, nur eben in JavaScript. Die Teilnehmer können die einzelnen Aspekte auf dem eigenen Laptop unter Android und/oder iOS nachvollziehen.
Referenten
Werner Eberling@wer_eb
ist Principal Consultant und Trainer bei der Mathema Software GmbH. Seit 1999 beschäftigt er sich mit verteilten Systemen. Er beschäftigt sich mit mobiler Cross-Plattform-Entwicklung seit deren Anfängen. Neben der Projektarbeit hält er Technologietrainings und veröffentlicht regelmäßig in Print- und Online-Medien. Er ist Autor des Buches "Enterprise JavaBeans 3.1" im Hanser Verlag.
Frank Goraus
ist Lead Developer bei der Mathema Software GmbH in Erlangen. Seit 2006 beschäftigt er sich bereits mit der Entwicklung von Java-EE-Anwendungen, unter anderem in Verbindung mit einem Portal-Server. Seine Liebe zum Detail verwirklicht er mit seinen Web-Design-Kenntnissen. In seiner Freizeit beschäftigt er sich außerdem mit Android-Entwicklung, JavaScript und verschiedensten Web-Frameworks.