zum Inhaltsverzeichnis Kapitel 1 Liebe Leser! Wir wünschen Ihnen viel Spaß mit dieser Leseprobe!

Größe: px
Ab Seite anzeigen:

Download "zum Inhaltsverzeichnis Kapitel 1 Liebe Leser! Wir wünschen Ihnen viel Spaß mit dieser Leseprobe!"

Transkript

1 Liebe Leser! Wir wünschen Ihnen viel Spaß mit dieser Leseprobe! Mehr ebooks und alle Informationen zu unserem Verlagsprogramm finden Sie unter: Ihr entwickler.press-team zum Inhaltsverzeichnis Kapitel 1 Mit den Pfeiltasten können Sie durch das Dokument navigieren, mit der ESC-Taste beenden Sie den Vollbildmodus.

2

3 Tobias Bosch, Stefan Scheidt, Torsten Winterberg Mobile Web-Apps mit JavaScript Leitfaden für die professionelle Entwicklung

4 Tobias Bosch, Stefan Scheidt, Torsten Winterberg Mobile Web-Apps mit JavaScript ISBN: entwickler.press Ein Imprint der Software & Support Media GmbH Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. Ihr Kontakt zum Verlag und Lektorat: Software & Support Media GmbH entwickler.press Darmstädter Landstraße Frankfurt am Main Tel.: +49 (0) Fax: +49 (0) Lektorat: Sebastian Burkart Korrektorat: Lisa Pychlau Satz: Laura Acker Alle Rechte, auch für Übersetzungen, sind vorbehalten. Reproduktion jeglicher Art (Fotokopie, Nachdruck, Mikrofilm, Erfassung auf elektronischen Datenträgern oder anderen Verfahren) nur mit schriftlicher Genehmigung des Verlags. Jegliche Haftung für die Richtigkeit des gesamten Werks kann, trotz sorgfältiger Prüfung durch Autor und Verlag, nicht übernommen werden. Die im Buch genannten Produkte, Warenzeichen und Firmennamen sind in der Regel durch deren Inhaber geschützt.

5 Inhaltsverzeichnis 1 Einleitung Warum dieses Buch? Warum mobile Webapplikationen? Warum JavaScript? Single Page Web-Apps Entwicklungsprozess Ziel des Buchs Zielgruppe dieses Buchs Vorstellung des durchgehenden Use Case Das Beispielunternehmen RYLC Fachlichkeit der Beispielanwendung Architektur der Beispielanwendung Codebeispiele online Kapitelübersicht 24 2 JavaScript-Grundlagen Objekte und Objektliterale Funktionen Codeblöcke Callbacks Methoden Sofort ausgeführte Funktionsausdrücke Namespaces Module 34 Mobile Web-Apps mit JavaScript 5

6 Inhaltsverzeichnis 3 Projekt-Setup Maven Convention over Configuration Das Project Object Model Build Lifecycle Plug-ins Ant Entwicklungsumgebungen 49 4 Testen Testen von und mit JavaScript Unit Tests mit Jasmine Der Jasmine Spec Runner Jasmine Spies Asynchrone Tests Automatische Testausführung Integration in das Projekt-Setup Fazit 71 5 Oberflächenkomponenten Beispiele für Komponentenbibliotheken jquery Mobile Sencha Touch jquery Mobile Gerüst einer jquery-mobile-html-seite jquery Mobile Pages Gestaltung des Content-Bereichs 88 6

7 Inhaltsverzeichnis 5.3 Oberflächentests Jasmine UI Fortgeschrittene Konzepte 98 6 Data Binding Manuelles Data Binding Data Binding mit Angular Scopes und Controller Templates Integration von Angular und jquery Mobile Angular-Module Weiterführende Konzepte Erweiterungen der Controller-Logik Shared Controller Repeater Scopes Filter Zusammenfassung Backend-Kommunikation Dependency Injection mit Angular Angular Promises Zugriff auf das Backend Tests für Backend-Kommunikation Zusammenfassung Die fertige Web-App Architektur im Überblick Shared Controller Wait-Dialog 156 Mobile Web-Apps mit JavaScript 7

8 Inhaltsverzeichnis 8.4 Prefetching Mehrseitige Wizard-artige Dialoge Weitere Eventtypen Nachladen bei großen Datenmengen Kontrolle der Browser-History Modularisierung und Build Modularisierung von HTML Modularisierung von CSS Modularisierung von JavaScript Moduldefinition Zusammenspiel mit AngularJS Zusammenspiel mit automatisierten Tests Build und Optimierung Das Ergebnis Die App in Betrieb nehmen Hybride Apps PhoneGap PhoneGap Build Lokaler Build Eigene Plug-ins JavaScript-Entwicklung mit PhoneGap-Proxy Das Backend in Betrieb nehmen Zusammenfassung 207 Stichwortverzeichnis 209 8

9 Danksagung Wir bedanken uns herzlich bei der Firma OPITZ CONSULTING GmbH, ohne deren Unterstützung dieses Buch nicht zustande gekommen wäre. Bei unseren Familien möchten wir uns dafür bedanken, dass wir so manches Mal der Arbeit an dem Buch den Vorrang vor unserem Familienleben gegeben haben. Für ihre inhaltlichen Beiträge zum Buch bedanken wir uns bei Herrn Farid Zaid und Herrn Jörg Bredlau. Frau Jennifer Zimmermann danken wir für die Erstellung der wunderbaren Abbildungen. Ein persönlicher Dank von Stefan Scheidt geht an Herrn Dr. Dirk Koller für die Inspiration durch sein Buch iphone-apps entwickeln. Zum Schluss bedanken wir uns herzlich bei entwickler.press für die Unterstützung bei der Erstellung und Veröffentlichung des Buchs. Das Autorenteam Tobias Bosch, Stefan Scheidt und Torsten Winterberg

10

11 1 Einleitung 1.1 Warum dieses Buch? Sie nehmen dieses Buch in die Hand und fragen sich vielleicht, was das Besondere an diesem Werk sein mag. Warum macht sich jemand die Mühe, eine weitere Publikation zur langen Liste der schon existierenden JavaScript-Bücher hinzuzufügen? Nun, die Antwort ist einfach: Wir hatten gar nicht vor, ein Buch zu schreiben. Als wir damals begonnen haben, uns mit der Entwicklung von mobilen Webanwendungen zu beschäftigen, haben wir viel Recherche betrieben, die uns die Einarbeitung leichter machen sollte. Dabei hat sich jedoch herausgestellt, dass wir scheinbar eine seltsame Zielgruppe darstellen, die (bisher) nicht gut in der Literatur adressiert wird. Wir haben unseren Hintergrund in der Entwicklung von Enterprise-Java-Anwendungen und sind es gewohnt, kleinere bis sehr große Projekte professionell abzuwickeln. Dabei werden wir unterstützt von agilen, flexiblen Softwareentwicklungsprozessen, wir entwickeln im Geiste des Software-Craftmenship und legen sehr viel Wert auf testgetriebene Ansätze. In der Literatur haben wir viel Hilfe gefunden in Form von Büchern, die Ausschnitte beleuchten, etwa neue HTML5-Features, AJAX-Backend-Kommunikation, Sprachfeatures von JavaScript oder Zusammenfassungen sinnvoller Entwurfsmuster. Unser Wunsch nach einer kompletten, durchgehenden Anleitung, wie man professionell auf hohem Niveau nun Webanwendungen schreiben kann, die auf mobilen Endgeräten laufen, ging nicht in Erfüllung. Also haben wir uns dem Thema ohne eine solche Anleitung genähert, was teilweise recht schmerzhaft war. Daher beschlossen wir Mitte 2011, unsere gewonnenen Erkenntnisse in Form eines Workshops weiterzugeben. Diesen Workshop mit dem Titel Mobile JavaScript-Web-Apps professionell entwickeln hielten wir zum ersten Mal auf der W-JAX- Mobile Web-Apps mit JavaScript 11

12 1 Einleitung Konferenz in München im November 2011 und dann diverse weitere Male, z. B. auf der MobileTech Conference Spring 2012 und auch der JAX 2012 mit sehr gutem Feedback. Dieses Buch basiert nun auf dieser Workshopserie und liefert den Leitfaden zur professionellen Entwicklung mobiler JavaScript-Web-Apps, den wir lange Zeit selbst so schmerzlich vermisst haben. 1.2 Warum mobile Webapplikationen? Der wirkliche Hype um mobile Lösungen wurde wohl unstrittig ca durch die Markteinführung von Apples iphone ausgelöst. Ausgestattet mit einem exzellenten App-Konzept konnten viele spannende Anwendungen und Funktionalitäten einfach nachgerüstet werden. Das Konzept des App Store begann sich zu etablieren. Zwei Jahre später drängten dann die Android-basierten Smartphones auf den Markt, einhergehend mit einer großen Vielfalt an unterschiedlichen Geräten und Displaygrößen, die heute abgerundet werden von einem Angebot an Tablet-PCs, ebenfalls mit sehr unterschiedlichen Auflösungen und Formfaktoren. Wie groß die Rolle von ehemals etablierten Plattformen wie RIM/Black- Berry und Microsoft/Nokia sein wird, lässt sich heute nur spekulieren. Diese Situation macht die Erstellung von nativen Apps mit einer breiten Plattformunterstützung sehr aufwändig, da Code nicht einfach wiederverwendet werden kann. Jede Plattform bringt ihre eigenen Sprachen, Entwicklungswerkzeuge und Eigenarten mit. Was kann man also tun, um den Entwicklungsaufwand einzugrenzen? Für die Frage, welche Plattformen gerade hip sind und in jedem Fall bedient werden wollen, lassen sich zahlreiche Statistiken der einschlägigen Analysten auftreiben, die sich mehr oder weniger deutlich voneinander unterscheiden. Anfang 2012 werden hier typischerweise ios und Android genannt. Kann man die Plattformbreite derart einschränken, dann muss man sich lediglich darum kümmern, die nativen Apps für 12

13 Warum mobile Webapplikationen? diese beiden Plattformen mit ihren unterschiedlichen Formfaktoren zu erstellen. Dies erscheint vom Aufwand her tragbar. Hat man aber eine größere Gerätevielfalt abzudecken, kommt schnell der Wunsch nach einer Cross-Plattform-Technologie auf, um eine App nur einmal entwickeln und dann mit keinen oder nur minimalen Anpassungen überall verwenden zu können. Hierzu bieten sich natürlich die Browser an und das mittlerweile allgegenwärtige HTML5, das antritt, das Cross-Plattform-Versprechen einzulösen. Vielerorts wird nun behauptet, dass mobile Web-Apps mit HTML5 von nativen Anwendungen nicht zu unterscheiden seien und daher immer gleichwertig zu den nativen Apps zu betrachten seien. Aus unserer Sicht ist dies keineswegs der Fall. Native Apps sind, was das Bedienungs- Feeling angeht, immer sexier als die Pendants mit HTML5. Wenn der Erfolg einer App davon abhängt, sich gegen viele gleichartige Apps durchzusetzen und möglichst oft in einem App Store heruntergeladen zu werden, meist in typischen B2C-Szenarien, wird man um eine native Implementierung nicht herumkommen. Für viele Einsatzszenarien sind die HTML5-Web-Apps aber schlicht gut genug, beispielsweise dann, wenn es für die umzusetzende Aufgabe keine alternative App geben kann, wenn es nicht darauf ankommt, dass sich die App 100 % nativ und sexy anfühlt, typischerweise dann eher im B2B-Umfeld. Hier kann sich dann der Cross-Plattform-Vorteil durchsetzen und eine möglichst große Bandbreite an Plattformen (z. B. ios, Android, Windows Phone und BlackBerry) abgedeckt werden. Nicht zu unterschätzen ist auch der Vorteil des HTML-Ansatzes, wenn es um schnelle Updates der Anwendung geht. Da der Code jeweils vom Server neu geladen wird, kommen Änderungen sofort zum Tragen, wohingegen Apps im App Store mitunter aufgrund der komplexen Freigabeprozesse längere Updatezyklen haben. Selbstverständlich sind hier auch Mittelwege denkbar, bei denen native Apps HTML-Code nachladen und diesen in dynamischeren Bereichen sinnvoll anzeigen (Stichwort Hybrid-Apps). Mobile Web-Apps mit JavaScript 13

14 1 Einleitung Ein weiterer guter Grund für die Entscheidung für die Web-App liegt darin begründet, dass wir einen starken Hintergrund in der Enterprise- Java-Welt haben, uns in der Implementierung klassischer Webanwendungen sehr gut auskennen und unsere Kenntnisse sehr schnell auf die Entwicklung mobiler Webanwendungen ausdehnen können. 1.3 Warum JavaScript? JavaScript erlebt gerade einen regelrechten Aufschwung. In der Vergangenheit wurde die Sprache etwas belächelt, weil sie im Wesentlichen zum Aufhübschen von Webseiten verwendet, aber nicht als echte Sprache für professionelle Anwendungsentwicklung gesehen wurde. Mit der enormen Ausbreitungsgeschwindigkeit von HTML5 dreht sich dieser Trend: JavaScript ist auf dem Weg, sich als Sprache zur Anwendungsentwicklung und Oberflächenprogrammierung zu etablieren. Man kann durchaus behaupten, dass JavaScript für die Webentwicklung das ist, was Java für Enterprise Computing im Backend bedeutet. JavaScript enthält viele sehr moderne Eigenschaften für eine 15 Jahre alte Programmiersprache. Wenn man die Sprache richtig einsetzt, kann sie sehr gut mit aktuellen Vertretern wie Groovy oder Ruby mithalten. Sie hat als dynamisch typisierte, objektorientierte Skriptsprache mit prototypbasierter Vererbung viele für den Java-gewohnten Entwickler ungewohnte Eigenschaften. Es braucht seine Zeit, sich daran zu gewöhnen und zu lernen, idiomatisch gutes JavaScript zu schreiben. Je früher man sich damit auseinander setzt, desto besser. Auch auf dem Server hält JavaScript mit Laufzeitumgebungen wie Node.js Einzug und platziert sich dort als sehr valide Lösung für bestimmte Problemkategorien, beispielsweise Anwendungen, die eine große Anzahl konkurrierender Zugriffe auf langsame Ressourcen unterstützen müssen. Es gibt zwar zunehmend mehr Werkzeuge, die das Programmieren in JavaScript vor dem Entwickler verbergen, wie z. B. Google Web Toolkit, CoffeeScript, ClojureScript oder auch neue Sprachansätze, wie Google Dart. Dennoch ist eine fundierte Kenntnis der Grundlagen unentbehrlich. 14

15 Single Page Web-Apps 1.4 Single Page Web-Apps Die innere Architektur der Web-Apps ändert sich stark. Man entfernt sich von dem gängigen Muster klassischer Webanwendungen, die dadurch geprägt sind, dass die Seitennavigation in der Regel durch ein MVC-Muster umgesetzt wird, was den Pageflow Controller auf dem Server ansiedelt. Die Interaktion mit einer Webseite löst einen Request gegen den Webserver aus, hier ermittelt der Pageflow Controller, welche Seite als Nächstes angezeigt werden soll und der Server schickt diese Seite als Response an den Browser zurück. Bei Web-Apps hingegen wird der Client intelligenter. Man verlagert den Pageflow Controller in der Regel auf den Client, meist in JavaScript realisiert. Hier spricht man dann von den so genannten Single Page Web-Apps. Dies liegt darin begründet, dass beim einmaligen Laden einer HTML-Seite gleich die ganze Web-App geladen wird, also eine einzige HTML-Seite, von der aber nur ein Teil angezeigt wird. Soll eine andere Seite angezeigt werden, so blendet der Pageflow Controller auf Clientseite lediglich einen anderen Bereich der schon geladenen Seite ein. Auf diese Weise wird der Request- Response-Zyklus zum Server und zurück vermieden. Dieser tritt lediglich beim Aufruf von Services auf, die per SOAP oder aber meist REST angesprochen werden. Hier leistet beispielsweise ein Enterprise Service Bus (ESB) gute Dienste bei der Protokollkonvertierung, wenn das bestehende Service-Backend nur SOAP spricht, im Frontend aber REST zum Einsatz kommen soll. Im Ergebnis handelt es sich bei Single Page Web-Apps also mehr um Clientapplikationen im Sinne der Client-Server-Programmierung als um Webapplikationen im Sinne von serverseitig generierten Webseiten. Mobile Webapplikationen, die auf diese Weise entwickelt wurden, integrieren sich hervorragend in Gesamtarchitekturen, bei denen das Backend über ein RESTful API angesprochen werden kann. Optimal für das Zusammenspiel ist eine Kommunikation auf Basis der JavaScript Object Notation (JSON). Weitere Vorteile dieser Applikationsarchitektur sind die potenziellen Offlinefähigkeit der Clients und die Möglichkeit, Mobile Web-Apps mit JavaScript 15

16 1 Einleitung diese Applikationen mit Werkzeugen wie beispielsweise PhoneGap in native Applikationen zu verpacken, die dann einerseits vollen Zugriff auf die Hardwarefunktionalitäten der Ausführungsumgebung haben, als auch wie native Apps durch die entsprechenden Distributionskanäle der Plattformen ( App Stores ) verteilt werden können. Auch die Desktopwebanwendungen werden von diesem neuen Architekturmuster profitieren. 1.5 Entwicklungsprozess Um eine effiziente und qualitativ hochwertige Entwicklung sicherzustellen, verwenden wir bei der Entwicklung erprobte Open-Source-Software-Komponenten wie beispielsweise jquery Mobile als Komponentenbibliothek für die Gestaltung der Benutzeroberfläche oder AngularJS als JavaScript-Framework für die Entwicklung der JavaScript-basierten Clientschicht. Durch den Einsatz testgetriebener Entwicklung stellen wir die Qualität und kontinuierliche Auslieferungsfähigkeit der Ergebnisse unserer Entwicklungsiterationen sicher. Wir nutzen dieses Vorgehen sowohl bei einzelnen Komponenten durch Unit Tests als auch bei der Entwicklung von Applikationsfunktionen durch automatisierte Akzeptanztests. Auch hier verwenden wir erprobte und weit verbreitete Werkzeuge wie beispielsweise das Behaviour-Driven-Design-Framework Jasmine und erweitern diese bei Bedarf um benötigte Komponenten (siehe das Git- Hub Projekt Jasmine UI ). Die Integration dieser Entwicklungspraktiken in einen Continuous-Integration-Prozess mit kontinuierlichen Projekt-Builds erlaubt eine feingranulare Überwachung des Zustands der Entwicklung und kurzfristige Reaktion auf Fehler und Probleme. Darüber hinaus ist damit die Einbettung der Entwicklung in eine agile, iterative Projektvorgehensweise möglich, welche die Bereitstellung auslieferbarer Ergebnisse in kurzen Zeitabständen erfordert. 16

17 1.6 Ziel des Buchs Ziel des Buchs Wir möchten hier keine Diskussion pro oder kontra native Entwicklung vs. Entwicklung von mobilen Web-Apps führen. Wie oben beschrieben, gibt es gute Argumente für beide Vorgehensweisen. Wir gehen in diesem Buch von der Annahme aus, dass Sie sich bewusst für den Weg der mobilen Web-Apps entschieden haben, und lernen möchten, wie man gutes Softwaredesign für eine JavaScript-Web-App implementiert. Ja, richtig. Vieles ist nicht rein Mobile-spezifisch, sondern gilt auch für nicht-mobile JavaScript-Web-Apps. Sie lernen also vielleicht mehr, als Sie eigentlich gedacht hatten... Unser Ziel ist es nicht, aufs letzte Bit zu zeigen, was in HTML5 alles geht, also z. B. Media Queries, UI-Design, neue Tags, etc., dafür gibt es mittlerweile reichlich gute Literatur am Markt. Unser Anspruch ist es vielmehr, Ihnen testgetriebene Entwicklung für JavaScript näherzubringen, Sie in die Lage zu versetzen, wartbaren Code, Clean Code, zu schreiben und die Gesamtzusammenhänge zu verdeutlichen. Wir werden keine Featureschlacht vorstellen, sondern einen kompletten End2End-Durchlauf über alle relevanten Implementierungsbestandteile einer mobilen Webapplikation mit Backend-Anbindung an einem einzigen, durchgängigen Beispiel beschreiben. Kurz: Wir möchten Ihnen die Anleitung zum Einstieg in die Programmierung mobiler Web-Apps zur Verfügung stellen, die uns damals gefehlt hat, und Sie schnell in die Lage versetzen, architektonisch saubere, qualitativ hochwertige und dauerhaft stabile Web-Apps zu programmieren. Mobile Web-Apps mit JavaScript 17

18 1 Einleitung 1.7 Zielgruppe dieses Buchs Wir adressieren mit diesem Buch all diejenigen, die mobile JavaScript- Web-Apps professionell entwickeln möchten und sich dabei auch für innere Werte wie Wartbarkeit, Erweiterbarkeit und Testbarkeit interessieren. Wir sprechen im Wesentlichen die Zielgruppe der klassischen Java-Webentwickler an, da diese vermutlich alle aufgrund der schnell wachsenden Verbreitungszahlen von Smartphones und Tablets, kurzbis mittelfristig Grundkenntnisse erlernen und erste Schritte mit dem neuen Paradigma der Web-Apps durchlaufen müssen. Aber auch für die Entwickler klassischer, nicht notwendigerweise mit Java erstellter Webanwendungen ist das Buch gedacht, da Java-Kenntnisse auf Frontend-Seite natürlich nicht nötig sind und hier somit zwei Welten zusammenwachsen. Wenn Sie also generell vor der Herausforderung stehen, reichhaltige JavaScript-Web-Apps im Enterprise-Umfeld schreiben zu wollen, dann lohnt es sich, nun weiterzulesen. 1.8 Vorstellung des durchgehenden Use Case Das in diesem Buch verwendete Praxisbeispiel basiert auf dem bekannten Rent Your Legacy Car (RYLC) Showcase. Dieser wurde im Java Magazin in einer 14-teiligen Reihe ( bis ) verwendet, um SOA-Prinzipien zu verdeutlichen und anschließend im Sonderheft SOA Spezial zusammengefasst. In diesem Buch erweitern wir diesen Showcase um einen mobilen Vertriebskanal mit der Möglichkeit einer mobilen Autoanmietung. 18

19 Vorstellung des durchgehenden Use Case Das Beispielunternehmen RYLC Rent Your Legacy Car (RYLC) ist ein Autoverleih-Unternehmen mit der Vision, in den nächsten Jahren zu den drei umsatzstärksten Unternehmen des Car Rental Segments zu gehören. Seit Längerem ist das RYLC- Management mehr und mehr gezwungen, sich mit einer aggressiveren Marktsituation auseinandersetzen zu müssen. In den letzten Jahren hat RYLC immer wieder Marktanteile verloren. Die Konkurrenz konnte neue Produkte und besseren Service schneller bieten, während RYLC aufgrund von IT-Integrations-problemen nicht nachkam. Zur Adressierung dieser Hauptschmerzpunkte erarbeitet die Fachseite die folgenden Anforderungen: Als Unique Selling Point (USP) soll eine neue, hochqualitative Dienstleistung eingeführt werden, die RYLC deutlich vom Mitbewerb differenziert. Firmen- als auch Privatkunden bekommen einen Mietwagen innerhalb einer Stunde garantiert zum gewünschten Einsatzort geliefert, der ohne Mehrkosten am Reiseziel wieder abgeholt wird. Falls der Kunde das Auto an einer Basisstelle selbst abholt oder zurückbringt, erhält er einen Rabatt. Bisher war das Unternehmen ausschließlich über den Vertriebskanal DirektSales an zentralen Knotenpunkten wie Flughafen, Hauptbahnhof und Schiffshafen vertreten. In Zukunft werden weitere Vertriebskanäle wie das Smartphone, das Internet und SMS eingeführt. Die garantierte Qualität von Leihwagen soll durch bessere Kontrolle des Fahrzeugzustands (Sauberkeit, Wartungsintervall) zur Verbesserung der Kundenzufriedenheit gesteigert werden. Der Kontext in diesem Buch: Erweiterung der Vertriebskanäle um eine Möglichkeit zur Autoanmietung von unterwegs. Mobile Web-Apps mit JavaScript 19

20 1 Einleitung Fachlichkeit der Beispielanwendung In diesem Buch werden wir sukzessive insgesamt vier RYLC Use Cases entwickeln: Login/Logout Benutzerprofil des angemeldeten Benutzers anzeigen Leihwagen-Buchungshistorie des angemeldeten Benutzers anzeigen Durchführen einer Leihwagen-Onlinebuchung von unterwegs Am Ende des Buchs werden Sie die vollständig funktionsfähige RYLC- Web-App auf Ihrem eigenen Smartphone oder Tablet ausprobieren können. Auf diesem Weg werden wir alle relevanten Schritte erläutern, wie ein solches Ergebnis professionell erzeugt werden kann. Wie bereits beschrieben, legen wir den Fokus nicht auf eine vollständige Beschreibung der einzelnen Themen, sondern auf eine möglichst gute Erläuterung des Zusammenspiels aller für diesen Showcase nötigen Einzelaspekte. Abbildung 1.1: RYLC-Login mit falschem Passwort 20

21 Vorstellung des durchgehenden Use Case Abbildung 1.2: RYLC-Login mit korrektem Passwort Abbildung 1.3: RYLC-Logout Mobile Web-Apps mit JavaScript 21

22 1 Einleitung Abbildung 1.4: RYLC-Benutzerprofil Abbildung 1.5: RYLC-Buchungshistorie 22

23 Vorstellung des durchgehenden Use Case Abbildung 1.6: RYLC Neue Buchung durchführen Architektur der Beispielanwendung Wir legen im Sinne von brauchbaren Beispielen viel Wert darauf, ein echtes Backend für unsere RYLC-Web-App zu verwenden. Um nicht zu weit abzudriften, stellen wir dieses Backend as is zur Verfügung, gehen aber nicht auf Details ein. In aller Kürze: Es handelt sich um ein Spring-basiertes Backend, das die notwendigen Services über das Web- Service-Framework Apache CXF über ein REST-API zur Verfügung stellt. Als Ausführungsumgebung dient ein Jetty-Container, der sowohl die nötigen Artefakte für die mobile Web-App ausliefert (HTML, Java- Script, CSS), als auch das Backend mit seinem REST-API bereitstellt, wie in Abbildung 1.7 verdeutlicht. Wir verwenden also hier ein Co-located Deployment, das für Produktionsszenarien leicht auf ein verteiltes Deployment angepasst werden kann. Mobile Web-Apps mit JavaScript 23

24 1 Einleitung Abbildung 1.7: RYLC-Architektur Codebeispiele online Die Webseite zum Buch beinhaltet den Beispielcode, Updates, weitere Informationen sowie die Links zu den verwendeten Technologien und Frameworks, sowie zum GitHub Repository: go_javascriptbuch. 1.9 Kapitelübersicht Dieses Buch beschreibt die sukzessive Erstellung der oben beschriebenen Anwendungsfälle für die mobile RYLC-Web-App. Der Aufbau erfolgt didaktisch entlang der Grundsätze der testgetriebenen Entwicklung. Nachdem die Grundlagen gelegt sind, werden beispielhaft die Kapitelübergänge von Kapitel 5 nach 6 und von Kapitel 6 nach 7 jeweils über rote Tests motiviert, die dann entsprechend grün gemacht werden. 24

25 Kapitelübersicht Kapitel 1, Einleitung Hier werden die Motivationen für das Buch sowie für mobile Web-Apps inklusive unserer Zielsetzungen und der durchgehenden Beispielanwendung beschrieben. Kapitel 2, JavaScript-Grundlagen Dieses Kapitel vermittelt kein vollständiges Grundlagenwissen zu JavaScript. Vielmehr werden die wichtigsten Aspekte herausgegriffen, die für das Nachvollziehen der Beispiele im Buch unabdingbar sind. Kapitel 3, Projekt-Setup In Kapitel 3 beschreiben wir das von uns gewählte Projekt-Setup und lenken dabei das besondere Augenmerk auf die Build-Automatisierung. Wir motivieren unsere Entscheidung für den Einsatz des Build-Werkzeugs Apache Maven, erläutern die Grundlagen dieses Tools und das von uns gewählte Setup für das Beispielprojekt. Kapitel 4, Testen In Kapitel 4 motivieren wir zunächst kurz den Nutzen automatisierter Tests und testgetriebener Entwicklung im Kontext der JavaScript-Webentwicklung und stellen dann die grundsätzlichen Möglichkeiten vor, um JavaScript-Code automatisiert zu testen. Im Anschluss führen wir anhand von Beispielen in das Unit-Testen mit dem Testframework Jasmine ein. Abschließend stellen wir den JavaScript-Test-Runner JsTest- Driver für das automatisierte Ausführen der Test vor und erläutern die Integration der Testausführung in unser Projekt-Setup. Kapitel 5, Oberflächenkomponenten Wir beginnen die Entwicklung unserer Beispiel-App mit der Oberfläche und verwenden dafür jquery Mobile. Kapitel 5 erklärt zunächst den Nutzen beim Einsatz einer fertigen Komponentenbibliothek für die Entwicklung einer mobilen Web-App und stellt dann jquery Mobile und Sencha Touch als zwei Beispiele solcher Bibliotheken vor. Im Rest des Kapitels 5 und auch des ganzen Buchs verwenden wir dann jquery Mo- Mobile Web-Apps mit JavaScript 25

26 1 Einleitung bile zur Gestaltung der Benutzeroberfläche und stellen dieses Framework daher etwas ausführlicher vor. Im Anschluss stellen wir Möglichkeiten zum Testen der Oberfläche einer JavaScript-Web-App am Beispiel von Jasmine UI vor. Kapitel 6, Data Binding Die im Kapitel 5 erstellt Oberfläche ist statisch und enthält noch keine dynamischen Inhalte. In Kapitel 6 stellen wir das Entwurfsmuster Model View Controller als sinnvolles Konzept für die Strukturierung von JavaScript-Code vor, der eine statische Oberfläche zu einer richtigen App macht. Im Rest des Kapitels konzentrieren wir uns dann auf das Anbinden der Oberfläche an die Controller unsere Applikation. Dazu führen wir das JavaScript-Framework AngularJS ein und stellen seine Unterstützung für Two Way Data Binding vor. Kapitel 7, Backend-Kommunikation In Kapitel 7 zeigen wir, wie wir die dynamischen Inhalte der Applikation von einem Backend-Service laden können. Wir verwenden dazu das Entwurfsmuster Dependency Injection, um die unterschiedlichen Verantwortlichkeiten innerhalb unserer JavaScript-Web-App klar in lose gekoppelte Komponenten zu kapseln. Wir verwenden wieder das Framework AngularJS und dessen Unterstützung von Dependency Injection für die Umsetzung. Dabei stellen wir auch den Nutzen dieser Vorgehensweise für das Testen der Applikation heraus. Kapitel 8, Auf dem Weg zur mobilen Web-App Dieses Kapitel stellt die Architektur der vollständig fertig implementierten Applikation inklusive aller oben beschriebenen Use Cases und der sich daraus ergebenden Konsequenzen in Form von einigen Refactorings vor. Bis zu einer vollwertigen mobilen Web-App fehlen dann noch einige weitere Konzepte, die ebenfalls hier diskutiert werden, wie etwa das Einbinden von Wartedialogen, die Verwendung Wizard-artiger Dialoge, die Reaktion auf den Browser-Back-Button, das Nachladen bei größeren Datenmengen oder Performanceoptimierungen im Allgemeinen. 26

27 Kapitelübersicht Kapitel 9, Modularisierung und Build Die in diesem Buch betrachteten Web-Apps bestehen aus HTML, CSS und JavaScript-Sourcecode-Artefakten. Kapitel 9 erläutert, warum für diese Sprachen eine Modularisierung vorgenommen werden sollte und wie sich dies umsetzen lässt. Kapitel 10, Hybride Apps In den vorherigen Kapiteln haben wir gesehen, wie man eine mobile Web-App erstellt, die von einem Webserver abgerufen wird und innerhalb eines mobilen Browsers abläuft. In diesem Kapitel zeigen wir, wie man aus einer solchen Web-App eine native App erzeugt, die dann über den App Store der jeweiligen Zielplattform verteilt werden kann. Außerdem erweitern wir unsere Beispielanwendung um Zugriffsmöglichkeiten auf die Hardware des mobilen Geräts, was im nativen Kontext erst umfänglich möglich wird. Mobile Web-Apps mit JavaScript 27

28

29 2 JavaScript- Grundlagen Wir wollen in diesem Buch keine Einführung in JavaScript geben. Es gibt bereits einige sehr gute Bücher, die eine solche Einführung zum Ziel haben, beispielsweise Eloquent JavaScript von Marijn Haverbeke ( JavaScript: The Good Parts von Douglas Crockford oder JavaScript für Enterprise-Entwickler von Oliver Ochs. Auch für fortgeschrittene Fragestellungen beim Einsatz von JavaScript gibt es gute Bücher, wie beispielsweise JavaScript Patterns von Stoyan Stefanov. Wir möchten in diesem Kapitel in einer losen Sammlung auf die für unsere Beispiele relevanten Grundlagen eingehen und diese kurz erläutern. 2.1 Objekte und Objektliterale Objekte in JavaScript sind im wesentlichen Container für Properties mit ihren Werten. Im Grunde genommen sind JavaScript-Objekte also Hash Maps. Objekte können in JavaScript wie in Listing 2.1 gezeigt erzeugt und um Properties erweitert werden. 1 var customer = new Object(); 2 customer.firstname = "John"; 3 customer.lastname = "Doe"; Listing 2.1: Erzeugen und initialisieren von Objekten in JavaScript In Zeile 1 erzeugen wir ein neues Objekt mithilfe der Konstruktorfunktion Object und dem Operator new. In den Zeilen 2 und 3 erweitern wir dieses neue Objekt um zwei Properties und initialisieren diese. Eine alternative Möglichkeit, ein leeres Objekt zu erzeugen, ist die Verwendung Mobile Web-Apps mit JavaScript 29

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

Automatischer Build mit Maven 2

Automatischer Build mit Maven 2 Automatischer Build mit Maven 2 Stefan Scheidt OPITZ CONSULTING GmbH Ihr Referent Stefan Scheidt Senior Architekt bei der OPITZ CONSULTING GmbH Seit über 10 Jahren im Oracle- und Java-Umfeld tätig Schwerpunkte:

Mehr

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann - ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

Maven 2 Softwareprojekte mit Kultur

Maven 2 Softwareprojekte mit Kultur Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Einführung in Maven und GWT

Einführung in Maven und GWT Einführung in Maven und GWT Prof. Christoph Knabe Beuth-Hochschule Berlin 08.05.2014 Gliederung Motivation für Build-Werkzeug Maven-Ziele, Begriffe Maven-Benutzung in 5 min Maven-Vorteile GWT-Ziele GWT-Projekt

Mehr

Eine App, viele Plattformen

Eine App, viele Plattformen Eine App, viele Plattformen Anwendungsentwicklung für Mobile Heiko Lewandowski 23.04.2013 EINLEITUNG Festlegung App-Strategie: Welche Ziele möchte ich erreichen? Die Vielzahl der Plattformen und Geräte(hersteller)

Mehr

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git Oliver Kleine Institut für Telematik, Universität zu Lübeck Build-Management in JAVA 3 Build-Management? Wozu? Traditionelle manuelle

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014 Mobility mit IBM Worklight Erste Schritte zu einer mobilen App Benjamin Stein, Consultant Stuttgart, 03.04.2014 Agenda Was ist IBM Worklight eigentlich? Hintergrund und Idee, Architektur und Bestandteile

Mehr

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik 03.07.2008

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik 03.07.2008 Buildwerkzeuge für Javaprojekte Christian Bunse Institut für Informatik 03.07.2008 Inhalt Der Build Besonderheiten von Javaprojekten Ziele von Buildwerkzeugen Continuous Integration Vorstellung von Buildwerkzeugen

Mehr

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Mobile: Die Königsfrage

Mobile: Die Königsfrage Mobile: Die Königsfrage - Native App,Mobile Website oder doch Responsive Design? - Native App oder Mobile Website? Wer am Boom der mobilen Anwendungen teilhaben möchte, hat im Prinzip zwei Möglichkeiten:

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann.

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann. Softwaretests Werkzeuge zur Automatisierung für Thementag Wer testet, ist feige 24.06.2009 Autor: Markus Alvermann Seite 2 / 39 Agenda Motivation Versionsverwaltung Build-Tools Unit-Tests GUI-Tests Continuous

Mehr

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann App Entwicklung mit Hilfe von Phonegap Web Advanced II - SS 2012 Jennifer Beckmann http://www.focus.de/digital/internet/netzoekonomie-blog/smartphone-googles-android-laeuft-konkurrenz-in-deutschland-davon_aid_723544.html

Mehr

Schnelle Winkel. 10x schnellere Webapps mit AngularJS und Jee

Schnelle Winkel. 10x schnellere Webapps mit AngularJS und Jee Schnelle Winkel 10x schnellere Webapps mit AngularJS und Jee Lernplattform mit sozialer Komponente Portal & CMS JEE-Basis Wir fangen dann schon mal an! Portal? Forum? Social? CMS? Da gibts doch schon was?!

Mehr

Vom lokalen Build zum Deployment

Vom lokalen Build zum Deployment Vom lokalen Build zum Deployment International PHP Conference Manuel Pichler 12.10.2011 Vom lokalen Build zum Deployment 1 / 36 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1 HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1 AGENDA Einführung Apps - Einführung Apps Architektur SharePoint-Hosted Apps Cloud-Hosted Apps Ausblick 11.09.2012 IOZ AG 2 ÜBER

Mehr

Web-Anwendungen mit Arquillian testen

Web-Anwendungen mit Arquillian testen Michael Kotten open knowledge @michaelkotten @_openknowledge Wozu denn testen? Ich mach doch keine Fehler! Wozu denn testen? > Notwendig bei komplexen Systemen > Sicherung von > Qualität > Funktionalität

Mehr

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe«

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe« 201 PhoneGap bringt einen standardisierten Hardwarezugriff für Smartphones mit. Aber was passiert, wenn Sie mehr wollen: Wenn Sie eine Hardware per Bluetooth ansprechen wollen oder Features der jeweiligen

Mehr

Schnelle Winkel. Performantere JEE Webapps mit AngularJS

Schnelle Winkel. Performantere JEE Webapps mit AngularJS Schnelle Winkel Performantere JEE Webapps mit AngularJS Lernplattform mit sozialer Komponente Portal & CMS JEE-Basis Wir fangen dann schon mal an! Portal? Forum? Social? CMS? Da gibts doch schon was?!

Mehr

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe, 20.05.

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe, 20.05. IT Engineering Continuous Delivery Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet Alexander Pacnik Karlsruhe, 20.05.2014 Einleitung... worum es in diesem Vortrag geht Ziele Continuous

Mehr

Der Weisheit letzter Schluss:

Der Weisheit letzter Schluss: Der Weisheit letzter Schluss: Maven 2 in der Java Entwicklung Web Site: www.soebes.de Blog: blog.soebes.de Email: info@soebes.de Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1. Was ist Maven? 2. Features von

Mehr

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel Builddreikampf: Ant, Maven und Gradle Sven Bunge / Carl Düvel holisticon AG Wettkampfplan 1. Die Regeln 2. Vorstellung der Kandidaten 3. Ring frei die Disziplinen! 1. Dependency Management 2. Multiprojektsupport

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Java Web Services mit Apache Axis2 Entwickler

Java Web Services mit Apache Axis2 Entwickler Thilo Frotscher, Dapeng Wang, Marc Teufel Java Web Services mit Apache Axis2 Entwickler Vorwort 15 1 Einleitung 25 1.1 Entstehung 26 1.2 Unterstützte Standards 28 1.3 Was beinhaltet Axis2? 29 1.4 Warum

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

Das folgende Konzept ist ein Vorschlag für einen Webentwicklungs-Workshop. Die einzelnen

Das folgende Konzept ist ein Vorschlag für einen Webentwicklungs-Workshop. Die einzelnen Workshop Moderne Frontend-Webentwicklung Peter Kröner Webtechnologie-Experte Telefon: 0151 55994172 E-Mail: peter@peterkroener.de Web: www.peterkroener.de Das folgende Konzept ist ein Vorschlag für einen

Mehr

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für

Mehr

Appery.io Mobile Apps schnell und einfach entwickeln

Appery.io Mobile Apps schnell und einfach entwickeln Appery.io Mobile Apps schnell und einfach entwickeln Cloud-basierte Entwicklungsumgebung, keine lokale Installation von Entwicklungsumgebung nötig. Technologie: HTML5. JQuery Mobile, Apache Cordova. Plattformen:

Mehr

Inhaltsverzeichnis. Ralph Steyer. Apps mit PhoneGap entwickeln. Universelle Web-Apps plattformneutral programmieren. ISBN (Buch): 978-3-446-43510-0

Inhaltsverzeichnis. Ralph Steyer. Apps mit PhoneGap entwickeln. Universelle Web-Apps plattformneutral programmieren. ISBN (Buch): 978-3-446-43510-0 sverzeichnis Ralph Steyer Apps mit PhoneGap entwickeln Universelle Web-Apps plattformneutral programmieren ISBN (Buch): 978-3-446-43510-0 ISBN (E-Book): 978-3-446-43543-8 Weitere Informationen oder Bestellungen

Mehr

Migrationsanleitung von 2.0 auf 2.1

Migrationsanleitung von 2.0 auf 2.1 Die wichtigste Neuerung von 2.0 auf 2.1 aus Sicht der Anwendungs- Migration ist die Verwendung von Maven. Mit Maven holt sich die Anwendung alle notwendigen Bibliotheken in den jeweils angegebenen Versionen

Mehr

Fork Leitfaden. BibApp Android

Fork Leitfaden. BibApp Android Fork Leitfaden BibApp Android letzte Aktualisierung: 24. April 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 2 2 Eclipse Projekt 2 3 Abhängigkeiten 2 4 Konfiguration 3 4.0.1 Paketname...............................

Mehr

TM1 mobile intelligence

TM1 mobile intelligence TM1 mobile intelligence TM1mobile ist eine hochportable, mobile Plattform State of the Art, realisiert als Mobile BI-Plug-In für IBM Cognos TM1 und konzipiert als Framework für die Realisierung anspruchsvoller

Mehr

1 Entwickeln mit PhoneGap

1 Entwickeln mit PhoneGap 1 1.1 Das Cross-Plattform-Problem Bevor ich mit Ihnen in die praktische Entwicklung einsteige, möchte ich Ihnen von einem kurzen Gespräch berichten, das sich vor einiger Zeit in der IT-Abteilung eines

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

RESTful Web Services mit JAX-RS. Deutschland 8,50. Project Coin. Verbesserungen in Java 7. Selenium 2 GUI Testing » 100

RESTful Web Services mit JAX-RS. Deutschland 8,50. Project Coin. Verbesserungen in Java 7. Selenium 2 GUI Testing » 100 inkl. Java Magazin 9.2011 JAVA Mag CD RESTful Web Services mit JAX-RS Deutschland 8,50 Enterprise JavaScript Project Coin Vaadin Mehr unter: www.adobe.com/de/products/flashbuilder/ RESTful Web Services

Mehr

Build-Prozesse für Geschäftsanwendungen mit Apache Maven

Build-Prozesse für Geschäftsanwendungen mit Apache Maven Build-Prozesse für Geschäftsanwendungen mit Apache Maven Was sind eigentlich Geschäftsanwendungen? Geschäftsanwendungen (z.b. ERP) potenziell viele Benutzer in unterschiedlichen Rollen und unterschiedlichen

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 12: Metawissen Java Bibliotheken, Maven Robert Jakob Albert-Ludwigs-Universität Freiburg, Germany SS 2013 Robert Jakob (Univ. Freiburg) Programmieren in Java JAVA 1 / 33

Mehr

Ant in Eclipse Starthilfe

Ant in Eclipse Starthilfe IN DIESER KURSEINHEIT Einleitung o Um was geht's eigentlich? Hello World o Das Ant Skript Mehrere Targets und Properties o Hello World Ausgabe Ant Launch Configurations o Definition o Modifikation o Nutzung

Mehr

Installation Guide. Installation Guide. Installationsanleitung für die anaptecs JEAF Plattform. Version 1.2 Letzte Änderung 05.

Installation Guide. Installation Guide. Installationsanleitung für die anaptecs JEAF Plattform. Version 1.2 Letzte Änderung 05. Installation Guide Thema Version 1.2 Letzte Änderung 05. Dezember 2011 Status Installationsanleitung für die anaptecs JEAF Plattform Freigegeben Inhaltsverzeichnis 1 Motivation... 4 1.1 Abgrenzungen...

Mehr

Konfigurationsmanagement mit Subversion, Ant und Maven

Konfigurationsmanagement mit Subversion, Ant und Maven Gunther Popp Konfigurationsmanagement mit Subversion, Ant und Maven Grundlagen für Softwarearchitekten und Entwickler 2., aktualisierte Auflage Gunther Popp gpopp@km-buch.de Lektorat: René Schönfeldt Copy-Editing:

Mehr

Die Schweizer sind Weltmeister...

Die Schweizer sind Weltmeister... Nefos GmBH 07.03.2013 Die Schweizer sind Weltmeister... 2 ...im App-Download! Jeder Schweizer hat im Schnitt 19 kostenpflichtige Apps auf seinem Smartphone! 3 Top Mobile Trends In two years, 20% of sales

Mehr

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

Mehr

Consultant & Geschäftsführer, enpit consulting OHG E-Mail: ugb@enpit.de

Consultant & Geschäftsführer, enpit consulting OHG E-Mail: ugb@enpit.de ADF Spotlight - Entwicklungswerkzeuge & - methoden - ADF 12c mit Git, Maven & Co. - Status Quo Ulrich Gerkmann-Bartels Consultant & Geschäftsführer, enpit consulting OHG E-Mail: ugb@enpit.de +++ Bitte

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

Seminararbeit Ruby Uno Kartenspiel

Seminararbeit Ruby Uno Kartenspiel Seminararbeit Ruby Uno Kartenspiel Autor: Fabian Merki Fabian Merki 05.11.2006 1 von 10 Inhaltsverzeichnis Einleitung... 3 Die Idee... 4 Design und Implementierung in Ruby... 5 Testing... 7 Startbefehle...

Mehr

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung Scholz (Hrsg.) / Krämer / Schollmayer / Völcker Android-Apps entwickeln Konzeption, Programmierung und Vermarktung Vom Entwurf bis zum Einstellen bei Google Play und Co. So entwickeln Sie native Apps für

Mehr

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Kalaidos Fachhochschule Schweiz majakob@gmx.ch Abstract: Bisher war es kaum realistisch, im Anfängerunterricht mobile oder webbasierte Applikationen

Mehr

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014 Continuous Delivery Der pragmatische Einstieg von Eberhard Wolff 1. Auflage dpunkt.verlag 2014 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 86490 208 6 Zu Leseprobe schnell und portofrei erhältlich

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

Software Engineering in

Software Engineering in Software Engineering in der Werkzeuge für optimierte LabVIEW-Entwicklung Folie 1 Best Practices Requirements Engineering Softwaretest Versionsmanagement Build- Automatisierung Folie 2 Arbeiten Sie im Team?

Mehr

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark M Plus CD! JE TZ ER T N! 4.11 Deutschland 9,80 Österreich 10,80, Schweiz sfr 19,20 4.2011 KE Neue Serie: The Making of an Eclipse Project eclipse magazin VO R The Westin Grand München Arabellapark Anmeldung

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Programmieren im Web 2.x

Programmieren im Web 2.x Programmieren im Web 2.x Ein Überblick über die Webentwicklung im Jahre 2011 Johannes Leers 26. März 2012 1 Motivation 2 Web-Frameworks 3 Mobile Computing 4 WebGL 5 Cloud Computing 6 Fazit Native Programme

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Docker für Entwickler

Docker für Entwickler Docker für Entwickler Dr. Roland Huß, ConSol* Software GmbH Seamless DevOps Day, 16. April 2015 Agenda Docker Crash Intro Docker für Java Entwickler Integrationstests Anwendungs-Paketierung docker-maven-plugin

Mehr

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011 Auffrischung jquery jquery Mobile Marco Francke I 24.02.2011 Mayflower GmbH 2010 write less do more Marco Francke 24. Februar 2011 24.02.11 Mayflower GmbH 2 Mayflower GmbH 2010 Was ist jquery und was kann

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests Automatisierte Akzeptanztests mit FIT Einleitung Dieses beschreibt, wie man Tests aus Anwender-/Kundensicht mit dem Open-Source-Werkzeug FIT beschreibt und durchführt. Das ist für Kunden, Anwender und

Mehr

Permanente Integration Einstellung und Prozess versus Werkzeuge

Permanente Integration Einstellung und Prozess versus Werkzeuge Consulting Guild AG Methodenberatung für Projekte im 21. Jahrhundert Permanente Integration Einstellung und Prozess versus Werkzeuge Inhalt: Einleitung 1 Worum geht's hier überhaupt? 2 Überblick 2 Permanente

Mehr

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Architektur & Design Team & Skills Organisation & Entwicklungsprozess

Mehr

Open Source. Hendrik Ebbers 2015

Open Source. Hendrik Ebbers 2015 Open Source Hendrik Ebbers 2015 Open Source About me Hendrik Ebbers Lead of JUG Dortmund Java Architect @ Canoo Engineering AG JavaOne Rockstar, Java Expert Group Member Speaker, blogger & author Engineering

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011 Workshop I Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation 7. Juni 2011 Übersicht è Native Apps è Web-Apps è Mobile Websites è Responsive Design Mobile Kommunikation

Mehr

1 Installationen. 1.1 Installationen unter Windows

1 Installationen. 1.1 Installationen unter Windows 1 Installationen Dieses Kapitel beschreibt die Installationen, die für die Nutzung von PHP und MySQL unter Windows, unter Ubuntu Linux und auf einem Mac mit OS X notwendig sind. 1.1 Installationen unter

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

D.5 Eine Klasse für serielle Geräte schreiben

D.5 Eine Klasse für serielle Geräte schreiben D.5 Eine Klasse für serielle Geräte schreiben 285 D.5 Eine Klasse für serielle Geräte schreiben Man kann viel lernen, wenn man in einer interaktiven Umgebung mit einer neuen Bibliothek herumspielt. Allerdings

Mehr

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012 Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment Henning Blohm 5.7.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Ein Builtool?

Mehr

3 Die Zielplattformen

3 Die Zielplattformen 21 In diesem Kapitel werden Sie das Aufsetzen der Entwicklungsumgebungen der verschiedenen Smartphone-Systeme kennenlernen. Jede Smartphone-Plattform stelle ich Ihnen dabei in einem eigenen Unterkapitel

Mehr

Moderne Benutzeroberflächen für SAP Anwendungen

Moderne Benutzeroberflächen für SAP Anwendungen Seite 1 objective partner für SAP Erfahrungen mit dem UI-Development Kit für HTML5 (SAPUI5) - 19.06.2012 Seite 2 Quick Facts objective partner AG Die objective partner AG 1995 gegründet mit Hauptsitz in

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory /

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory / Mobile Backend in Cloud Azure Mobile Services / Websites / Active Directory / Einführung Wachstum / Marktanalyse Quelle: Gartner 2012 2500 Mobile Internet Benutzer Desktop Internet Benutzer Internet Benutzer

Mehr

E-Business Architekturen

E-Business Architekturen E-Business Architekturen Übung 3b Entwicklung eigener Service-Angebote 01.03.2015 Prof. Dr. Andreas Schmietendorf 1 Ziele der Übung Möglichkeiten zur Serviceimplementierung (ggf. auch Cloud) Umgang mit

Mehr

Enigma2 Plugin Entwicklung mit Eclipse

Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse 1/15 Inhaltsverzeichnis 1 ÜBER... 3 2 INSTALLATION... 4 2.1 INSTALLATION VON ECLIPSE... 4 2.2 INSTALLATION VON PYDEV... 4 3

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

re-lounge GmbH MEDIENBÜRO

re-lounge GmbH MEDIENBÜRO re-lounge GmbH MEDIENBÜRO Think mobile: Die Bedeutung des mobilen Web für Unternehmen 26. JANUAR 2013 01 Ansprechpartner Oliver Schmitt // Geschäftsführer der re-lounge GmbH oliver.schmitt@re-lounge.com

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

5.4 Die Benachrichtigung (Notification)

5.4 Die Benachrichtigung (Notification) 160 Bekannte Probleme Windows Phone Im Emulator wird immer die Connection.UNKNOWN zurückgegeben. ios und Bada Es wird leider nur unterschieden, ob es eine mobile oder WiFi-Verbindung gibt. Der Grad der

Mehr

VDLUFA-Schriftenreihe 1

VDLUFA-Schriftenreihe 1 VDLUFA-Schriftenreihe 1 Wie viele Apps sind ein LIMS? J. Flekna Pragmatis GmbH, Neufahrn 1. Einleitung Seitdem mobile Endgeräte massentauglich sind, ist die Bezeichnung App fester Bestandteil unseres zeitgeistigen

Mehr

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag SIEBEL OPEN UI Rhein-Main-Handel GmbH Standort: Düsseldorf Bankhaus Goldbaum GmbH & Co. KG ilum:e informatik ag Standort: Mainz Forschungszentrum Medizin Internationale Telecom AG Chemielabor GmbH Standort:

Mehr

Mobile Anwendungen im SAP-Umfeld

Mobile Anwendungen im SAP-Umfeld Erstes Symposium für neue IT in Leipzig 27. September 2013 Michael Rentzsch Informatik DV GmbH michael.rentzsch@informatik-dv.com +49.341.462586920 IT-Trend: Mobile Mobile might be one of the most interesting

Mehr

DHL Online Retoure - Magento Extension zur Erstellung der Retouren-Labels durch den Kunden im Frontend

DHL Online Retoure - Magento Extension zur Erstellung der Retouren-Labels durch den Kunden im Frontend DHL Online Retoure - Magento Extension zur Erstellung der Retouren-Labels durch den Kunden im Frontend Stand: 19/08/2014 1/11 DHL Online Retoure - Endbenutzer-Dokumentation 1 Voraussetzungen 3 1.1 Magento

Mehr

C++ und mobile Plattformen

C++ und mobile Plattformen Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) C++ und mobile Plattformen Mit diesem Artikel möchte ich euch einen kurzen Überblick über die verschiedenen Plattformen für

Mehr

Buildfrei skalieren für Big Data mit Z2

Buildfrei skalieren für Big Data mit Z2 Buildfrei skalieren für Big Data mit Z2 Henning Blohm ZFabrik Software KG 5.6.2013 1 Teil 1: Buildfrei entwickeln und skalieren Teil 2: Big Data, Cloud, und wie es zusammenpasst 2 1. Teil BUILDFREI ENTWICKELN

Mehr

vii Vorwort An wen richtet sich dieses Buch?

vii Vorwort An wen richtet sich dieses Buch? vii Nahezu jede große Website egal, ob das Backend in Java, PHP, Ruby oder Python programmiert wurde verwendet im Browser JavaScript als Sprache. Selbst die Konkurrenz zu JavaScript im Browser Adobe Flash

Mehr

Programmierung mobiler Geräte

Programmierung mobiler Geräte Programmierung mobiler Geräte SoSe 2015 Hybride Apps Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik http://mmberg.net 2 Letzte Woche: Webapps Nativ

Mehr

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 Acrolinx IQ Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen

Mehr

Sophos Mobile Control Benutzerhandbuch für Apple ios

Sophos Mobile Control Benutzerhandbuch für Apple ios Sophos Mobile Control Benutzerhandbuch für Apple ios Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Apple iphone... 4 3

Mehr