CROSS PLATFORM DEVELOPMENT MIT PORTABLE CLASS LIBRARIES

Größe: px
Ab Seite anzeigen:

Download "CROSS PLATFORM DEVELOPMENT MIT PORTABLE CLASS LIBRARIES"

Transkript

1 Entwicklung Autor: Sebastian Kugler CROSS PLATFORM DEVELOPMENT MIT PORTABLE CLASS LIBRARIES ZUSAMMENFASSUNG TREND APPLIKATIONEN AUF MEHRERE PLATT FORMEN ZU VERFÜGUNG ZU STELLEN CODE REUSABILTY PORTABLE CLASS LIBRARIES METHODEN & TECHNOLOGIEN MVVM PORTABLE CLASS LIBRARIES CONVERTER TAGS CROSS PLATFORM DEVELOPMENT

2 INHALTSVERZEICHNIS 1. Projekt & Ausgangssituation Das Model View ViewModel (MVVM) Konzept Model View Controller (MVC) Pattern im Überblick 03 Model View ViewModel (MVVM) Design Pattern MVVM Stärken und Schwächen 04 Data Binding (Datenbindungs-Modell) und INotifyPropertyChanged 05 Delegate Commands Cross Platform Lösungen mit Hilfe von Portable Class Libraries Einrichten einer Cross Platform Solution mit Portable Class Library 07 Portable Class Libraries und MVVM Navigation Services Converter für die GUI Entwicklung 10 BooleanToVisibilityConverter 10 Verweise & Autoren 11

3 1. PROJEKT & AUSGANGSSITUATION Viele Aufgaben erledigen Mitarbeiter heute nicht mehr nur von ihrem Arbeitsplatzrechner aus, sondern auch von unterwegs mit Hilfe von Mobile Devices. Aus diesem Grund reicht die Entwicklung einer reinen Desktop-Anwendung oft nicht mehr aus, um allen Anforderungen gerecht zu werden, weshalb die Verfügbarkeit der Software auf weiteren Plattformen angestrebt wird. Dies soll nach Möglichkeit ohne großen Mehraufwand durchgeführt werden, welcher entstehen würde, wenn für jede Plattform eine eigene Anwendung programmiert wird. Um gleichzeitig mehrere Plattformen ohne mehrfachen Entwicklungsaufwand zu erreichen gibt es unterschiedliche Ansätze. Einer wäre die Umsetzung einer Webapplikation. Möchte man allerdings native Lösungen bieten, dann empfiehlt sich die Verwendung von Portable Class Libraries (PCL). Microsoft bietet diesen neuen Projekttyp seit Visual Studio 2012 an. Die Portable Class Library ermöglicht es dem Entwickler gleichzeitig für unterschiedliche.net Varianten zu entwickeln, z. b. für.net Framework 4.5, Windows Phone und Windows Store Apps. Eine Übersicht finden Sie im Microsoft Developer Network [5]. Mit diesem Lösungsansatz können große Teile des Codes plattformübergreifend, zumindest für.net, weiter- und wiederverwendet werden. Mit Hilfe von XAMARIN ist es sogar möglich die Codebasis auch für Android und ios weiterzuverwenden. Inwieweit ihr bestehender Code schon kompatibel ist, können Sie Hier (Link suchen scan.xamarin.com/ ) prüfen. In den folgenden Abschnitten zeigen wir anhand eines Beispielprojekts, auf welche Stolpersteine Sie achten sollten, wenn Sie eine Anwendung von Anfang an mit Hilfe von Portable Class Libraries realisieren wollen. Dabei werden wir folgende Themenschwer punkte anschneiden: Das Model View ViewModel (MVVM) Konzept. Erstellen einer Cross Platform Solution mit Hilfe einer Portable Class Library Navigation in einer Cross Platform Solution bei Verwendung des MVVM Hilfen bei der GUI Entwicklung 02

4 2. DAS MODEL VIEW VIEWMODEL (MVVM) KONZEPT Das Model View ViewModel (MVVM) Design Pattern wurde das erste Mal von John Gossman in seinem Blog beschrieben und ist eine Abwandlung des Model View Controller (MVC) Patterns. Das MVVM Pattern wurde ursprünglich für WPF und Silverlight entwickelt und unterstützt die getrennte Entwicklung vom UI-Design und UI-Logik. MVVM bietet viele Vorteile, vor allem bei großen Anwendungen oder bei Cross Platform Lösungen. Bei kleineren Anwendungen erhöht sich allerding die Komplexität und wird aufgrund des Overheads nicht immer empfohlen. Zunächst ein kurzer Blick auf das MVC Pattern. MODEL VIEW CONTROLLER (MVC) PATTERN IM ÜBERBLICK Die Client-Architektur des MVC setzt sich aus den folgenden drei Hauptkomponenten zusammen: Model (Daten) View (Benutzeroberfläche) Controller (Programmsteuerung) Wie die Grafik veranschaulicht, kennt die View den Controller und das Model, während der Controller nur das Model kennt. Das Model ist unabhängig und hat weder Kenntnis von View noch vom Controller. Das Model stellt die zu repräsentierenden Daten zur Verfügung und verfügt über einen Benachrichtigungsmechanismus, wenn Änderungen am Modell durchgeführt wurden. View Controller Model Die View ist für die Datendarstellung verantwortlich und aktualisiert diese, wenn sie benachrichtigt wurde, dass die Daten sich im Model geändert haben. Benutzereingaben werden an den Controller weitergegeben. Der Controller kennt die View nicht, steuert aber den Programmablauf und gibt Änderungen an das Model weiter. Früher wurde auch die Business-Logic mit vom Controller übernommen. Heute wird die Geschäftslogik meist im Model implementiert und der Controller kümmert sich nur noch um die Steuerung der Oberfläche. Im Lauf der Zeit hat sich herausgestellt, dass eine strikte Trennung von View und Controller nur schwer möglich ist. Das MVVM Pattern versucht diese Problematik mit einer losen Kopplung zwischen UI-Design und UI-Logik zu lösen. MODEL VIEW VIEWMODEL (MVVM) DESIGN PATTERN Wie das MVC Entwurfsmuster besitzt das MVVM Pattern auch drei Hauptkomponenten: Model (Datenmodell) View (UI-Design) ViewModel (UI-Logik) Model View ViewModel (MVVM) Design Pattern- Fortsetzung Seite

5 2. DAS MODEL VIEW VIEWMODEL (MVVM) KONZEPT Wie die Grafik zeigt, kennt bei diesem Design Pattern nur die übergeordnete Komponente die Untergeordnete. D.h. die View kennt nur das ViewModel und das ViewModel nur das Model. Das Model hingegen kennt weder das ViewModel noch die View. View ViewModel Model Data Binding Referenz User Interface beschrieben in XAML Stellt darzustellende Informationen bereit/ übernimmt Interaktionsfluss Datenobjekte und Geschäftslogik Die View (meist in XAML) ist genau wie beim MVC Pattern für die Darstellung der Informationen zuständig und enthält die entsprechenden grafischen Elemente wie Textboxen, Buttons etc. Das Konzept des Data Bindings (Datenbindung) ermöglicht es, dass die Benutzeroberfläche nicht zwingend von einem Programmierer, sondern auch von einem Designer mit z.b. Expression Blend erstellt werden kann. Das ViewModel enthält keine grafischen Elemente, stellt aber die komplette UI-Logik zur Verfügung. Alle Benutzereingaben werden mittels Data Binding an das ViewModel weitergeleitet und dort weiter verarbeitet. Bei konsequenter Umsetzung des MVVM Design Patterns kann das ViewModel mit Unit-Test geprüft werden. Im Model werden genau wie beim MVC Entwurfsmuster die anzuzeigenden Daten gekapselt und es enthält die Geschäftslogik. Das Model sollte ebenfalls so implementiert werden, dass es mit Unit-Tests überprüft werden kann. MVVM Stärken und Schwächen Stärken von MVVM: Es gibt die strikte Trennung von UI und UI-Logik. Anwendungen erlangen dadurch eine bessere Wartbarkeit. Das MVVM Entwurfsmuster unterstützt Unit-Testing. Die UI Logik in den ViewModels lässt sich ebenfalls mittels Unit-Tests prüfen. Es ist einfach möglich die View auszutauschen oder von eine Designer erstellen zu lassen Nachteile: Bei kleineren Anwendungen mit einer einfachen Benutzeroberfläche entsteht durch das MVVM Design Pattern ein Programming Overhead. Bei größeren Software-Lösungen kann es schwerer sein, das ViewModel vorab mit dem richtigen Grad der Allgemeingültigkeit zu entwickeln. Data Binding macht, trotz seiner Vorteile, Debugging häufig komplizierter. [1] Die konsequente Umsetzung des MVVM Pattern und strikte Trennung von Oberfläche und Geschäftslogik erfordert unter anderem den Einsatz von Data Binding und sogenannten Delegate Commands. 04

6 2. DAS MODEL VIEW VIEWMODEL (MVVM) KONZEPT Data Binding (Datenbindungs-Modell) und INotifyPropertyChanged.NET unterstützt mit Data Binding oder auch Datenbindung einen einfachen Weg, Daten zwischen UI und Business-Logic automatisch zu aktualisieren. Das Konzept ist nötig, da wir unsere Anwendungsoberfläche in der View definieren und die Datenbereitstellung im zugehörigen ViewModel kapseln wollen. Das Data Binding besteht zwischen einem Source Object, in unserem Fall eine.net Property des View- Models, dem Binding und einer Dependency Property des Target Objects (ViewModel). An einem einfachen Beispiel werden die Komponenten kurz erklärt. Die View wird in view.xaml und der dazugehörigen view.xaml.cs definiert. In diesem Fall enthält die View nur ein Textfeld. Wir bilden das Binding an der Text Property der Textbox, indem wir die Path Property setzen. <StackPanel> <TextBlock Text= Binding Path=Firstname ></TextBlock> <TextBlock Text= Binding Path=Firstname ></TextBlock> </StackPanel> Im CodeBehind der View (view.xaml.cs) muss nun das entsprechende ViewModel als DataContext angeben werden. public partial class MainWindow : Window public MainWindow() InitializeComponent(); this.datacontext = new ViewModel(); Das ViewModel verwendet das INotifyProperty Changed-Interface und implementiert das Property Changed Event, welches über die UI über Änderungen von Properties einer Klasse Informiert. public event PropertyChangedEventHandler PropertyChanged; public void NotifyPropertyChanged (string propertyname) if (this.propertychanged!=null) this.propertychanged( this, new PropertyChangedEventArgs(propertyname)); Im Regelfall wird eine ViewModelBase Klasse erstellt, welche das INotifyPropertyChanged Interface implementiert und alle ViewModel Klassen erben von dieser. Werden z.b. Listen oder Datensammlungen zur Bearbeitung benötigt, dann sollte auf die Observable Collection<T> zurückgegriffen werden. Denn bei Änderungen wie dem Hinzufügen oder Löschen von Elementen muss das Data Binding informiert werden. ObservableCollection<T> hat das INotifyCollectionChanged-Interface von Haus aus implementiert und löst das CollectionChanged Event aus, wenn z.b. Objekte zur Collection hinzugefügt werden. Weitere Informationen zu Data Binding erhalten Sie hier [2]. 05

7 2. DAS MODEL VIEW VIEWMODEL (MVVM) KONZEPT Delegate Commands Die Programmierung der UI-Logik soll laut MVVM Design Pattern im jeweiligen ViewModel erfolgen. Deswegen wird bei Anwendung des MVVM Pattern das sogenannte Delegate Command eingesetzt. Dazu muss, wie im folgenden Beispiel auch, das ICommand Interface in der Klasse DelegateCommand implementiert werden. Diese erstellte Klasse Delegate Command dient dann als Basisklasse für alle benötigten Commands. Die DelegateCommand Klasse verfügt über: Konstruktor Execute Methode: Wird aufgeführt, wenn der jeweilige Command aufgerufen wird. CanExecute Methode: Gibt einen Boolean Wert zurück. Wenn true zurückgegebenwird, kann die Execute Methode ausgeführt werden. CanExecuteChanged EventHandler Codebeispiel: private readonly Action<object> _executehandler; private readonly Func<object, bool> _canexecutehandler; public DelegateCommand(Action<object> execute, Func<object, bool> canexecute) if (execute -- null) throw new ArgumentNullExeption ( Execute cannot be null ); _executehandler = execute; _canexecutehandler = canexecute; public event EventHandler CanExecuteChanged; public void Execute(object parameter) _executehandler(parameter); public bool CanExecute(object parameter) if (_canexecutehandler == null) return true; return _canexecutehandler(parameter); Hier wird ein Login Command mit Hilfe der Delegate- Command Klasse implementiert und via Binding mit der UI Verknüpft. public LoginViewModel() // LoginCommand uses the DelegateCommand Pattern LoginCommand = new DelegateCommand (OnLoginExecute, OnLoginCanExecute); public ICommand LoginCommand get; private set; void OnLoginExecute(object parameter) if (isuserauthenticationsuccessful()) loginsuccessful = true; bool OnLoginCanExecute(object parameter) return true; Weitere Informationen zu Commands [4] 06

8 3. CROSS PLATFORM LÖSUNGEN MIT HILFE VON PORTABLE CLASS LIBRARIES Seit Visual Studio 2012 wird die Entwicklung von Portable Class Libraries unterstützt, welche die plattformübergreifende Entwicklung von.net Framework-Applikationen ermöglichen. Mit Hilfe von Portable Class Libraries lässt sich Code schreiben, der ohne weitere Änderungen auf mehreren Plattformen funktioniert, wie z.b. für: Windows Desktop Windows Store Apps Windows Phone Apps Beim Erstellen einer Cross Platform Solution mit einer Portable Class Library müssen die zu unterstützenden Plattformen ausgewählt werden. Visual Studio generiert dann eine Klassenbibliothek mit einer Teilmenge der Assemblys der vorher ausgewählten Projekttypen. Dies hat den Vorteil, dass Programmcode der innerhalb der Portable Class Library entwickelt wurde auf den jeweiligen Plattformen ohne weitere Änderungen ausgeführt werden kann. Dies eignet sich besonders gut, um bspw. die Geschäftslogik einer Anwendung gleichzeitig für Desktop-Anwendungen, Windows Store Apps und für Windows Phone Apps freizugeben. Einrichten einer Cross Platform Solution mit Portable Class Library Das Einrichten einer Cross Platform Solution gestaltet Microsoft sehr einfach. In diesem Fall verwenden wir die aktuelle Version von Visual Studio Professional 2013 mit Update 2 und legen ein neues Projekt an. Als Vorlage wählen wir die Class Library Portable. Im nächsten Dialog wählen wir die zu unterstützenden Plattformen. Bei der Wahl der Plattformen können verschiedene Versionen des.net Frameworks ausgewählt werden. Außerdem muss man sich bei der Unterstützung von Windows Store und Windows Phone Silverlight Apps zwischen den Versionen 8 und 8.1 entscheiden. Für Windows Phone 8.1 können seit Update 2 auch Apps auf der Basis von WinRT, wie bei Windows Store Apps, entwickelt werden. Somit nähert Microsoft die beiden Plattformen einander an, denn Windows Phone Apps waren vorher nur mit Silverlight möglich. Eine aktuelle Übersicht aller Ziel-Plattformen finden Sie im Microsoft Developer Network unter folgendem Link [5]. Microsoft bietet an dieser Stelle auch eine Matrix die zeigt welche Ziel-Plattform welches Features unterstützt. Nachdem die Portable Class Library in der Solution erzeugt wurde, können nun die weiteren Projekte für die einzelnen Plattformen hinzugefügt werden. Wir haben in unserer Demo noch Projekte für das.net Framework 4.5, Windows Phone Silverlight 8 und, Windows 8.1 hinzugefügt (siehe Bild). Die plattformspezifischen Projekte referenzieren dann das PCL-Projekt. 07

9 3. CROSS PLATFORM LÖSUNGEN MIT HILFE VON PORTABLE CLASS LIBRARIES Portable Class Libraries und MVVM Allein das Einrichten und Verwenden von Portable Class Libraries verspricht noch keine hohe Wiederverwendbarkeit von geschriebenem Code. An dieser Stelle kommt das MVVM Pattern zum Einsatz. Das MVVM Entwufsmuster ermöglicht durch die einfache Trennung von User-Interface und Business- Logic eine einfache Auslagerung dieser in die Portable Class Library. D.h. die PCL enthält Models, View- Models und Abstraktionen plattformabhängiger Implementierungen. Die Programmierung der Benutzeroberfläche (View) hingegen erfolgt in den je weiligen Projekten. Genauso wie die Implementierung plattformspezifischer Funktionalitäten (siehe Grafik). Unterscheidet sich die Implementierung in den jeweiligen Plattformen nicht gravierend, so können einzelnen Dateien in Visual Studio auch projektübergreifend verlinkt werden und plattformabhängige Code-Fragmente mit Hilfe von Compiler-Directives definiert werden.auch so erhöht sich die Wiederverwendbarkeit von Code. Windows Store App Weitere Plattform Views Views Portable Class Library ViewModels Models 08

10 4. Navigation Services Die Navigation in Anwendungen ist ein wichtiger Aspekt und wird für das Wechseln zwischen den verschiedenen Ansichten (Views) benötigt. Die Umsetzung der Navigation innerhalb der jeweiligen Anwendungen wird allerdings unterschiedlich umgesetzt. Bei Windows Phone Apps wird zur Navigation ein URI (Name der Page als String) verwendet, wohingegen bei Windows Store Applikationen das jeweilige Seitenobjekt aufgerufen wird. Ein weiterer Unterschied besteht in der Übergabe von Parametern. Bei Windows Store Apps können Objekte übergeben werden, während die Parameterdaten bei Windows Phone als Query-String übermittelt werden. Eine weitere Funktion könnte eine Zurück-Funktion sein. Umsetzung eines Navigation Service Da die Implementierung der Navigation aus den gerade genannten Gründen plattformspezifisch erfolgen muss, stellt die PCL nur ein Interface (INavigationService) bereit. Dieses enthält eine CanGoBack Eigenschaft und eine GoBack und Navigate Methode. Die Implementierung der Navigation erfolgt dann im jeweiligen Projekt. Den Code für die Navigation bei Windows Store sehen sie im ersten Beispiel. public void Navigate<TDestinationViewModel>(object parameter) var dest = ViewModelRouting[typeof(TDestinationViewModel)]; RootFrame.Navigate(dest, parameter); Bei Windows Phone erfolgt die Navigation hingegen mit einer URI (siehe Code). public void Navigate<TDestinationViewModel>(object parameter) var navparameter = string.empty; if (parameter!= null) navparameter =?param= + JsonConvert.SerializeObject(parameter); if (ViewModelRouting.ContainsKey( typeof(tdestinationviewmodel))) var page = ViewModelRouting[ typeof(tdestinationviewmodel)] Der Aufruf erfolgt im ViewModel z.b. Command- Binding. void OnLoginExecute(object parameter) if (isuserauthenticationsuccesful()) INavigationService navigationsercive = this.getservice<inavigationservice>(); if (navigationservice == null) return; navigationservice.navigate<emesystemviewmodel>(); this.rootframe.navigate(new Uri( / + page + navparameter, UriKind.Relative)); 09

11 5. Converter für die GUI Entwicklung Die Implementierung der Benutzeroberfläche wird in den Projekten der jeweiligen Plattform durchgeführt. Allerding werden manche Werte oder Eigenschaften die in der GUI benötigt werden im ViewModel, welches in der Portable Class Library definiert wurde, manipuliert. Beispielsweise könnte im ViewModel geregelt werden, ob ein Objekt in der View angezeigt wird oder nicht (Visible oder Collapsed). Windows Store 8 Apps nutzt zum Beispiel den Windows.UI.Xaml Namespace und deswegen System.Windows.Visibility.Collapsed statt Windows.UI.Xaml.Visibility.Collapsed. In diesem Fall können Converter helfen. BooleanToVisibilityConverter Das folgende Beispiel beschreibt einen BooleanTo- VisibilityConverter. Im ViewModel wird das Property definiert. True für Visible und False für Collapsed (siehe Code). private bool _MenuVisibility = false; public bool MenuVisibility get return _MenuVisibility; set _MenuVisibility = value; NotifyPropertyChanged( MenuVisibility ); Im nächsten Abschnitt wird der Converter für Windows Store im Projekt implementiert. Dabei wird die IValueConverter Schnittstelle von Windows.UI.Xaml.Data verwendet und für die Visibility-Eigenschaft Windows.UI.Xaml.Visibility.Visible sowie Windows.UI.Xaml.Visibility. Collapsed. Eine Implementierung für z.b. Windows Phone würde das Interface System.Windows.Data. IValueConverter und die Properties System. Windows.Visibility.Visible bzw. System.Windows. Visibility.Collapsed verwenden. public class BooleanToVisibilityConverter : IValueConverter public object Convert (object value, Type targettype, object parameter, System.Globalization.CultureInfo culture) if (value == null) return System.Windows.Visibility.Collapsed; var isvisible = (bool)value; return isvisible? System.Windows.Visibility.Visible: System.Windows.Visibility.Collapsed; public object ConvertBack(object value, Type targettype, object parameter, System.Globalization.CultureInfo culture) var visiblity = (Sytem.Windows.Visibility)value; return visiblity == System.Windows.Visibility.Visible; Damit der Converter verwendet werden kann, muss er noch als Referenz in einem Resource Dictionary eingetragen werden. Die Verwendung des Converters erfolgt dann direkt im jeweiligen XAML File via Data Binding. <phone:panoramaitem Header= Menu VerticalContentAlignment= Stretch Visibility= Binding MenuVisibility, Converter=StaticResource BooleantoVisibility > <phone:longlistselector ItemSource= Binding MenuItems /> </phone:panoramaitem> 10

12 Verweise & Autoren [1] [2] [3] [4] [5] Sebastian Kugler ist seit 2011 für Vioxon im Bereich Software entwicklung tätig. Seine Schwerpunkte liegen unter anderem in der.net C#, Cross Platform und Mobile Entwicklung. Die Interessen umfassen auch Themen aus der Computer Vision und agilen Entwicklungs methoden. [6] [7] [8] Thomas Ostrowski Ist seit Gründung der Vioxon GmbH im Bereich Softwareentwicklung tätig. Als Projektmanager Embedded-Entwicklung beschäftigt er sich mit der Leitung und Umsetzung von Projekten im Steuerungsbereich für Industrie

Model-View-ViewModel (MVVM)

Model-View-ViewModel (MVVM) 1 Model-View-ViewModel (MVVM) Grundlagen und Einsatz des GUI-Architekturmusters W3L AG info@w3l.de 2011 2 Agenda Motivation Architekturmuster MVVM-Pattern Fazit Aufbau & Komponenten Technische Grundlagen

Mehr

MVVM in Windows 8 und Windows Phone 8

MVVM in Windows 8 und Windows Phone 8 Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG Thomas Claudius Huber Principal Consultat bei Trivadis www.trivadis.com www.thomasclaudiushuber.com Trainer, Coach, Developer,

Mehr

Universal-Apps. Gordon Breuer Senior IT Consultant Software Engineer / Architect msg systems ag. activevb Workshop 2014 30.

Universal-Apps. Gordon Breuer Senior IT Consultant Software Engineer / Architect msg systems ag. activevb Workshop 2014 30. Universal-Apps activevb Workshop 2014 30. August 2014 Auszug aus dem Buch: Windows Phone 8.1 Kochbuch Erscheinungsdatum: Q4/2014 Autoren: Matthias Fischer, Gordon Breuer Gordon Breuer Senior IT Consultant

Mehr

WPF - Windows Presentation Foundation

WPF - Windows Presentation Foundation Arthur Zaczek Nov 2014 1 WPF 1.1 WPF Windows Presentation Foundation, seit.net 3.0 Introduction to WPF: http://msdn.microsoft.com/en-us/library/aa970268(v=vs.110).aspx Windows Presentation Foundation:

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

GUI-Entwicklung 2: Windows Presentation Foundation

GUI-Entwicklung 2: Windows Presentation Foundation GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung

Mehr

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps Agenda Ziele Portable Class Libraries Projektaufbau MVVM Databinding #1 MVVM Light Inversion of Control & Dependency Injection Repository Pattern Databinding #2 Skalierbare Enterprise Architekturen für

Mehr

XAML Extensible Application Markup Language. Manuel Naujoks (IB3)

XAML Extensible Application Markup Language. Manuel Naujoks (IB3) Extensible Application Markup Language Manuel Naujoks (IB3) Einführung Beschreibungssprachen Vorteile Nachteile Agenda technisch Aufbau Kompilierung Verarbeitung zur Laufzeit Routed Events Zusammenfassung

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF Steuerelemente Listbox, ComboBox, ListView, WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

WPF Bindung. Dr. Beatrice Amrhein

WPF Bindung. Dr. Beatrice Amrhein WPF Bindung Element- und Daten-Bindung Dr. Beatrice Amrhein Überblick Element-Bindung via Eigenschaften-Editor Grenzen des Eigenschaften Editors Die C# Klasse Binding Bindung an C# Objekte 2 Einführung

Mehr

Klausur GUI-Entwicklung WS10/11 1.Termin

Klausur GUI-Entwicklung WS10/11 1.Termin Klausur GUI-Entwicklung WS10/11 1.Termin Aufgabe 1) (8 Punkte) Sie sehen die folgenden Angaben im Projektmappen-Explorer von Visual Studio 2010: a) Erläutern Sie die Bestandteile dieses WPF-Projekts! (5

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

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

Model View Controller Pattern

Model View Controller Pattern Christian Vogt HAW Hamburg 19. Dezember 2011 Inhaltsverzeichnis 1 Prolog Einleitung Entwurfsmuster andere Muster 2 Model-View-Controller Hintergrund Konzept Umsetzung 3 Beispiele Überblick Beispiel in

Mehr

Matthias Fischer dotnetautor.de. Windows-Phone und Windows-8-Apps: Shared Code mit C# und XAML

Matthias Fischer  dotnetautor.de. Windows-Phone und Windows-8-Apps: Shared Code mit C# und XAML Matthias Fischer www.it-visions.de dotnetautor.de Windows-Phone und Windows-8-Apps: Shared Code mit C# und XAML Referentenvorstellung Consultant und Trainer.NET-Entwicklung seit 2001 ASP.NET, WCF, MVC4,

Mehr

Windows Presentation Foundation

Windows Presentation Foundation Windows Presentation Foundation WS 2013/14 Gliederung Literatur Einführung Inhalt Architektur von Windows Presentation Foundation und das Programmiermodell XAML Steuerelemente und Layout Ressourcen Data

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

WPF. Übersicht. Komponenten & Frameworks Seite 1

WPF. Übersicht. Komponenten & Frameworks Seite 1 Übersicht - W indows P resentation F oundation - Werkzeug zur Entwicklung grafischer Benutzeroberflächen - deklarative Definition erfolgt mit der Beschreibungs- Sprache: XAML - XAML - Extensible Application

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

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

Textbausteine. C# WPF-Framework Model-View-Viewmodel-Architektur Blog-Client-Applikation

Textbausteine. C# WPF-Framework Model-View-Viewmodel-Architektur Blog-Client-Applikation Entwicklung einer C-Sharp- Applikation auf Basis des WPF- Frameworks und der Model-View- Viewmodel-Architektur am Beispiel einer Blog-Client-Applikation Von Mirko Jungblut Textbausteine C# WPF-Framework

Mehr

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail. Rich Internet Applications, Flex & Mate (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.com Überblick Mein Thema im Überblick 1. Definitionen 2. Rich Internet Applications

Mehr

Visual Studio 2012 Windows 8 und.net 4.5. Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter.NET, Digicomp AG

Visual Studio 2012 Windows 8 und.net 4.5. Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter.NET, Digicomp AG 1 Visual Studio 2012 Windows 8 und.net 4.5 Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter.NET, Digicomp AG 2 Der Referent: Hans Peter Bornhauser Dipl. Ing ETH Software Architect, Senior

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Von WinForms nach WPF

Von WinForms nach WPF Stefan Lange empira Software GmbH Von WinForms nach WPF Tipps zu Hybrid-Anwendungen Stefan.Lange@empira.de 25.02.2010 Agenda Tipps zu den folgenden Punkten: Entscheidungen und Vorgehensweise WPF in WinForms

Mehr

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Testen von graphischen Benutzeroberflächen. 24. Juni 2015 Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode

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

Model-View-Controller

Model-View-Controller Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung

Mehr

WINDOWS PRESENTATION FOUNDATION (WPF) Martin Kühn 08.03.2012

WINDOWS PRESENTATION FOUNDATION (WPF) Martin Kühn 08.03.2012 WINDOWS PRESENTATION FOUNDATION (WPF) Martin Kühn 08.03.2012 Übersicht Theorie hinter WPF Grundlagen von XAML Dependency Properties Templates Vortragsdauer: ca. 30 Minuten THEORIE HINTER WPF Theorie hinter

Mehr

Silverlight for Windows Embedded. Martin Straumann / 31.08.2010 Stv. Business Unit Leiter Microsoft Technologien / Application developer

Silverlight for Windows Embedded. Martin Straumann / 31.08.2010 Stv. Business Unit Leiter Microsoft Technologien / Application developer Silverlight for Windows Embedded Martin Straumann / 31.08.2010 Stv. Business Unit Leiter Microsoft Technologien / Application developer Inhaltsverzeichnis Windows Embedded Microsoft Roadmap Was ist Silverlight

Mehr

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente Dr. Beatrice Amrhein Überblick Die Architektur WPF Projekt erstellen Steuerelemente einfügen Eigenschaften von Steuerelementen ändern Nach

Mehr

Projekt Xaml Konverter

Projekt Xaml Konverter Carsten Kuhn, Danny Kautzsch, Matthias Jauernig Leipzig, 01.02.2008 Lehrveranstaltung Compilerbau (Aufbaukurs) Prof. Waldmann, Fb IMN, HTWK Leipzig Projekt Xaml Konverter Aufgabenbeschreibung Mit Xaml

Mehr

Prism. Martin Hey Unique Software e.k.

Prism. Martin Hey Unique Software e.k. Prism Martin Hey Unique Software e.k. Einleitung Überblick Framework zur Modularisierung von Anwendungen Trennung von Aufgaben und Zuständigkeiten für WPF, Silverlight und Windows Phone 7 verwendet dazu

Mehr

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1 Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1 Agenda! Allgemeines! Aufgabenverteilung! Alltagsbeispiel! Beurteilung! Konkretes

Mehr

Programmierung einer Windows Store App mit C# und XAML

Programmierung einer Windows Store App mit C# und XAML Neuer Abschnitt 1 Seite 1 Programmierung einer Windows Store App mit C# und XAML Einleitung In diesem Fachbericht der im Rahmen meines 8 Wochen langem Praktikums entstand geht es um die Programmierung

Mehr

23. Januar, Zürich-Oerlikon

23. Januar, Zürich-Oerlikon 23. Januar, Zürich-Oerlikon Continuous Integration für Cross-Platform Mobile Development mit Xamarin Markus Heinisch Principal Consultant Trivadis GmbH Mit über 600 IT- und Fachexperten bei Ihnen vor Ort

Mehr

JavaFX auf Mobile. von Stefan Barth und Stefan Heinze

JavaFX auf Mobile. von Stefan Barth und Stefan Heinze von Stefan Barth und Stefan Heinze JavaFX Was ist JavaFX? Desktopanwendungen für Java (Ablösung von Swing) Properties / Bindings Animationen Effekte MultiTouch Media, CSS FXML, CSS Webbrowser... Einsatzmöglichkeiten

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Progwerkstatt Philipp Güttler, Christoph Schied, Nicolai Waniek 01.12.2008 Seite 2 Drucken Drucken ist eigentlich ganz einfach...

Mehr

Eine Business-Anwendung ist ohne Eingabevalidierung

Eine Business-Anwendung ist ohne Eingabevalidierung Eingabevalidierung mit WinRT Drum prüfe, wer sich bindet WinRT bietet für C#/XAML noch keine durchgängige Unterstützung der Validierung von Benutzereingaben. Dieser Artikel zeigt die Schwachstellen auf

Mehr

Zentrale Informatik. Cross-platform Apps. Andrea Grössbauer David Meier. 11/11/15 Lunchveranstaltungen HS16 - Crossplatform Apps 1

Zentrale Informatik. Cross-platform Apps. Andrea Grössbauer David Meier. 11/11/15 Lunchveranstaltungen HS16 - Crossplatform Apps 1 Cross-platform Apps Andrea Grössbauer David Meier 1 Was sind cross-platform Apps? Bei cross-platform Apps muss der Code nicht für jede Plattform einzeln geschrieben werden. Es wird sozusagen eine Universalapp

Mehr

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

Mehr

Fragen 2015. Arthur Zaczek. Apr 2015

Fragen 2015. Arthur Zaczek. Apr 2015 Arthur Zaczek Apr 2015 1 Ihre Fragen 2015 2 WPF 2.1 Code Behind Mit dem MVVM Pattern haben wir praktisch keinen Nutzen für das Code Behind der WPF Forms, sind diese dann eher für kleinere Applikationen

Mehr

Anwendertage 2015. Neues in Elvis Mobile

Anwendertage 2015. Neues in Elvis Mobile Anwendertage 2015 Neues in Elvis Mobile ScrollViewer Neue Kontrollelemente ScrollViewer ios: vertikal und horizontal Android: nur vertikal Canvas Neue Kontrollelemente SceneConfigControl Funktionsweise,

Mehr

Exception Handling, Tracing und Logging

Exception Handling, Tracing und Logging Exception Handling, Tracing und Logging Proseminar Objektorientiertes Programmieren mit.net und C# Tomas Ladek Institut für Informatik Software & Systems Engineering Agenda Exceptions Allgemeines Implementierung

Mehr

Microsoft Visual Studio Community 2015

Microsoft Visual Studio Community 2015 Microsoft Visual Studio Community 2015 Visual Studio Community 2015 ist eine kostenlose IDE mit leistungsfähigen Programmier- und Entwicklungswerkzeugen für Windows, ios und Android. Sie ist für einzelne

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

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

Mehr

Ein UI in zwei Welten - Controls in HTML5 und WPF. Timo Korinth

Ein UI in zwei Welten - Controls in HTML5 und WPF. Timo Korinth Ein UI in zwei Welten - Controls in HTML5 und WPF Timo Korinth Timo Korinth Lead Developer HTML5 bei maximago Zuvor.NET / WPF Entwicklung Warum überhaupt HTML5 und WPF? Was bedeutet Control-Entwicklung

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

4 Codierung nach Viginere (Lösung)

4 Codierung nach Viginere (Lösung) Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Thomas Claudius Huber. Asynchrone Programmierung mit C#

Thomas Claudius Huber. Asynchrone Programmierung mit C# Thomas Claudius Huber Asynchrone Programmierung mit C# Thomas Claudius Huber Principal Consultant @ Trivadis AG Trainer, Coach, Developer, Architect www.thomasclaudiushuber.com Spezialisiert auf WPF, XAML,

Mehr

Business Applika-onen schnell entwickeln JVx Framework - Live!

Business Applika-onen schnell entwickeln JVx Framework - Live! Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle

Mehr

6.2 Dynamische Inhalte mittels DataBinding

6.2 Dynamische Inhalte mittels DataBinding 6.2 Dynamische Inhalte mittels DataBinding 81 01 02 03

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

Dokumentation: Content App Framework

Dokumentation: Content App Framework Dokumentation: Content App Framework Andreas Breuninger, medialesson GmbH Januar 2013 Inhaltsverzeichnis 1. DataService... 3 1.1. Laden/Parsen der Daten... 3 1.1.1. GetDataset() -> GetDataAsync() ->

Mehr

Matthias Fischer MF IT Consult www.it-visions.de. Überblick über die Windows- Phone-8-App-Entwicklung

Matthias Fischer MF IT Consult www.it-visions.de. Überblick über die Windows- Phone-8-App-Entwicklung Matthias Fischer MF IT Consult www.it-visions.de Überblick über die Windows- Phone-8-App-Entwicklung Referentenvorstellung Consultant und Trainer Autor.NET-Entwicklung seit 2001 ASP.NET, MVC4, SQL Server

Mehr

3 Grundlagen. 3.1 Die erste App

3 Grundlagen. 3.1 Die erste App 19 3.1 Die erste App In diesem Abschnitt werden Sie Ihre ersten Schritte in der Windows- Phone-7-Entwicklung machen. Dabei werden Sie eine modifizierte»hallo Welt«-Anwendung schreiben. Daneben lernen Sie

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

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

Automatisiertes UI Testing. Mark Allibone, 18.04.2013, #2

Automatisiertes UI Testing. Mark Allibone, 18.04.2013, #2 Coded UI Testing Automatisiertes UI Testing Mark Allibone, 18.04.2013, #2 Eine klassische Applikations Architektur Grafische Oberfläche Business Logik Datenzugriff (Datenbank, Cloud, etc) Mark Allibone,

Mehr

Thomas Claudius Huber Trivadis Services AG. Endlich Cross-Platform: Universal- Windows-Apps für Windows 10

Thomas Claudius Huber Trivadis Services AG. Endlich Cross-Platform: Universal- Windows-Apps für Windows 10 Thomas Claudius Huber Trivadis Services AG Endlich Cross-Platform: Universal- Windows-Apps für Windows 10 Thomas Claudius Huber Principal Consultant bei Trivadis Pluralsight-Autor, Buchautor C#, XAML,

Mehr

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

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

Cross Platform Development mit SharePoint

Cross Platform Development mit SharePoint Cross Platform Development mit SharePoint Agenda Wir entwickeln eine App um Businesstrips in SharePoint zu erfassen Businesstraveller 0.1 http://ppedv.de/msts Folien Demo Projekt Link Sammlung Und meine

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Jörg Neumann Acando GmbH

Jörg Neumann Acando GmbH Jörg Neumann Acando GmbH Jörg Neumann Principal Consultant bei der Acando GmbH MVP Windows Platform Development Beratung, Training, Coaching Buchautor, Speaker Mail: Joerg.Neumann@Acando.com Blog: www.headwriteline.blogspot.com

Mehr

Jürgen Bayer. MDI-Anwendungen in C#

Jürgen Bayer. MDI-Anwendungen in C# Jürgen Bayer MDI-Anwendungen in C# Inhaltsverzeichnis 1 Grundlagen 2 1.1 Einrichten der Formulare 2 1.2 Öffnen von MDI-Childformularen 3 2 Menüs 4 2.1 Erstellen eines Menüs 4 2.2 Programmierung der Menüpunkte

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

The app the crashes, before the breakpoint is reached: Code to the event:

The app the crashes, before the breakpoint is reached: Code to the event: I have set a breakpoint in an asyc event-handler to ListView.ItenTapped-Event (see screenshot below): I then tap on an ListView-entry on my iphone 5 The app the crashes, before the breakpoint is reached:

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

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

Mehr

Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation

Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation Jörg Jooss MTC Architect joerg.jooss@microsoft.com http://blogs.msdn.com/mtcmuc/ OOP 2009 Das Szenario

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

Web Dynpro / FloorPlanManager / NWBC

Web Dynpro / FloorPlanManager / NWBC Web Dynpro / FloorPlanManager / NWBC Bernd Zehentner TECHNISCHE SAP BERATUNG bze@snapconsult.com snapconsult.com Norbert Prager TECHNISCHE SAP BERATUNG npr@snapconsult.com snapconsult.com 16.06.2014 SNAP

Mehr

Created by Angelo Maron

Created by Angelo Maron Domain Driven Design in Ruby on Rails Created by Angelo Maron Wer bin ich? Angelo Maron Sofware-Entwickler seit ca. 7 Jahren (Ruby on Rails) bei AKRA seit 2,5 Jahren Xing: https://www.xing.com/profile/angelo_maron

Mehr

Source Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis...

Source Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis... Autor: Thomas Reinwart 2008-05-05 office@reinwart.com Inhalt Source Code Konverter... 2 Online: (VB.net C#)... 3 Kommerzielle Produkte (VB, C#, C++, Java)... 3 Code Nachbearbeitung in der Praxis...

Mehr

ESE Conference 2011, Zürich. Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps. Rüdiger Schilling Delta Software Technology GmbH

ESE Conference 2011, Zürich. Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps. Rüdiger Schilling Delta Software Technology GmbH ESE Conference 2011, Zürich Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps Rüdiger Schilling Delta Software Technology GmbH The Perfect Way to Better Software 1 Der mobile Plattform-Zoo

Mehr

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs Java TV Seminar Medientechnik 23.06.2003 Übersicht Einleitung Umgebungen Java TV API - Kategorien Service- und Selektions-APIs Definitionen Packages Service Selection API Application Lifecycle APIs (Xlets)

Mehr

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones

Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones Seite 1 von 5 Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones von Robert Panther Mobile Devices auf Basis von Windows CE haben sich inzwischen fest am Markt etabliert. Nach dem Siegeszug

Mehr

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt 14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...

Mehr

Arbeitsblatt: Aufgaben zur Vorbereitung

Arbeitsblatt: Aufgaben zur Vorbereitung Arbeitsblatt: Aufgaben zur Vorbereitung Dieses Arbeitsblatt enthält Aufgaben, die der Vorbereitung auf das Praktikum dienen. Die Aufgaben müssen bis zum 09.03.2011 bearbeitet werden. Die Ergebnisse werden

Mehr

Red Bull TV. Entwicklung einer Real World Windows Phone 7 Applikation in 70 Minuten. Max Knor Developer Evangelist Microsoft http://www.knor.

Red Bull TV. Entwicklung einer Real World Windows Phone 7 Applikation in 70 Minuten. Max Knor Developer Evangelist Microsoft http://www.knor. Red Bull TV Entwicklung einer Real World Windows Phone 7 Applikation in 70 Minuten Max Knor Developer Evangelist Microsoft http://www.knor.net/ Agenda 09:00 09:50 09:50 10:00 MSDN Track Windows Phone 7

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

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 Projektbezeichnung Projektleiter Verantwortlich - Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 MSP-13 - Integration eines Semantischen Tagging Systems in Microsoft Sharepoint Martin

Mehr

Beschreibung zu den Solutions Ent-Temp-01-V2-CS und Ent-Temp-01- V2-VB

Beschreibung zu den Solutions Ent-Temp-01-V2-CS und Ent-Temp-01- V2-VB Beschreibung zu den Solutions Ent-Temp-01-V2-CS und Ent-Temp-01- V2-VB 1. Installationshinweise Nach dem Entpacken der Zip-Datei finden Sie im Zielverzeichnis eine Datei mit dem Namen Ent-Temp1.bak dabei

Mehr

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien Hello World Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Demo-Applikation: Hello World Rückblick auf einzelne Schritte Entwicklungswerkzeuge

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Framework für Web (2.0) Anwendungen Ziel: Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby InterpreDerte Sprache Rails IntegraDonen

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

7 SharePoint Online und Office Web Apps verwenden

7 SharePoint Online und Office Web Apps verwenden 7 SharePoint Online und Office Web Apps verwenden Wenn Sie in Ihrem Office 365-Paket auch die SharePoint-Dienste integriert haben, so können Sie auf die Standard-Teamsite, die automatisch eingerichtet

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr