Software ubiquitärer Systeme

Größe: px
Ab Seite anzeigen:

Download "Software ubiquitärer Systeme"

Transkript

1 Software ubiquitärer Systeme Anwendungsentwicklung mit Java Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund 1

2 Motivation Probleme mit C und C++ effizienter Code aber unsicher eingeschränkte Portabilität - verschiedene Betriebssysteme und GUI-Bibliotheken: z.b. in Mobiltelefonen Symbian OS, Windows CE, Linux Varianten Sichere C++ Dialekte weniger effizienter Code mangelnde Verbreitung/Standardisierung Was ist die Alternative? Ein Ein Java Java für für eingebettete eingebettete Systeme! Systeme! 2

3 Die Java-Familie Je nach Anforderungen der Anwendungen bzw. Leistungsfähigkeit der Geräte bedient Oracle verschiedene Anwendungsdomänen mit unterschiedlichen Java Plattformen. Nicht Nicht nur nur die die Bibliotheken Bibliotheken sondern sondern auch auch die die virtuellen virtuellen Maschinen Maschinen unterscheiden unterscheiden sich. sich. Quelle: [1] 3

4 Inhalt Motivation Java Micro Edition Java Card Alternativen Android.NET Compact Zusammenfassung 4

5 Die Java Micro Edition Kurz: Java ME Sun Microsystems, Juni 1999 Zielmarkt Pager, PDAs Mobiltelefone, Smartphones Fernseher, Videorekorder, CD Player Java 2 Standard Edition API Java Micro Edition API Die meisten (klassischen) Mobiltelefone unterstützen heute Java ME Abgespeckte Version der Standard Edition (Java SE) Weniger Speicherverbrauch Keine schwergewichtigen Klassen (swing, awt, ) Optimierte virtuelle Maschine (KVM) 5

6 Java ME Architektur Die von Java ME abgedeckte Domäne ist riesig unterschiedlichste Geräte und Geräteklassen (Ressourcen) unterschiedlichste Anwendungen (Anforderungen) Um die Java ME zu strukturieren, wurden zwei grundlegende Konzepte definiert: Konfigurationen und Profile Leistungsstärkere Geräte Konfigurationen: Horizontale Aufteilung des Marktes... Leistungsschwache Geräte Profile: Vertikale Marktaufteilung 6

7 Java ME Konfigurationen Definiert Geräteklassen anhand verfügbarer Ressourcen CPU-Klasse, Speicher, Netzwerkanbindung Entscheidet über die verwendete virtuelle Maschine sowie APIs für elementare Funktionen. die Java Ausführungsumgebung Bisher wurden zwei Konfigurationen festgelegt CLDC: Connected Limited Device Configuration - z.b. Mobilfunkgeräte, um die 500 KB Speicher, einfache Applikationen - spezielle VM CDC: Connected Device Configuration - z.b. Smart Phones ab 2 MB Speicher, Set-Top-Boxes, High-End PDAs 7

8 Java ME Profile Hängen von der jeweiligen Anwendungsdomäne ab Definieren verfügbare APIs Sorgen für Portabilität Haben Abhängigkeiten Beispiele: MIDP (Mobile Information Device P.) - Netzwerk-Kommunikation - Einfache Benutzerschnittstelle - Datenspeicherung Personal Profile - Komplettes AWT - Ausführungsumgebung für Applets Quelle [1] 8

9 Java ME für Mobilgeräte MIDP Herstellerspezifische APIs CLDC Java VM (KVM) Betriebssystem KVM - Kilobyte Virtual Machine KB groß (je nach Compiler) Implementiert in C (ca Zeilen) Für Geräte mit mindestens KB Speicher und - 16 oder 32 Bit CPU 9

10 KVM: Was fehlt? Unterstützung für Object.finalize() Wird auch praktisch nicht verwendet Fehlerbehandlungsfähigkeiten (eingeschränkt) Es gibt lediglich 3 Fehler-Klassen - java.lang.error, java.lang.outofmemory und java.lang.virtualmachineerror Java Native Interface (JNI) Benutzerdefinierte Class Loader Reflection-Mechanismus Threading-Fähigkeiten (eingeschränkt) Zur Vermeidung von Sicherheitsproblemen und wegen des Overheads Keine Thread Groups und Daemon Threads) Verifikation von Class Files Einsatz eines Pre-Verifiers 10

11 Entwicklungsprozess Java-Quelltext Compile javac... Preverification preverify... Packaging jar... Deployment emulator... Java Class-Dateien Pre-verifizierte Class-Dateien JAR-Paket Anwendung auf dem Gerät 11

12 Java ME für Mobilgeräte MIDP Herstellerspezifische APIs CLDC Java VM (KVM) Betriebssystem CLDC - Connected Limited Device Configuration Low-Level Funktionalität - Umgang mit der Laufzeitumgebung, Ein-/Ausgabe Besteht aus of java.io, java.lang, java.util, java.microedition.io - Allerdings nur Teilmengen der aus Java SE bekannten Klassen! - Die Semantik bleibt aber erhalten 12

13 Java ME für Mobilgeräte MIDP Herstellerspezifische APIs CLDC Java VM (KVM) Betriebssystem MIDP Mobile Information Device Profile MIDP stellt Kernfunktionen für Mobilgeräte zur Verfügung - Netzwerkkommunikation - Datenhaltung - Benutzerschnittstelle 13

14 Mobile Information Device Profile Minimalanforderungen Bildschirmauflösung von mind. 96x54 Pixeln Keypad, Tastatur oder Touch Screen 256 KB nicht-flüchtiger Speicher 128 KB RAM 8 KB nicht-flüchtiger Speicher für persistente Daten Bi-direktionale Netzwerkverbindung MIDP 2.0 Packages javax.microedition.lcdui, javax.microedition.lcdui.game, javax.microedition.media, javax.microedition.media.control, javax.microedition.midlet, javax.microedition.pki, javax.microedition.rms Ausführung von Midlets Java ME-Applikationen bestehen aus 1 bis N MIDlets 14

15 Java ME: Midlet-Lebenszyklus MIDlets werden wie Applets von der Umgebung gesteuert Konstruktor Paused destroyapp() notifydestroyed() startapp() pauseapp() notifypaused() Destroyed Active destroyapp() notifydestroyed() 15

16 Java ME: Midlet-Beispiel Man Man erbt erbt von von MIDlet. MIDlet. // Zur Vereinfachung ohne Exceptions... public class HelloMIDlet extends MIDlet implements CommandListener { private Form mmainform; public HelloMIDlet() { mmainform = new Form("HelloMIDlet"); mmainform.append(new StringItem(null, "Hello, MIDP!")); mmainform.addcommand(new Command("Exit", Command.EXIT, 0)); mmainform.setcommandlistener(this); } protected void destroyapp(boolean arg0) { Diese Diese Methoden Methoden werden werden vom vom } Application Application Management Management System System protected void pauseapp() { (AMS) } (AMS) des des Mobilgeräts Mobilgeräts aufgerufen. aufgerufen. protected void startapp() { Display.getDisplay(this).setCurrent(mMainForm); } public void commandaction(command arg0, Displayable arg1) { notifydestroyed(); So So wird wird das das AMS AMS angewiesen angewiesen } das } das MIDlet MIDlet zu zu beenden. beenden. 16

17 Java ME: Demo Zum Bauen von Midlets benutzt man das Java ME SDK (aktuell 8.1) Demo-Applikationen Emulator Alle sonstigen Werkzeuge 17

18 Java ME: Fazit Pro Durch Konfigurationen und Profile wird eine Familie von JavaLösungen bereitgestellt - Damit skaliert der Ressourcenverbrauch Standardisierte domänenspezifische Bibliotheken Die kvm benötigt erstaunlich wenig Speicher Contra Die kvm ist leider langsam Leichte Einschränkungen bzgl. der Sprache müssen hingenommen werden - z.b. kein Reflection Entwickler müssen sich mit anderen Bibliotheken anfreunden 18

19 Inhalt Motivation Java Micro Edition Java Card Alternativen Android.NET Micro/Compact Framework Zusammenfassung 19

20 Java Card: Hardware Eine Java-Lösung für Smart Cards (Chipkarten mit Prozessor) Hardware-Eigenschaften Stromversorgung durch Lesegerät Interaktion lediglich mit dem Lesegerät - Serielle Schnittstelle, Standardprotokoll Enthalten Universalprozessor Bit, 3,5-5 MHz Extrem wenig Speicher KB ROM - 0,5-1 KB RAM KB EEPROM Vcc Reset Clock RFU C1 C2 C3 C4 C5 C6 C7 C8 Ground Vpp I/O RFU Definitiv zu klein für Java ME! 20

21 Java Card: Anwendungen Einsatzgebiete Krankenkassenkarten Bankkarten (EC) Handy-SIM-Karten Ausweise Ziel: nur eine Karte für viele Applikationen Anforderungen an die Java Card Plattform Sicherheit und Zuverlässigkeit - Verwaltung und Isolierung der Applikationen auf der Karte Extrem geringer Ressourcenverbrauch Für die Domäne passende standardisierte Packages Portabilität Kompatibilität mit existierenden Standards 21

22 Java Card: Was fehlt? Dynamisches Klassenladen Security Manager Garbage Collection Threads Klonen von Objekten Mehrdimensionale Felder Datentypen char, double, float und long Die Java Card API beschränkt sich auf folgende Pakete java.lang, javacard.framework, javacard.security, javacardx.crypto 22

23 Java Card: Applets... sind persistente Zustandsautomaten, die auf Nachrichten des Lesegeräts reagieren. haben (mindestens) folgende Methoden install - Erzeugung und Registrierung der Applet-Instanz select - Das Lesegerät spricht das Applet an process - Interpretation der Nachrichten (APDUs) vom Lesegerät deselect - Das Lesegerät beendet die Kommunikation mit dem Applet 23

24 Java Card: Fazit Pro Plattformunabhängige Entwicklung für Smart Cards Unterstützung mehrerer Applikationen auf einer Karte Dynamische Installation/Deinstallation von Applets Standardisierte Bibliotheken Nutzbarkeit von Java Know-How Contra Die Sprache ist zwar Java, das Programmiermodell aber nicht. Essentielle Sprachelemente fehlen Deutliche Nachteile hinsichtlich der Performance Vergleichsweise hohe Ressourcenanforderungen 24

25 Inhalt Motivation Java 2 Micro Edition Java Card Alternativen Android.NET Micro/Compact Framework Zusammenfassung 25

26 Android Open Handset Alliance (primär Google), 2007 T-Mobile, Motorola, Samsung,... Vision:... accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. Infrastruktursoftware-Plattform für Smartphones Open Source Diverse Produkte inzwischen verfügbar 26

27 Android: Architektur Linux und Java aber anders... 27

28 Android: Architektur Linux und Java aber anders... Die Die Dalvik-VM Dalvik-VM führt führt Java-Programme Java-Programme aus, aus, deren deren Bytecode Bytecode in in Dalvik-Bytecode Dalvik-Bytecode übersetzt übersetzt wurde. wurde. 28

29 Android: Die Dalvik-VM Benannt nach einer isländischen Stadt Hauptunterschiede Java-Bytecode ist stapelbasiert, Dalvik-Bytecode ist registerbasiert - Java-Bytecode lässt sich nicht (direkt) ausführen - Ein Übersetzungschritt ist erforderlich Dalvik Code wurde bis Android 2.2 nur interpretiert - Heute Trace-basierter JIT-Compiler Gründe Kompaktheit des Codes JIT-Compiler wurde als unnötig erachtet, da die Performancekritischen Teile nativ ausgeführt werden (Kernel/Libraries) - inzwischen können Anwendungen auch native code verwenden - JIT darf nicht zu viel Speicher benötigen Lizenzrechte? 29

30 Android: Größen (statisch) common system libraries (U) % (J) % (D) % (U) (U) unkomprimierte unkomprimierte jar-datei jar-datei (J) (J) komprimierte komprimierte jar-datei jar-datei (D) (D) unkomprimierte unkomprimierte dex-datei dex-datei web browser app (U) % (J) % (D) % alarm clock app (U) % (J) % (D) % Der Der Grund Grund ist ist allerdings allerdings nicht nicht nur nur der der kompaktere kompaktere Bytecode, Bytecode, sondern sondern auch auch eine eine schlaueres schlaueres Dateiformat. Dateiformat. Quelle: Dan Bornstein, Dalvik VM Entwickler 30

31 Android: Größen (dynamisch) Quelle: A JIT Compiler for Android s Dalvik VM Ben Cheng, Bill Buzbee, May 2010 JIT arbeitet Trace-basiert Übersetzung auf Ebene von Basisblöcken (statt ganzen Prozeduren) Ein Translation Cache pro Prozess (VM-Instanz) Trade-off zwischen Performance und Speicherbedarf akzeptabel 31

32 Android: ART (1) Kompilierung von Android Apps in Maschinencode zum Installationszeitpunkt ab Android 4.4 möglich Vorteile Dalvik-VM und JIT werden nicht mehr benötigt wenige Speicher Kein Tracing/Übersetzen zur Laufzeit weniger Energie Linux lädt Programme inkrementell starten schneller Alle Programmeteile liegen in Maschinencode vor laufen schnell Nachteile Keine dynamischen Optimierungen teilweise auch langsamer 32

33 Android: ART (2) Partielle Code-Spezialisierung in JIT-Compiler nicht bei ART Basierend Basierend auf auf der der Ausführungshäufigkeit Ausführungshäufigkeit von von Funktionen Funktionen mit mit bestimmten bestimmten Parametern (ermittelt Parametern (ermittelt vom vom Trace-JIT) werden Trace-JIT) werden Funktionen Funktionen spezialisiert. spezialisiert. Entsprechende EntsprechendeAufrufe Aufrufe werden umgeleitet. werden umgeleitet. int myfunc(int par1, int par2, int par3) { int r = 47; if (par1*par2 > 5) { int i; for (i=0; i<par1*par2;i++) { r+=par3*i; } } else r = par1+par2+par3 return r; } myfunc(7,5,2) int myfunc(int par1, int par2, int par3) { int r = 47; int i = 35; while (--i) r += i + i; return r; } myfunc(2,2,12) int myfunc(int par1, int par2, int par3) { return 16; } Quelle: c't 13/2015 Endlich kompiliert 33

34 Android: ART(3) Und wie steht's nun mit der Performance? In c't 13/2015 wurden 9 Benchmarks verglichen (relative Performance im Vergleich zu Dalvik) Android 4.4/ARM: 99% bis 184%, Durchschnitt 133% Android 5.1/ARM: 65% bis 238%, Durchschnitt 149% Android 4.4/Intel: 28% bis 179%, Durchschnitt 74% Android 5.1/Intel: 47% bis 176%, Durchschnitt 106% Fazit ART hat das Potential die Performance deutlich zu verbessern Kinderkrankheit auf Intel-basierten Android-Geräten 34

35 Android: Fazit Android ist für Smartphones ausgelegt Skalierbarkeit ist kein Thema Annahme: typische MB Speicher, MHz CPU - heute viel mehr vorhanden! Android zeigt, dass die Java-VM nicht unbedingt perfekt geeignet ist, um kleine Systeme zu bauen - Dalvik-Bytecode ist signifikant kleiner Ausführung von kompiliertem Maschinencode und Portabilität kein Widerspruch sein müssen - Übersetzung zum Installationszeitpunkt bei ART 35

36 .NET Framework für eingeb. Systeme? Microsoft Ermöglicht.NET auf Windows CE/Mobile-Geräten Quelle: msdn.microsoft.com Moderne Zwischensprache (MSIL) für mehrere Quellsprachen - C#, VB, J#, C++, - Ausgelegt auf JIT-Compiler Anwendungsentwicklung in MS Visual Studio Diverse Bibliotheken - Benutzerschnittstelle, Kommunikation, - Allerdings an diversen Stellen beschnitten Größenreduktion des.net Frameworks Compact: erfordert 12 MB Micro: erfordert 256 KB Flash, 64KB RAM (läuft ohne OS, kein JIT) 36

37 Inhalt Motivation Java Micro Edition Java Card Alternativen Android.NET Micro/Compact Framework Zusammenfassung 37

38 Zusammenfassung Java-Umgebungen bilden eine Produktlinie Bei den kleineren Varianten gibt es Einschränkungen Skalierbarkeit von 8 Bit Chipkarten bis 64 Bit Serversystemen z.b. keine Garbage Collection bei Java Card Es gibt auch Alternativen Dalvik- und MSIL-Programme haben kompakteren Code Klassische Mobiltelefone und damit auch Java ME werden Smartphones verdrängt 38

39 Literatur [1] [2] M. de Jode, Programming Java 2 Micro Edition on Symbian OS, ISBN , Wiley, Java Card Platform Specification 2.2.2, Sun Microsystems. 39

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Anwendungsentwicklung mit Java Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

Programmierung mobiler Kleingeräte

Programmierung mobiler Kleingeräte Programmierung mobiler Kleingeräte Einführung in J2ME Wolfgang Auer, Patrick Ritschel Java 2 Plattformen Quelle: Sun, Datasheet Java 2 Platform, Micro Edition Programmierung mobiler Kleingeräte, Einführung

Mehr

Java 2 Micro Edition. Informatikseminar - Steffen Lahm. Vortragsüberblick

Java 2 Micro Edition. Informatikseminar - Steffen Lahm. Vortragsüberblick Vortragsüberblick Historische Entwicklung Beispiele Anwendungsmöglichkeiten Historische Entwicklung 1990 Überlegungen zur Evolution der Computerentwicklung Green Project Ergebnis: Star7 ( *7 ) Kabelloser

Mehr

Mobile Betriebsysteme

Mobile Betriebsysteme Mobile Betriebsysteme Ueli Hofstetter, Philippe Hungerbühler, Anil Kandrical Seminar in Mobile Communication Systems WS 06/07 1 1.1 Kleingeräte für mobile Betriebsysteme Embedded System Personal Digital

Mehr

Programmierung von Smart Cards mit Hilfe von Java

Programmierung von Smart Cards mit Hilfe von Java Java Card 2.1.2 Programmierung von Smart Cards mit Hilfe von Java Übersicht 1. Einführung Smart Cards 2. Java Card Spezifikationen 3. Java Card Development Kit 4. Java Card in der Praxis und Fazit 1. Einführung

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Java-Kurs: J2ME Programmierung von Embedded Devices mit der Java 2 Plattform, Micro Edition

Java-Kurs: J2ME Programmierung von Embedded Devices mit der Java 2 Plattform, Micro Edition Java-Kurs: J2ME Programmierung von Embedded Devices mit der Java 2 Plattform, Micro Edition David Vogler david.vogler@stz-softwaretechnik.de Steinbeis-Transferzentrum Softwaretechnik j2mekurs.tex Java-Kurs:

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Usability-Test für mobile Java-Anwendungen

Usability-Test für mobile Java-Anwendungen Usability-Test für mobile Java-Anwendungen Problemstellung / Abgrenzung Usability Engineering / Patterns Usability Test Tool-Kette Fazit Roland Petrasch Usability-Test für mobile Java-Anwendungen Problemstellung

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

Betriebssysteme für mobile Endgeräte p.1

Betriebssysteme für mobile Endgeräte p.1 Betriebssysteme für mobile Endgeräte Übersicht und Marktanalyse Silvio Böhler sboehler@student.ethz.ch Internet Economics Betriebssysteme für mobile Endgeräte p.1 Betriebssysteme für mobile Endgeräte Charakteristiken

Mehr

Überblick über Java-Umgebungen auf Embedded-Plattformen

Überblick über Java-Umgebungen auf Embedded-Plattformen Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Überblick über Java-Umgebungen auf Tony Müller Dresden, 12.12.2011 Inhalt 1 Einleitung 2 Java-Plattform

Mehr

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy. Small History Machine Virtual Machine (VM) Komponenten der VM Entwicklungswerkzeuge JDK Woher bekommt man JDK Wie installiert man JDK Wie benutzt man JDK Entwicklungsumgebungen Java 23. May 1995: John

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

Java für Embedded Systems

Java für Embedded Systems Java für Embedded Systems Marc Balmer, micro systems marc@msys.ch 25. April 2001 Java-fähige Embedded Systems Palm PDA TINI Board Java-Ring ibutton Cyberflex Smart Card... Embedded Systems Steuer- und

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Einsatz von Java-fähigen GPRS-Terminals

Einsatz von Java-fähigen GPRS-Terminals Einsatz von Java-fähigen GPRS-Terminals Ein Bericht aus der Praxis Dr. Fred Könemann INSIDE M2M GmbH 15. VDE/ITG Fachtagung Mobilkommunikation Osnabrück 19.-20. Mai 2010 Dr. Fred Könemann, INSIDE M2M GmbH

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

Mit Cloud Power werden Sie zum

Mit Cloud Power werden Sie zum Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen. Adrian Friedli adrianfriedli@student.ethz.ch

Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen. Adrian Friedli adrianfriedli@student.ethz.ch Vom Smart Dust zum Smart Phone: Verfügbare SensingPlattformen Adrian Friedli adrianfriedli@student.ethz.ch Verteilte Systeme Seminar, ETH Zürich, 24. Februar 2009 Übersicht Sensornetze Mobiltelefone Sensornetze

Mehr

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit.

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit. 1 Seminar zum Programmierprojekt Arbeitsbereich Technische Informatik Ausgabe: 30. April 2008 Anleitung B3 Einführung in die Entwicklungsumgebungen Allgemeines In dieser Aufgabe lernen wir die Entwicklungsumgebungen

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Informatik, Informationselektronik, Wirtschaftsinformatik, Lehramt Informatik, Chemie, etc. Dipl.-Ing. Institute for Pervasive Computing Johannes

Mehr

Mobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG

Mobile App development mit Xamarin. Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG Mobile App development mit Xamarin Christian Hassa (ch@techtalk.ch) Andreas Willich (awi@techtalk.ch) TechTalk Software AG % der Bevölkerung mit Smartphone Smartphone Durchdringung >50% 34% 43% 54% DACH

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

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

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Erste Erfahrungen mit Android

Erste Erfahrungen mit Android Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,

Mehr

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland

360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland 360.NET Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland Was ist.net? Eine Strategie Eine Plattform Eine Laufzeitumgebung Eine Software-Sammlung Ein Set von Services Warum so ein Framework?

Mehr

Java in der Welt der Handys. Matthias Hemetsberger Joseph Erlinger Erwin Schwab Rudi Dittrich

Java in der Welt der Handys. Matthias Hemetsberger Joseph Erlinger Erwin Schwab Rudi Dittrich Java in der Welt der Handys Matthias Hemetsberger Joseph Erlinger Erwin Schwab Rudi Dittrich Überblick Einführung in MIDP Zusatzpackages: WMA (wireless messaging API) MMA (mobile media API) MIDP = Mobile

Mehr

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Christian Wawersich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue Java - Einführung in die Programmiersprache Leibniz Universität Anja Aue Handbücher am RRZN Programmierung. Java: Grundlagen und Einführung Java: Fortgeschrittene Techniken und APIs Java und XML Java -

Mehr

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools Functional Test Automation Tools Mobile App Testing Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013 Presenter: Christoph Preschern (cpreschern@ranorex.com) Inhalte» Ranorex Company Overview»

Mehr

Mobile Development in.net mit Xamarin

Mobile Development in.net mit Xamarin 1 Mobile Development in.net mit Xamarin Mobile Web (Hybrid) Apps Vorteil: Weniger Aufwand Multi-Plattform Web-Technologien Nachteil: UX Performance UI Design Gerätefunktionen 2 Plattform abstrahieren 3

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Grundlagen zur nebenläufigen Programmierung in Java

Grundlagen zur nebenläufigen Programmierung in Java Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei

Mehr

Cross-Platform Mobile mit.net

Cross-Platform Mobile mit.net Cross-Platform Mobile mit.net Mobile Entwicklungslandschaft Nativ Crosscompiled Hybrid Web Beste Usability? Überschaubare Kosten? Was ist Xamarin? Was ist Xamarin? 2011 Gegründet aus dem Ximian, Novell

Mehr

2 Ein Streifzug durch die JavaME

2 Ein Streifzug durch die JavaME 7 The nice thing about standards is that you have so many to choose from; furthermore, if you don t like any of them, you can just wait for next year s model. Andrew S. Tanenbaum Die Java Micro Edition

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

Programmieren mobiler Geräte

Programmieren mobiler Geräte Datum Technologie Entwicklung Werkzeug Übung Grundlagen 23.10.30 1 Überblick Ant Kompilieren 30.10.03 2 WLAN, BT Eclipse Projektverwaltung 06.11.03 3 GSM Eclipse Debugging 13.11.03 4 WAP, WML, WMLS XML

Mehr

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

0. Einführung. C und C++ (CPP)

0. Einführung. C und C++ (CPP) C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,

Mehr

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

Mehr

Plattformunabhängige App-Entwicklung - Eine für alle?

Plattformunabhängige App-Entwicklung - Eine für alle? Plattformunabhängige App-Entwicklung - Eine für alle? AGENDA Kurze Firmenpräsentation: M&M Software GmbH Motivation Komponenten der plattformunabhängigen App-Entwicklung Vergleich der App-Arten Beispiele

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

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage C# CLR CIL MCS ECMA-335 Linux.Ne t Was ist.net? Microsoft Homepage:.NET is the Microsoft Web services strategy to connect information, people, systems and devices through software. Mono Handbuch:.Net besteht

Mehr

Mobile Computing. J2ME - Mobile Media API. Ablauf. 1. Anwendungsbereich. 1. Multimedia-Prozesse. 1. Eigenschaften der MMAPI

Mobile Computing. J2ME - Mobile Media API. Ablauf. 1. Anwendungsbereich. 1. Multimedia-Prozesse. 1. Eigenschaften der MMAPI Mobile Computing Mobile Media API Ein Einblick in die Multimedia- Programmierung von Pocket-Devices Ablauf 1. Überblick über J2ME und die MMAPI 2. Klassen und Interfaces 3. Abspielen 4. Aufnehmen 5. MIDlet

Mehr

Applications Applets (eingeschränkte Rechte)

Applications Applets (eingeschränkte Rechte) 1 Arten von Java-Programmen Man unterscheidet 2 verschiedene Arten von Java-Programmen: Applications Applets (eingeschränkte Rechte) Erstere sind eigenständige Programme. Letztere sind "kleine" Programme,

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Sicherheit in Android

Sicherheit in Android Motivation Aufbau Sicherheit Ausblick Quellen Sicherheit in Android Peter Salchow INF-M2 - Anwendungen 1 Sommersemester 2008 Department Informatik HAW Hamburg 20. Mai 2008 Peter Salchow Sicherheit in Android

Mehr

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

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

Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick

Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick ConSol*CM basiert auf einer Java EE Web-Architektur, bestehend aus den folgenden Kern-Komponenten: JEE Application Server für die

Mehr

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg Connecting Android Externe Hardware mit dem grünen Roboter verbinden Alexander Dahmen Dominik Helleberg Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Cross-Platform Mobile Development mit Xamarin Mark Allibone, @mallibone

Cross-Platform Mobile Development mit Xamarin Mark Allibone, @mallibone 1 Cross-Platform Mobile Development mit Xamarin Mark Allibone, @mallibone Partner: 2 Vorstellung Referent Mark Allibone Noser Engineering AG Passionierter Mobile Entwickler: Xamarin Certified Mobile Developer

Mehr

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl.

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl. Java Micro Edition Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP von Klaus D. Schmatz 2., aktualis. u. erw. Aufl. Java Micro Edition Schmatz schnell und portofrei erhältlich bei beck-shop.de

Mehr

Dr. Holger Eichelberger

Dr. Holger Eichelberger SchülerInnen-Uni 2015 Dr. Holger Eichelberger eichelberger@sse.uni-hildesheim.de Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App?

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

Mehr

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Martin Däumler Matthias Werner Lehrstuhl Betriebssysteme Fakultät für Informatik

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Think Mobile Effiziente Entwicklungsstrategien im GIS. Kai Hoffmann, BTC AG

Think Mobile Effiziente Entwicklungsstrategien im GIS. Kai Hoffmann, BTC AG Think Mobile Effiziente Entwicklungsstrategien im GIS Kai Hoffmann, BTC AG Mobile Endgeräte Was ist zu beachten? In dieser Betrachtung Smartphone Tablet Unterschiedliche Hardwareausstattung Bildschirmgröße

Mehr

Apollo Überblick. Klaus Kurz. Manager Business Development. 2007 Adobe Systems Incorporated. All Rights Reserved.

Apollo Überblick. Klaus Kurz. Manager Business Development. 2007 Adobe Systems Incorporated. All Rights Reserved. Apollo Überblick Klaus Kurz Manager Business Development 1 Was ist Apollo? Apollo ist der Codename für eine plattformunabhängige Laufzeitumgebung, entwickelt von Adobe, die es Entwicklern ermöglicht ihre

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt

Mehr

Speaker. Dominik Helleberg. Mobile Development Android / Embedded Tools. http://dominik-helleberg.de/+

Speaker. Dominik Helleberg. Mobile Development Android / Embedded Tools. http://dominik-helleberg.de/+ Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+ Warum? Moderne Consumer UI Moderne Consumer UI http://fortheloveoftech.com/2014/10/01/windows-10-for-tablets-first-impressions-there-is-no-start-menu/

Mehr

Java ME Anwendungsentwicklung für Handys, PDA und Co.

Java ME Anwendungsentwicklung für Handys, PDA und Co. Ulrich Breymann, Heiko Mosemann Java ME Anwendungsentwicklung für Handys, PDA und Co. ISBN-10: 3-446-41376-6 ISBN-13: 978-3-446-41376-4 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41376-4

Mehr

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen Google's Betriebssystem für mobile Plattformen Vortrag von Michaela Rindt Universität Siegen Übersicht Einleitung Softwarearchitektur Softwareentwicklung für Android Unterschied zu anderen mobilen Plattformen

Mehr

Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012

Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012 Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012 Roj Mircov TSP Datacenter Microsoft Virtualisierung Jörg Ostermann TSP Datacenter Microsoft Virtualisierung 1 AGENDA Virtual

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

Mehr

Java für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel

Java für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel Java für Anfänger Teil 1: Intro Programmierkurs 11.-15.10.2010 Manfred Jackel 1 1. Handwerkszeug Eclipse Workbench mit Java-Compiler Java Runtime Environment Notwendige Software Java Runtime Environment

Mehr

im Rahmen des Seminars - Programmiersprachen Markus Nestvogel

im Rahmen des Seminars - Programmiersprachen Markus Nestvogel C# im Rahmen des Seminars - Programmiersprachen Markus Nestvogel 2 Gliederung 1. Einführung 2. Microsoft.NET 3. C# 3 1 Einführung objektorientierte Programmiersprache für Microsoft.NET entwickelt Konkurrenz

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

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

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1 Übungen Informatik I JAVA - Einführung Übungen Informatik 1 Folie 1 Warum Java? Java ist derzeit die Programmiersprache für das Internet. Java ist ein Programmierkonzept der Zukunft. Objekt-orientierte

Mehr

Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen?

Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen? Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen? JULIA SCHILLING SSV EMBEDDED SYSTEMS HEISTERBERGALLEE 72 D-30453 HANNOVER WWW.SSV-EMBEDDED.DE Ethernet

Mehr

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

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Implementierung der Jikes Research Virtual Machine

Implementierung der Jikes Research Virtual Machine Fakultät Informatik Institut für technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Implementierung der Jikes Research Virtual Machine Hauptseminar Technische Informatik

Mehr

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Fakultät Informatik Institut für Systemarchitektur, Professur Betriebssysteme VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Henning Schild Dresden, 5.2.2009 Definition Einführung von Abstraktionsschichten

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

Mehr

Diplomarbeit Antrittsvortrag

Diplomarbeit Antrittsvortrag Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...

Mehr

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Agenda Problemstellung Medizinprodukt App Grundlagen Szenarien (Problemstellungen und Lösungsansätze) 03.06.2013 2 Innovationen

Mehr

Mobile Computing. Betriebssysteme und Entwicklungsumgebungen. Ausarbeitung zum Hauptseminar. vorgelegt von

Mobile Computing. Betriebssysteme und Entwicklungsumgebungen. Ausarbeitung zum Hauptseminar. vorgelegt von Mobile Computing Betriebssysteme und Entwicklungsumgebungen Ausarbeitung zum Hauptseminar vorgelegt von Betreuer Gabriele Frings am 12. Juni 2002 Dr. Jürgen Nützel Inhaltsverzeichnis 1 Einleitung 1 2

Mehr

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Seite 1 Allgemeines Dozent Dr. Th. Letschert Lernziel Einführung in die Software-Entwicklung und Programmierung Kenntnisse einer

Mehr

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch Eclipse Runtime (OSGi) als Plattform eines Swing Rich Client Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch Zu meiner Person

Mehr

Mobile Applications. Adrian Nägeli, CTO bitforge AG

Mobile Applications. Adrian Nägeli, CTO bitforge AG Mobile Applications Adrian Nägeli, CTO bitforge AG Inhalt Vorstellung Marktübersicht Entwicklung Adrian Nägeli Dipl. Inf.-Ing FH Seit 2005 bei bitforge bitforge AG Standort Rapperswil-Jona Gründung 2004

Mehr

Android Eine Open-Source-Plattform für Embedded Systems (?) Jörg Pleumann Noser Engineering AG

Android Eine Open-Source-Plattform für Embedded Systems (?) Jörg Pleumann Noser Engineering AG Android Eine Open-Source-Plattform für Embedded Systems (?) Jörg Pleumann Noser Engineering AG 31. August 2010 1 Agenda Einleitung Plattform Werkzeuge Hardware 2 Einleitung (I) Was ist Android? Kompletter

Mehr