Erfahrungen mit der Entwicklung von Windows-Phone-Apps Phone, Schweiß und Tränen

Größe: px
Ab Seite anzeigen:

Download "Erfahrungen mit der Entwicklung von Windows-Phone-Apps Phone, Schweiß und Tränen"

Transkript

1 Erfahrungen mit der Entwicklung von Windows-Phone-Apps Phone, Schweiß und Tränen Die Möglichkeiten der Windows-Phone-Plattform sind schlichtweg begeisternd, aber damit WP-Apps gut nutzbar sind und ihre Entwicklung kein Zeitfresser wird, gilt es einiges zu beachten und üble Fallen zu umgehen. Auf einen Blick Dipl.-Inf. (FH) Peter Meinl (www.petermeinl.de) ist IT- Berater, Trainer und passionierter Querdenker. Er entwirft und realisiert seit mehr als 25 Jahren datenbankorientierte und verteilte Anwendungen. Sein fachlicher Schwerpunkt ist der Entwurf kundenspezifischer Lösungen für die Fertigungs industrie. Inhalt Hilfreiche Entwicklungswerkzeuge. Mit Traces verstehen, wie eine Phone-App tickt. Beispiel-App: Währungsrechner. Fallen bei der Realisierung von Background Agents. Serie 1. Phone, Schweiß und Tränen 2. Aus App-Gründen ans Licht dnpcode A1209AppErfahrung E in Währungsrechner sollte sie sein, meine erste Windows-Phone-App: Ich wollte ein Gefühl für die Entwicklung von Anwendungen für die neuen Smartphones bekommen. Bei häufigen Fernreisen nutzte ich verschiedenste Währungsrechner wie die Oanda-Website, das Standard-Windows-7-Gadget und Windows-Mobile-Apps. Beim Ausprobieren einiger Windows-Phone-Apps gefiel mir keine wirklich. Mit der Entwicklung eines Währungsrechners kann man viele der häufig in Apps benötigten Features ausprobieren, zum Beispiel die Reaktion auf Nutzereingaben, das Nutzen von Daten aus dem Web, den Offline-Modus, die App/Agent-Synchronisation und die Location Services. Die Entwicklung der Currencies-App [1] hat dann viel mehr Wochenenden gekostet als erwartet. WPF und Silverlight für sich allein sind ja schon extreme Zeitfresser, aber die Entwicklung für Windows Phone setzt noch einen drauf. Diese zweiteilige Artikelserie vermittelt wesentliche Erfahrungen aus der Entwicklung der Currencies-App und stellt anhand einer abgespeckten Beispielanwendung (siehe Code zum Artikel auf der Heft-DVD) einen Rahmen zur effizienten Entwicklung von Windows-Phone- Apps bereit. Die Zukunft der Plattform mag derzeit noch unklar sein (siehe Is Time Running Out for Windows Phone? [2]), aber vieles des hier Gelernten ist auch für WPF und Silverlight im Allgemeinen sowie für Metro-Style-Apps unter Windows 8 nützlich. Übrigens starteten Microsoft und Nokia Ende Mai 2012 ein mit 18 Millionen Euro dotiertes Programm zum Anschieben mobiler Start-ups [3]. Der erste Eindruck zählt Der erste Eindruck, den der Nutzer von einer Phone-App hat, ist entscheidend: Die Darstellung im Marketplace muss attraktiv und übersichtlich sein auf dem Phone und im Web, über Zune gibt es ja seit kurzem keine Apps mehr. Probleme beim Installieren beziehungsweise Updaten oder beim ersten Start dürfen nicht auftreten. Der Nutzer muss so schnell wie möglich etwas Attraktives zu sehen bekommen. Beachtet man einen dieser Punkte nicht, wendet sich der potenzielle Käufer ab oder empfiehlt die App nicht weiter. Deshalb lohnt es sich, diese Punkte von Anfang an bewusst zu gestalten und während der Entwicklung zu überarbeiten und sie nicht erst am Ende der Entwicklung, womöglich gar unter Zeitdruck, anzugehen. Den Eindruck bei der Installation einer Phone- App kann der Entwickler nicht beeinflussen, aber er sollte die Einsatzmöglichkeiten der App auf ein Mindestmaß beschränken. Capabilities wie Location und Phone Identity werden auf dem Marketplace angezeigt. Der Nutzung mancher Services (zum Beispiel Location) muss der Anwender beim Installieren explizit zustimmen. Die aktuell von einer App gemeldeten Capabilities lassen sich mit der Capabilities-Validation des VS Marketplace Test Kit ermitteln. Unnötiges Melden von Capabilities kann durch Entfernen nicht verwendeter DLL-Referenzen vermieden werden. Fälschlicherweise gemeldete Capabilities kann man eventuell bei der App-Übergabe durch eine Notiz an den Test-Ingenieur löschen lassen. Launch- und Resume-Dauer einer App sollten so kurz wie möglich sein. Dies sollte man bei der Entwicklung von Anfang an beachten. Bei der Currencies-App wurden diese Teile erst im Nachhinein optimiert und die Zeiten sind deshalb leider grenzwertig lang. Für eine geeignete Grundhaltung (Mindset) zur Entwicklung von Apps sei das E-Book Getting Real von 37signals empfohlen [4]. Freie Werkzeuge Neben der kostenlosen Version des Standard- Microsoft-Werkzeugsatzes Visual Studio 2010 (VS) mit Expression Blend 4 (Visual Studio 11 Beta 1 unterstützt noch keine Phone-Projekte) haben sich folgende Werkzeuge als hilfreich für die App-Entwicklung erwiesen: Notify Property Weaver [5], Expression Design 4, Windows Phone Power Tools [6], MetroGridHelper Tool [7], Balsamiq Mockups [8], Silverlight for Windows Phone Toolkit [9], Coding4Fun Toolkit for Windows Phone [10], Phoney Tools [11], Templarian Phone Icons [12], VS Windows Phone Performance Analysis Tool,

2 Your Last About Dialog [13], MS Bing Maps SDK [14], Phone7.Fx BindableApplicationBar [15], VS Marketplace Test Kit, Convert.NET C#/VB-Converter [16]. Der Notify Property Weaver erspart das lästige und die Übersichtlichkeit des Codes störende Implementieren von INoti fy PropertyChanged, indem er für alle Klassen, die INotifyPropertyChanged implementieren, den Notification-Code via IL-Injection einfügt. Man installiert das Tool über NuGet. Via Projekt Notify Property Weaver lässt es sich für ein Projekt einschalten und konfigurieren. Ein weiteres interessantes Feature ist die Möglichkeit, Notification Interceptors zu implementieren, zum Beispiel zum Tracen oder um Benachrichtigungen in bestimmten Situationen zu unterdrücken. Der Einsatz von Werkzeugen, die IL-Injection verwenden, ist anfangs etwas beängstigend, aber man gewöhnt sich mit der Zeit daran. Notify Property [Abb. 1] Isolated- Storage-Dateien mit den Windows Phone Power Tools ansehen und manipulieren. Weaver macht einen sehr professionellen Eindruck. Mit Expression Design lassen sich die vier benötigten App-Icon-Größen recht einfach erstellen Unerfahrene können sich dabei an die Anleitung [17] halten. Allerdings sollte man dem Punkt 10 Opacity auf 0 setzen nicht folgen, weil damit das Quadrat, in dem man sein Icon entwirft, nicht mehr sichtbar ist. Nach einer Möglichkeit, einen Layer zu löschen, kann man lange suchen: Es gibt leider keinen Menüpunkt dazu, sondern man muss die [Entf]-Taste auf der Tastatur verwenden. Zum Ändern der Größe, ohne die Proportionen zu verändern, ist die [Shift]-Taste gedrückt zu halten. Mit den Windows Phone Power Tools lassen sich unter anderem die Dateien im Isolated Storage von Emulator und Phone ansehen und manipulieren, siehe Abbildung 1. Das ist hilfreich zum Prüfen von Trace-Dateien und zum Synchronisieren von Dateien zwischen App und Background Agent, sowie beim Testen von Updates. Das Tool MetroGridHelper hilft beim Ausrichten der UI-Controls nach dem 12px-Raster (mehr dazu weiter unten). Im Silverlight for Windows Phone Toolkit finden sich unter anderem das unverzichtbare ListPicker-Control und der LongListSelector. Das Coding4Fun Toolkit for Windows Phone bietet beispielsweise die Controls ToastPrompt, InputPrompt und das ProgressOverlay, womit Sie dem Nutzer mittels durchlaufender Punkte signalisieren können, dass die App gerade etwas für ihn tut. Das VS Windows Phone Performance Analysis Tool hilft beim Lösen von Performance-Problemen. Es hinterlässt recht große Dateien im Unterordner PerformanceLogs des Solution-Verzeichnisses, die Sie löschen können, um Ihre Backups nicht unnötig aufzublähen. Mit dem Bing Maps SDK kann man sich, auf Basis der Geo-Location-Infos, Karteninformationen vom Location Service des Phones holen. Die Currencies-App nutzt das Maps SDK, um aus den Latitude- und Longitude-Angaben des Location Service die Währung am aktuellen Ort zu ermitteln. Mit dem Marketplace Test Kit (zu erreichen mithilfe eines Rechtsklicks auf das Projekt) lässt sich grob prüfen, ob die App den Anforderungen der Zertifizierung durch Microsoft genügt. Kommerzielle Werkzeuge Folgende kommerzielle Produkte könnten hilfreich sein (wurden aber vom Autor noch nicht verwendet): bugsense Bug Tracking [18], Gibraltar App Monitoring [19], Telerik RadControls Controls Suite [20], PreEmptive App Analytics und Monitoring [21], EQATEC App Analytics und Profiling [22]. [Abb. 2] Balsamiq- UI-Skizze neben einem Screenshot der fertigen App

3 Erfahrungen mit der Entwicklung von Windows-Phone-Apps [Abb. 3] Architektur der Beispiel-App. User Experience Bei einer Phone-App steht der Entwurf der User Experience (UX) am Anfang, denn für den Nutzer einer App ist das User Interface (UI) die Anwendung. Bei Geschäftsanwendungen ist es dagegen meist sinnvoller, zuerst die Logik und die Einbettung in die Anwendungslandschaft zu entwerfen. Apps sollten folgende Standard-Features bieten: Application Bar, About Page, Back Tile, Secondary Tiles, Unexpected Error Dialogue, Support Request, Feature Request, Please Rate this App, Help Page, Trial Mode, Buy Full Version, Ads. Microsoft empfiehlt, Tiles einzusetzen, um die Attraktivität zu steigern. Tiles haben erst dann einen Sinn, wenn sich darauf etwas ändert, und dazu kann man Background Agents einsetzen. Zum Skizzieren von UIs eignet sich das Werkzeug Balsamiq Mockups [8]. Es ist handlicher als Expression Blend SketchFlow. So kann man zum Beispiel einfach durch Ziehen eines Objekts mit der Maus bei gedrückter [ALT]-Taste das ausgewählte Objekt klonen. SketchFlow bietet dieses zum schnellen Skizzieren wichtige Feature offenbar nicht und es findet sich nicht einmal ein Undo-Button. Beide Tools verwenden eine skizzenhafte Darstellung mit gekrakelten Linien, damit man sich beim Diskutieren des Entwurfs nicht in Kleinigkeiten verliert. Zwar kann auch Balsamiq seine Skizzen mit Aktionen verbinden (Click-through Prototyping), mit Sketch- Flow kann man die Skizze aber so real machen, wie man möchte, oder gar schrittweise in das Produkt übergehen lassen. Abbildung 2 zeigt die erste UI-Skizze der Currencies-App neben einem Screenshot der veröffentlichten App. Beispiel-App: Währungsrechner Die Beispiel-App namens CurrencyConverterDemo (siehe Code zum Artikel auf der Heft-DVD) implementiert exemplarisch folgende Features: Eingabe des von der App umzurechnenden Betrags, Umrechnung in Zielwährungen, gleichzeitige Anzeige mehrerer Umrechnungen, Holen von aktuellen Umrechnungskursen von der EZB-Website, Offline-Modus, Anzeige einer Umrechnung auf der Back Tile, Background Agent, About Page, Settings Page, Optimierung der Launch Time. Dabei erfolgt das Holen von aktuellen Umrechnungskursen manuell über einen Application-Bar-Button, automatisch über einen Timer in der App und im Hintergrund mittels eines Background-Task. Architektur Abbildung 3 zeigt die Architektur der Beispiel-App. Sie besteht aus der App selbst, die unter anderem das User Interface realisiert, und einem PeriodicTask, der im Hintergrund aktuelle Umrechnungskurse aus dem Web holt. App und Agent kommunizieren über Isolated-Storage-Dateien. Die Zugriffe auf diese Dateien sind mittels Mutexen synchronisiert. Der Background-Task holt periodisch neue Umrechnungskurse von der EZB- Website und speichert den Zeitpunkt der Aktualisierung und die neuen Kurse in Isolated-Storage-Dateien. Die App kommuniziert mit dem Nutzer über eine Page, gibt Meldungen, die bestätigt werden müssen, über MessageBoxes aus, gibt Meldungen, die nach einem Timeout von selbst verschwinden, über Toasts aus, aktualisiert die Back Tile der App, pollt den Agent-Status nach neuen Umrechnungskursen und zeigt automatisch Umrechnungen auf Basis der aktualisierten Kurse an. Implementierung Die Beispiel-App verwendet kein MVVM- Pattern (siehe Kasten Kein MVVM), sondern eine sehr einfache Architektur mit Code-behind und Datenbindung bis ins Modell. Das Verwenden von MVVM beim Entwickeln der Currencies-App führte zu sinnlosen Aufwänden und erschwerte die

4 Für Einsteiger Inkl. kostenlosem E-Book! [Abb. 4] Trace der Beispiel-App. Wiederaufnahme der Entwicklung nach längeren Pausen. Für die Beispiel-App sind Unit-Tests der Views oder des Modells nicht vorgesehen. Die Beispiel-App implementiert ihr Kern- UI, die Seiten Convert und Favourites über eine Pivot-Page. About und Settings sind als eigene Pages realisiert und können vom Nutzer über die ApplicationBar erreicht werden. PivotItems implementiert die Beispiel-App einfach direkt in der ConversionPivotPage. Phone-Pages sind im Allgemeinen so einfach, dass es nicht lohnt, sie in UserControls zu kapseln. Im Unterschied zu PanoramaItems, die beim Laden des Panoramas alle gerendert werden, rendert die Phone-Runtime bei Pivot Items immer nur die benachbarten Items mit. Trotzdem kann man zur Optimierung der Pivot-Performance die Pivot- Items in UserControls kapseln und diese erst im Event LoadingPivotItem dem jeweiligen PivotItem-Content zuweisen. Die Beispiel-App verwendet Your Last About Dialog [13] für die About-Seite, um den Aufwand zu minimieren. Als Programmiersprache wird VB.NET verwendet. Der Autor hatte die erste Version der Currencies-App in C# realisiert, musste aber erneut feststellen, mit Visual Basic deutlich produktiver zu sein, und wechselte wieder zu VB über. Modell und Views Die Beispiel-App verwendet das Modell CurrencyConverter mit datenbindungsfähigen Properties, welche über den Codebehind der Pages zur Verfügung gestellt werden. Der Code-behind dient dabei als DataContext, siehe Abbildung 4. Zentrale Eigenschaft des CurrencyConverter-Modells ist eine List(of Conversions). Der Code-behind der Conversion PivotPage mappt diese auf eine ObservableCollection (of SelectableConversion). Die PivotItems der ConversionPivotPage binden an diese über CollectionViewSources, mit denen sie die SelectableConversions sortieren und filtern. Die TextBox _amountfield ist via Zweiwegebindung (TwoWay) an die Eigenschaft Amount einer Conversion gebunden. Der CurrencyConverter berechnet bei Änderungen am Amount einer Conversion automatisch alle anderen Conver sions neu. Zum Lauschen auf Änderungen am Amount werden die Reactive Extensions [23] verwendet, siehe Listing 1. Dabei wird über Observable.Merge bei der ersten Änderung an einem Amount die Methode ConvertAll mittels eines Lambda-Ausdrucks aufgerufen. Die Reactive Extensions (Rx) sind eine Bibliothek zum Konstruieren von asynchronen und Event-basierten Program- Daniel Koch Magento Schritt für Schritt zum eigenen Online-Shop 320 Seiten; Flexibler Einband; 24,90; erscheint August 2012 ISBN: Mit durchgängigem Beispielprojekt Wie Sie mit Magento Ihren Shop aufbauen und optimieren Mit passenden Lösungen für einen nachhaltigen Erfolg Ihres Shops Jetzt direkt bestellen! Carl Hanser Verlag & Co. KG

5 Erfahrungen mit der Entwicklung von Windows-Phone-Apps Kein MVVM Vom Pattern Model-View-ViewModel (MVVM) verspricht man sich unter anderem folgende Vorteile: Separation of Concerns, lose Kopplung, Unterstützung von Datenbindung, bessere Zusammenarbeit von Designer und Developer, Wiederverwendbarkeit, Clean Code, konsistenten, wartbaren und skalierbaren Code, Unterstützung von Design-Time Data, Möglichkeit automatischer View-Tests, Möglichkeit mehrerer Views über derselben View-Logik. Viele dieser Vorteile resultieren eher aus sauberer Modularisierung im Allgemeinen oder aus dem Streben nach Clean Code. Bei genauerer Betrachtung bleiben von den unterstellten Vorteilen nur zwei übrig: die Möglichkeit automatischer View-Tests und die Unterstützung von Design-Time Data (siehe MVVM Backlash [26]). Bei Lösungen mit dem View-Code im Code-behind, statt in ViewModels, lässt sich dieser nicht automatisch mit Unit-Tests testen die restliche Funktionalität aber schon! Einerseits sind Unit-Tests natürlich immer nice to have, und ohne Unit-Tests wird eigentlich nötiges Refactoring von Code und Architektur meist unterlassen, sobald eine Anwendung produktiv läuft, weil man richtigerweise das Risiko unbedachter Seiteneffekte vermeiden möchte. Andererseits ist für jedes Projekt abzuwägen, ob der zusätzliche Aufwand für Unit-Tests zu rechtfertigen ist. Nach Erfahrung des Autors finden manuelle Tests durch Experten mehr Fehler als Unit-Tests, insbesondere kritische Fehler aus dem Zusammenspiel verschiedener Status und Anwendungsfälle, die Unit-Tests meist nicht aufdecken. Design-Time Data ist beim Gestalten der Benutzeroberfläche sehr hilfreich. Unterstützung von Design-Time Data bezieht sich im Kontext von MVVM darauf, dass die Designer in Visual Studio und Blend Code-behind nicht ausführen und dieser damit nicht als Quelle von Design-Time Data dienen kann. Auf diese Datenquelle kann man aber leicht verzichten, denn es gibt andere und bessere Quellen für Design-Time Data, mehr dazu unter Stolpersteine im kommenden zweiten Teil dieser Serie. Wer das MVVM-Pattern für eine Phone-App einsetzen möchte, dem sei empfohlen, sich auch das Ultra Light MVVM Framework von Jeremy Likness [27] und das von PRISM abgespeckte Calcium SDK [28] von Daniel Vaughan, dem Autor des Buches Windows Phone 7.5 Unleashed [29] anzusehen. Die Frameworks von Jeremy Likness sind insbesondere interessant, weil sie sich pragmatisch auf das Nötige beschränken und Vorhandenes nutzen, zum Beispiel verwendet er das zum Standard-.NET-Framework gehörende Managed Extensibility Framework (MEF) für Dependency Injection und Inversion of Control. Damit Sie vor lauter Framework-Spezifika nicht vergessen, worum es eigentlich geht, können Sie ein bisschen bei Rockford Lhotka zum Thema MVVM und zu Geschäftsobjekten nachlesen. Lhotka verwendet Rich Business Objects, die Geschäfts-, Validierungs- und Autorisierungslogik kapseln und Datenbindung unterstützen, im Unterschied zu sogenannten Anemic Objects. Listing 1 Lauschen auf Änderungen mit den Reactive Extensions (Rx). Observable.Merge(Conversions.Select(Function(c) Observable.FromEvent( Of PropertyChangedEventArgs)(c, "PropertyChanged"))).Where(Function(c) c.eventargs.propertyname = "Amount").Take(1).Subscribe( Sub(c) Dim changedconversion = CType(c.Sender, Conversion) FromCurrencyCode = changedconversion.currencycode FromAmount = changedconversion.amount ConvertAll() End Sub) men mittels ObservableCollections und LINQ-Abfrage-Operatoren. Mit Rx ergeben sich ungeahnte Möglichkeiten. Jedem.NET-Entwickler sei empfohlen, sich Rx einmal in Ruhe anzuschauen. Der Einsatz von Rx in der Beispiel-App mag etwas übertrieben sein der Autor wollte einfach einmal damit spielen und den Leser auf Rx aufmerksam machen. Alternativ zu Rx könnte man einen Eventhandler für alle Conversions registrieren, ein _isconverting-flag verwenden und im Notification Interceptor des PropertyWeaver Änderungen an Amounts während des Berechnens der Umrechnungen ignorieren. Oder man könnte anstelle der Zweiwege-Datenbindung im TextChanged-Event des _amount Field explizit die Umrechnung im CurrencyConverter anstoßen. Aber Vorsicht! Text Changed feuert wegen eines Bugs doppelt. Background Agents Background Agents ermöglichen es, Code auszuführen, während die App nicht läuft aber auch während sie läuft. Agents werden auf den kommenden Geräten mit geringerem Arbeitsspeicher (Low-Memory Devices) nicht unterstützt. Einen Agent erzeugt man am einfachsten, indem man in VS zu einer Solution ein Agent-Projekt hinzufügt und es referenziert. VS sorgt dabei automatisch für die richtigen Einträge in der Datei WMApp Tracing Ein Problem bei der Entwicklung mit Silverlight ist, dass Reihenfolge und Häufigkeit des Auftretens von Ereignissen kaum vorhersehbar sind wohl aber meist erklärbar, wenn auch erst im Nachhinein. Deshalb ist es, besonders am Anfang des Entwickelns, wichtig, zu tracen. Die Currencies-App verwendet Traces sogar für die Fehlerberichte auf dem Phone des Nutzers allerdings mit einem Tracer, der die Größe der Trace- Dateien begrenzt. Die Beispiel-App setzt eine abgespeckte Version dieses Tracers ein. Dabei ergänzt sie automatisch einen Zeitstempel, die Aufrufinformationen sowie die verstrichenen Millisekunden seit dem vorherigen Trace. Zum Ermitteln der Aufrufinformationen verwendet sie den Call Stack. Abbildung 4 zeigt einen Trace der Beispiel-App. Man sieht die Reihenfolge der Aktionen, wie lange sie gedauert haben und dass einige Events mehrfach ausgelöst wurden. Übrigens wird der.net-4.5-compiler endlich Aufrufinformationen wie MemberName und SourceLineNumber als optionale Parameter einschleusen, was eigene Trace-Komponenten einfacher und verbreitete Logger wie NLog und log4net deutlich schneller machen wird. Für gut lesbare Traces und Crash-Reports sollte man auf lange anonyme Methoden und Lambda-Expressions verzichten und stattdessen besser Methoden mit gut verständlichen Namen aufrufen was sich ja im Sinne von Clean Code sowieso empfiehlt

6 [Abb. 5] Zusammenspiel und Datenbindung von View und Modell. [Abb. 6] Trace mit Ressourcenverbrauch des Background-Task. Manifest.xml. Unter VB hat die dabei automatisch erzeugte Klasse Scheduled Agent leider einen Fehler: Der Konstruktor heißt Sub ScheduledAgent(), muss aber Sub New() heißen. Falls man das nicht korrigiert, hat es die fatale Folge, dass der Handler nicht für unbehandelte Ausnahmen registriert wird, was leicht dazu führen kann, dass das Phone OS den Agent deaktiviert, ohne dass der Entwickler dies je bemerkt. Background Agents unterstützen zwei Arten von scheduled Tasks: PeriodicTask und ResourceIntensiveTask. Diese unterliegen einigen Einschränkungen. PeriodicTasks haben folgende Restriktionen: sechs Megabyte Speicher-Limit, API-Einschränkungen, 25 Sekunden maximale Laufzeit. PeriodicTasks dürfen maximal sechs Megabyte Speicher beanspruchen. Deshalb sollten sie ihren Speicherbedarf minimieren. Überschreitet ein Task sein Limit, wird er vom Phone OS beendet und beim zweiten Verstoß gänzlich deaktiviert. Unter dem Debugger sind die Prüfungen des Speicherlimits und der maximalen Laufzeit ausgeschaltet. Die tatsächliche Speichernutzung eines Task kann man über DeviceStatus.ApplicationPeakMemoryUsage abfragen. Aber hier lauert eine schlecht dokumentierte, üble Falle: Unter dem Debugger zählt der Debugger selbst zum Memory Usage des Task. Mit Debugger verbraucht ein leerer Task bereits rund 3,5 Megabyte, ohne Debugger aber nur etwa 1,8 Megabyte. Unter dem Debugger scheint der Speicherbedarf eines Task bei nur einem Webrequest bereits grenzwertig zu sein, in Wahrheit hat man aber genügend Platz. Erschwerend kommt hinzu, dass sich der Speicherbedarf ohne Debugger schlecht ansehen lässt. Die Beispiel-App schreibt dazu eine Trace-Datei in den Isolated Storage. Alternativ kann man via Tile.Update in die Tile schreiben oder einen Toast anzeigen

7 Erfahrungen mit der Entwicklung von Windows-Phone-Apps Das Trace in Abbildung 6 zeigt den Ressourcenverbrauch des PeriodicTask der Beispiel-App (remaining=2,5 KB, elapsed=1074 ms). Viele Entwickler, leider auch der Autor selbst, haben stundenlang unnötigerweise versucht, ein Phantom- Problem zu lösen, weil sie meinten, ihr Task überschreite das Limit. PeriodicTasks dürfen pro Aufruf maximal 25 Sekunden laufen. Das ist eigentlich recht lange, wird aber bei Webaufrufen leicht eng, weil diese einen nicht dokumentierten Default-Timeout von etwa 20 Sekunden zu haben scheinen. Leider muss man einen einstellbaren Timeout selbst implementieren, siehe Webrequests im zweiten Artikel dieser Serie. Die Verwendung einiger APIs ist in Agents nicht erlaubt, darunter sind offensichtliche Funktionen wie Phone.Shell und weniger offensichtliche wie Phone. Scheduler. Ihr Aufruf führt entweder zu Laufzeitfehlern oder zur Ablehnung der App-Zertifizierung. Will man zum Beispiel zur Separation of Concerns auch die Registrierung eines Task via Phone.Sheduler in der Agent-DLL selbst realisieren, führt das zur Ablehnung der Zertifizierung, selbst wenn der Task das API nicht wirklich von sich aus nutzt, sondern nur referenziert. Ob ein Task verbotene APIs referenziert, kann man mit dem Marketplace Test Kit prüfen. Um solche Probleme zu vermeiden und damit der Task möglichst wenige Ressourcen braucht, muss man die Solution-Struktur entsprechend anpassen. Abbildung 7 zeigt die Struktur der Beispiel-App. Zur Veranschaulichung der Referenzhierarchie sind die Projekte nummeriert. Ein häufiger Anfängerfehler beim Codieren von Tasks ist es, NotifyComplete im synchronen Beginn einer Aktion zum Beispiel eines Webrequests aufzurufen statt am Ende der asynchronen Verarbeitung. Da Registrierungen von Tasks nach maximal 14 Tagen verfallen, empfiehlt es sich, diese bei jedem App-Start neu zu registrieren. Beim Registrieren können viele dokumentierte Fehler auftreten, die man explizit ignorieren muss. App/Agent-Synchronisation Falls App und Agent miteinander kommunizieren sollen, ist Vorsicht geboten! Microsofts Empfehlungen hierzu sind sehr strikt: For one-direction communication where the foreground application writes and the agent only reads, we recommend using an isolated storage file with a Mutex.... We recommend that you do not use IsolatedStorageSettings to communicate bet Listing 2 Synchronisation von App/Agent-Zugriffen auf Isolated-Storage- Dateien via Mutex. [Abb. 7] Für Background Agents optimierte Solutions-Struktur. Public Class IsolatedStorageFile Public Shared SerializationFormatter As SerializationFormatter = SerializationFormatter.Binary 'Beware! XmlSerializer cannot serialize TimeSpan 'Public Shared SerializationFormatter As SerializationFormatter = Threading '.SerializationFormatter.DataContract Private Const _timouttopreventblocking As Integer = 5 * 1000 Public Shared Sub WriteSynchronized(filePath As String, filecontent As Object) filepath = SetFileNameExtension(filePath) Dim mutex As New Mutex(False, filepath) Try If mutex.waitone(_timouttopreventblocking) Then Using isofile = IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication(), isostream = isofile.openfile(filepath, FileMode.Create) Select Case SerializationFormatter Case SerializationFormatter.Binary SilverlightSerializer.Serialize(fileContent, isostream) Case SerializationFormatter.XML Dim serializer = New XmlSerializer(fileContent.GetType) serializer.serialize(isostream, filecontent) Case SerializationFormatter.DataContract Dim serializer = New DataContractSerializer(fileContent.GetType) serializer.writeobject(isostream, filecontent) End Select End Using Else 'This should never happen. The phone runtime even releases mutexes for aborted 'processes. But better safe than sorry! Dim ex As New ThreadStateException("Unable to acquire mutex for app/agent sync") Trace.Error(ex.Message) Throw ex End If Finally mutex.releasemutex() End Try End Sub Public Shared Function ReadSynchronized(Of contenttype)(filepath As String) As contenttype... End Function End Class

8 Unternehmensanwendungen Wie steht es eigentlich um Windows-Phone-Apps für Line-of-Business- Anwendungen (LOB)? Da Windows Phone stark auf Konsumenten ausgerichtet wurde, geriet der Aspekt der Nutzung in Unternehmen etwas in den Hintergrund der allgemeinen Aufmerksamkeit. Bezüglich Windows Phones in Unternehmen gilt es unter anderem die folgenden Punkte zu betrachten: Integration in die Standard-Office-Anwendungen, Business-Features der Phone-Hardware, Mobile Device Management, App-Verteilung. Windows-Phone-Geräte bieten eine gute Office-Suite mit Word, Excel, PowerPoint und insbesondere OneNote (siehe Microsofts Anti-BlackBerry- Werbevideo [30]). Die Integration mit Exchange und SharePoint funktioniert. Profithemen wie Mobile Device Management, VPN-Access et cetera überschreiten den Rahmen dieses Artikels. Wie sich die Integration von Windows 8 in Windows Phone [31] auf diese Themen auswirken wird, bleibt abzuwarten. Es könnte sein, dass Windows Phone gemeinsam mit Mobilgeräten anderer Plattformen wie ios und Android unter der Überschrift Bring your own Device behandelt wird. Es gibt Gerüchte zu Windows Phones mit Unternehmens-Features wie Keyboards à la BlackBerry. Für das Phone lässt sich prinzipiell jede LOB-App realisieren, die man sich nur vorstellen kann. Das Ausrollen von Unternehmensanwendungen erfolgt über den Marketplace mittels Targeted Distribution. Unternehmensspezifische App-Repositorien oder andere Wege, Apps auf die Phones eines Unternehmens zu bringen, gibt es derzeit nicht. Bei der Targeted Distribution durchlaufen Apps den üblichen MS-Zertifizierungsprozess, werden aber nicht auf dem Marketplace veröffentlicht. Die Nutzer können die Apps nur über Deep Links installieren, welche nur vom Phone aus verwendet werden können. Diese Links kann der Ersteller der App den Nutzern zum Beispiel via schicken. Apps müssen sich selbst vor unbefugter Nutzung schützen, weil jeder sie installieren kann, der ihren Deep Link kennt. ween processes because it is possible for the data to become corrupt. [24] In der Beispiel-App kommunizieren App und Agent über Isolated-Storage- Dateien: Die App konfiguriert den Agent über die Datei AgentSettings.bin. App und Agent speichern die aktuellen Umrechnungskurse in der Datei WebConversions. bin und den Zeitpunkt der Ermittlung in AgentState.bin. Die App pollt AgentState. bin, um neue Kurse zu entdecken. Ein Long Polling der App auf einen vom Agent blockierten Mutex lässt sich leider nicht implementieren, weil der Agent nur während seiner zyklischen Aufrufe lebt. Zur Synchronisation des Zugriffs auf die Dateien werden Mutexe verwendet, siehe Listing 2 und Abbildung 3. Für die Optimierung der Zugriffe auf die Dateien und des Speicherbedarfs wird statt des Standard-XML-Serializers der binäre Silverlight Serializer von Mike Talbot verwendet [25]. Außer zum Debuggen gibt es keinen Grund, das aufgeblähte XML- Format im Isolated Storage zu verwenden, nur weil es vom Menschen lesbar ist. Bei den recht kleinen Dateien der Beispiel- App unterscheiden sich die Schreib- und Lesezeiten zwischen XML- und Binär- Daten kaum, aber der Speicherbedarf ist binär deutlich kleiner: Für 90 Umrechnungskurse werden mit XML 14 Kilobyte belegt, binär lediglich ein Kilobyte. Fazit Alles in allem war die Entwicklung für das Windows Phone eher frustrierend: Alles dauerte viel länger als erwartet, trotz fundierter Erfahrung in.net und Grundwissen in WPF. Oft fühlte es sich eher an wie Rätselraten statt wie Geradeausprogrammieren. Aber dennoch bleibt als Resümee: Das Windows Phone OS ist super, die Entwicklungsumgebung sehr mächtig, und was.net und Silverlight auf so einem kleinen Gerät ermöglichen, ist schlichtweg begeisternd. Machen Sie doch mal einen Versuch! Im zweiten Teil dieser Artikelserie geht es weiter mit schnellem App-Start und App-Resume, asynchronen (Web-)Aufrufen, guter Fehlerbehandlung, vielen Stolpersteinen und dem Veröffentlichen von Windows-Phone-Apps. [bl] [1] Peter Meinl, Currencies App, [2] Paul Thurrott, Is Time Running Out for Windows Phone?, SL1209AppErfahrung2 [3] Aalto App Campus, [4] 37signals, Getting Real, [5] Simon Cropp, Notify Property Weaver, [6] CodePlex, Windows Phone Power Tools, [7] Jeff Wilcox, MetroGridHelper, [8] Balsamiq Mockups, UI Sketching Tool, [9] Silverlight for Windows Phone Toolkit, [10] Coding4Fun Toolkit for Windows Phone, [11] Phoney Tools, [12] Templarian, Icons, SL1209AppErfahrung6 [13] Peter Kuhn, Your Last About Dialog, [14] Microsoft, Bing Maps SDK, [15] Phone7.Fx BindableApplicationBar, [16] C#/VB Converter, [17] Microsoft, Creating Windows Phone 7 Application and Marketplace Icons, [18] bugsense, Bug Tracking, [19] Gibraltar, Monitoring, [20] Telerik, RadControls for Windows Phone, [21] PreEmptive, Analytics für App Analytics und Monitoring, [22] EQATEC, Analytics für App Profiling, [23] Microsoft, Reactive Extensions (Rx), [24] MSDN, Background Agent Best Practices for Windows Phone, SL1209AppErfahrung12 [25] Mike Talbot, Binary Silverlight Serializer, [26] Ward Bell, MVVM Backlash, [27] Jeremy Likness, Ultra Light MVVM for Windows Phone 7, [28] Daniel Vaughn, Calcium SDK, [29] D. Vaughn, Windows Phone 7.5 Unleashed, [30] Microsoft, How to use Windows Phone to do business on the road, SL1209AppErfahrung14 [31] techradar, Windows Phone 8: what you need to know, SL1209AppErfahrung

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

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich? KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen

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

Zabbix 2.4. What's new? What's new in Zabbix 2.4. 1 of

Zabbix 2.4. What's new? What's new in Zabbix 2.4. 1 of Zabbix 2.4 What's new? 1 of What's new in Zabbix 2.4 About me Name: Pascal Schmiel Email: Schmiel@dv-loesungen.de WEB: www.dv-loesungen.de Senior Consultant Zabbix Certified Professional 2 of What's new

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

ISA Server 2004 - Best Practice Analyzer

ISA Server 2004 - Best Practice Analyzer ISA Server 2004 - Best Practice Analyzer Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Seit dem 08.12.2005 steht der Microsoft ISA Server 2004 Best Practice Analyzer

Mehr

Mobile Backend in der

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

Mehr

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

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

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

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

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

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

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren LUMIA mit WP8 IPHONE Daten des alten Telefons auf einen Computer kopieren Software von welcomehome.to/nokia auf Ihrem PC oder Mac. verbinden Sie Ihr altes Telefon über 3. Wenn Sie Outlook nutzen, öffnen

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

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

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

SharePoint 2013 The new way to work together

SharePoint 2013 The new way to work together SharePoint 2013 The new way to work together 2 3 SharePoint Conference 2012, Las Vegas Nevada The biggest show on SharePoint ever > 10.000 Teilnehmer aus der ganzen Welt 4 Tage geballtes Wissen > 250 Sessions

Mehr

Das etwas andere Smartphone

Das etwas andere Smartphone Das etwas andere Smartphone Frank Prengel Technical Evangelist Microsoft Deutschland GmbH http://blogs.msdn.com/windowsphone 01./02. Dezember 2010 Köln www.iphonedevcon.de Microsoft? Auf der iphone DevCon??

Mehr

SharePoint 2013 The new way to work together

SharePoint 2013 The new way to work together SharePoint 2013 The new way to work together Ihr Experte heute @ustrauss sharepointguru.de 3 SharePoint Conference 2012, Las Vegas Nevada The biggest show on SharePoint ever > 10.000 Teilnehmer aus der

Mehr

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft.

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft. Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version Schimon.Mosessohn@microsoft.com Herzlich Willkommen 1996 2004 2010 2014 Navision 3.7 Microsoft

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

Von 0 zur Private Cloud in 1h

Von 0 zur Private Cloud in 1h Von 0 zur Private Cloud in 1h - oder wie baue ich mir eine Demoumgebung Bernhard Frank Technical Evangelist Microsoft Deutschland GmbH Carsten Rachfahl MVP Virtual Machine Rachfahl IT Solutions Wieviele

Mehr

Integration in die Office-Plattform. machen eigene Erweiterungen Sinn?

Integration in die Office-Plattform. machen eigene Erweiterungen Sinn? Integration in die Office-Plattform machen eigene Erweiterungen Sinn? Agenda Apps Warum eigentlich? Apps für Office Apps für SharePoint Entwicklungsumgebungen Bereitstellung Apps Warum eigentlich? Bisher

Mehr

Von Lotus Notes 8.5 auf Office 365 for Business

Von Lotus Notes 8.5 auf Office 365 for Business Von Lotus Notes 8.5 auf Office 365 for Business Der Umstieg Microsoft Outlook 2013 hat ein anderes Erscheinungsbild als Lotus Notes 8.5, aber Sie werden schnell feststellen, dass Sie mit Outlook alles

Mehr

MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20.

MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20. MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20. Februar 2008 Presenter: Neno Loje, MVP für Team System www.teamsystempro.de

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

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

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

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

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

Mehr

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren IPHONE UM ALLE DATEN des alten Telefons auf einen Computer Software von welcomehome.to/nokia auf Ihrem PC oder Mac. verbinden Sie Ihr altes Telefon über 3. Wenn Sie Outlook nutzen, öffnen Sie itunes, um

Mehr

Zend Server Cluster Manager

Zend Server Cluster Manager Zend Server Cluster Manager Jan Burkl Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer Zend Certified Engineer PHP 5

Mehr

Wie verwende ich Twitter in MAGIC THipPro

Wie verwende ich Twitter in MAGIC THipPro Wie verwende ich Twitter in MAGIC THipPro Konfigurationsanleitung Version: V1-10. August 2015 by AVT Audio Video Technologies GmbH Registrierung der Social Media Option Stellt die Social Media Option allen

Mehr

Uwe Baumann artiso Solutions ubaumann@artiso.com

Uwe Baumann artiso Solutions ubaumann@artiso.com Uwe Baumann artiso Solutions ubaumann@artiso.com Upgrade Strategien Data/Application Tier Anpassung von Process Templates Build Test/Lab Performance TFS Version Control Workitem Tracking Build Verwaltung

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

APPS für ios 9 professionell entwickeln

APPS für ios 9 professionell entwickeln thomas SILLMANN 2. Auflage APPS für ios 9 professionell entwickeln // Sauberen Code schreiben mit Objective-C und Swift // Stabile Apps programmieren // Techniken und Methoden von Grund auf verstehen Inkl.

Mehr

Xojo für FileMaker Entwickler

Xojo für FileMaker Entwickler Ein Blick über den Tellerrand Was ist Xojo? Xojo ist eine Objektorientiertes Entwicklungswerkzeug zum Bau von Crossplattform Lösungen Objektorientierte Programmiersprache Kompiler für native Anwendungen

Mehr

SharePoint 2013 Mobile Access

SharePoint 2013 Mobile Access Erstellung 21.05.2013 SharePoint 2013 Mobile Access von Stephan Nassberger Hofmühlgasse 17/1/5 A-1060 Wien Verantwortlich für das Dokument: - Stephan Nassberger (TIMEWARP) 1 Inhalt Inhalt... 2 Versionskontrolle...

Mehr

Apps für ios entwickeln

Apps für ios entwickeln Apps für ios entwickeln Am Beispiel einer realen App Bearbeitet von Jan Tittel, Jochen Baumann 1. Auflage 2013. Buch. XII, 222 S. ISBN 978 3 446 43192 8 Format (B x L): 17,9 x 24,7 cm Gewicht: 589 g Weitere

Mehr

Appery.io Mobile Apps schnell und einfach entwickeln

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

Mehr

DLS 7.0 Microsoft Windows XP Service Pack 2. Anleitung zur Konfiguration

DLS 7.0 Microsoft Windows XP Service Pack 2. Anleitung zur Konfiguration DLS 7.0 Microsoft Windows XP Service Pack 2 Anleitung zur Konfiguration Projekt: DLS 7.0 Thema: MS Win XP SP 2 Autor: Björn Schweitzer Aktualisiert von: Andreas Tusche am 18.08.2004 2:38 Dateiname: xpsp2.doc

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

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

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition Neues Projekt (Klassenbibliothek) erzeugen Als Projektbezeichnung wählte ich BeispielComAddIn. Add-In-Starter-Klasse erstellen Die

Mehr

Die SharePoint-Welt für den erfahrenen.net-entwickler. Fabian Moritz MVP Office SharePoint Server ITaCS GmbH

Die SharePoint-Welt für den erfahrenen.net-entwickler. Fabian Moritz MVP Office SharePoint Server ITaCS GmbH Die SharePoint-Welt für den erfahrenen.net-entwickler Fabian Moritz MVP Office SharePoint Server ITaCS GmbH SharePoint Object Model IFilter Webpart Connections Webparts Web Server Controls Custom Field

Mehr

Vom Prototypen zur Anwendung

Vom Prototypen zur Anwendung Vom Prototypen zur Anwendung iks-thementag: Mobile Applikationen Ein Leitfaden für Unternehmen 17.05.2011 Autor: Ingo Röpling Agenda Was ist vorab zu beachten? Skills und Systemvoraussetzungen Implementierung

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

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

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 STRATEGISCHE ZIELE Terminumfrage, Termine und Aufgaben in GEDYS IntraWare 8.web Unabhängig vom E Mail und Kalendersystem Termine auch für Kunden Ablösung der

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

Auslieferung hmd.system / Arbeitsplatzsetup

Auslieferung hmd.system / Arbeitsplatzsetup Auslieferung hmd.system / Arbeitsplatzsetup Immer mehr Meldungen erreichen die Öffentlichkeit zum Thema Datenschutz und Datendiebstahl. Die hmdsoftware ag möchte einen Beitrag dazu liefern, die Arbeitsplätze

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

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

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

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

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

Anzeige des Java Error Stack in Oracle Forms

Anzeige des Java Error Stack in Oracle Forms Anzeige des Java Error Stack in Oracle Forms (Version 2.0) Juni 2008 Autoren: Jürgen Menge / Thomas Robert Seite 1 von 7 Oracle Forms bietet seit der Version 6i die Möglichkeit, serverseitig Java-Klassen

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2 ReadMe zur Installation der BRICKware for Windows, Version 6.1.2 Seiten 2-4 ReadMe on Installing BRICKware for Windows, Version 6.1.2 Pages 5/6 BRICKware for Windows ReadMe 1 1 BRICKware for Windows, Version

Mehr

Android M 6 Neue Funktionen die Hidden Features

Android M 6 Neue Funktionen die Hidden Features Android M 6 Neue Funktionen die Hidden Features Funktionen, die Google verschwiegen hat Bereits auf der i/o 2015 hat Google einige neue Funktionen von Android M vorgestellt, etwa neue Stromspar-Features

Mehr

Microsoft SharePoint. share it, do it! www.klockwork.at

Microsoft SharePoint. share it, do it! www.klockwork.at Microsoft SharePoint share it, do it! www.klockwork.at Share it do it! Das Wissen steckt vor allem in den Köpfen unserer Mitarbeiter. Deshalb ermutigen wir sie, ihr Wissen aufzuzeichnen und zu teilen.

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

Installationsanleitung für Internet Security. Inhalt

Installationsanleitung für Internet Security. Inhalt Installationsanleitung für Internet Security Inhalt 1 Systemanforderungen für Internet Security...2 2 Installationsanleitung: Internet Security für einen Test auf einem Computer installieren...3 3 Installationsanleitung

Mehr

DocuWare unter Windows 7

DocuWare unter Windows 7 DocuWare unter Windows 7 DocuWare läuft unter dem neuesten Microsoft-Betriebssystem Windows 7 problemlos. Es gibt jedoch einige Besonderheiten bei der Installation und Verwendung von DocuWare, die Sie

Mehr

Artikel Test-Organisation in grösseren Magento(1)-Projekten

Artikel Test-Organisation in grösseren Magento(1)-Projekten Artikel Test-Organisation in grösseren Magento(1)-Projekten Ein Tipp von unserem Entwickler Claudio Kressibucher Köln/Bergisch Gladbach Münster Aachen Kapstadt/Südafrika www.kennziffer.com GmbH Friedrich-Ebert-Straße

Mehr

Mobile Analytics mit Oracle BI - was steckt in den Apps?

Mobile Analytics mit Oracle BI - was steckt in den Apps? Mobile Analytics mit Oracle BI - was steckt in den Apps? Schlüsselworte Oracle BI, OBIEE, Mobile, Analytics Einleitung Gerd Aiglstorfer G.A. itbs GmbH Eching Oracle erweiterte im Laufe dieses Jahres das

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

Tipps & Tricks zu Windows XP

Tipps & Tricks zu Windows XP Tipps & Tricks zu Windows XP Automatisches Ausschalten des Computers beim Herunterfahren Auf älteren Computern kommt es unter Windows XP vor, dass der Computer sich beim Herunterfahren nicht selbst ausschaltet,

Mehr

{ Light up the Web } Oliver Scheer. Evangelist Microsoft Deutschland

{ Light up the Web } Oliver Scheer. Evangelist Microsoft Deutschland { Light up the Web } Oliver Scheer Evangelist Microsoft Deutschland { Light up the Web } Oliver Scheer Evangelist Microsoft Deutschland Was ist Silverlight? Tools für Silverlight Designer-Developer-Workflow

Mehr

Xamarin Applikationen Showcase aus der Praxis

Xamarin Applikationen Showcase aus der Praxis Xamarin Applikationen Showcase aus der Praxis Mark Allibone @mallibone Noser Engineering AG 2014, Alle Rechte vorbehalten. Erfahrungen Erfahrung ist der beste Lehrmeister. Nur das Schulgeld ist teuer.

Mehr

Deutschland 8,50 Österreich 9,80 Schweiz 16,80 sfr. www.dotnet-magazin.de 7.2011. Outlook-Kalender in WPF

Deutschland 8,50 Österreich 9,80 Schweiz 16,80 sfr. www.dotnet-magazin.de 7.2011. Outlook-Kalender in WPF z.net MAGAZIN dot Alle Beispiele und Quellcodes zu den Artikeln dieser Ausgabe Bonus-Video von der BASTA! Spring 2011 Architektur für die Cloud Testversionen TeamPulse Ranorex Automation Framework dotpeek

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

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr

User Experience. Wie gestalte ich meine Windows Phone 7 Applikation. Max Knor Developer Evangelist Microsoft http://www.knor.net/

User Experience. Wie gestalte ich meine Windows Phone 7 Applikation. Max Knor Developer Evangelist Microsoft http://www.knor.net/ User Experience Wie gestalte ich meine Windows Phone 7 Applikation Max Knor Developer Evangelist Microsoft http://www.knor.net/ Agenda 09:00 09:50 09:50 10:00 MSDN Track Windows Phone 7 ist da! Keynote

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

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS)

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS) Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Automatisierung, Betrieb, Middleware Einleitung Der Oracle Fusion Middleware Stack beinhaltet eine leistungsstarke

Mehr

Code signing mit startssl

Code signing mit startssl Code signing mit startssl Auf der Suche nach einem Anbieter, bei dem ich ein mit Windows 7 nutzbares und günstiges Zertikat erwerben kann bin ich über StartSSL gestolpert. Dort bekommt man ein class 2

Mehr

Fahrzeuggestaltung auf dem ipad

Fahrzeuggestaltung auf dem ipad Fahrzeuggestaltung auf dem ipad Fahrzeuggestaltung auf dem ipad 1 Was diese Anleitung behandelt 1.1 1.2 Überblick 4 Empfohlene Hilfsmittel 5 2 Benötigte Dateien zum ipad kopieren 2.1 2.2 2.3 Von Mac oder

Mehr

PhPepperShop ProfitApp Modul

PhPepperShop ProfitApp Modul PhPepperShop ProfitApp Modul Datum: 13. Januar 2015 Version: 1.2 PhPepperShop ProfitApp Modul Anleitung Glarotech GmbH Inhaltsverzeichnis 1. Einleitung...3 2. Installation...3 2.1 Systemanforderungen /

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

Softwareentwicklung bei eevolution

Softwareentwicklung bei eevolution Softwareentwicklung bei eevolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, COMPRA GmbH Jan Freitag Studium: IMIT Bachelor: 2005-2008 IMIT Master: 2008-2010 eevolution: Mitarbeit

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

VSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG

VSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG VSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG Agenda Agenda VSTO Ribbon Customizing Outlook 2007 Entwicklung Demo: Custom Task Pane Demo: Custom Form Region Smart Tag

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

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Wir automatisieren und optimieren Ihre Geschäftsprozesse DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Thomas Brandstätter 06.03.2012 www.dccs.at Agenda Theorie Was sind XPages

Mehr

Mobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013

Mobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013 Mobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013 Im letzten Artikel wurde das Konzept von Mobile RPG (MR) vorgestellt. Dieser Artikel geht auf die technischen Voraussetzungen

Mehr

Webdeployment 2.0 Webanwendungen komfortabel bereitstellen, aus Hoster und Kundensicht.

Webdeployment 2.0 Webanwendungen komfortabel bereitstellen, aus Hoster und Kundensicht. Webdeployment 2.0 Webanwendungen komfortabel bereitstellen, aus Hoster und Kundensicht. Bernhard Frank Web Platform Architect Evangelist bfrank@microsoft.com Was braucht es zu einem Webserver? Webserver

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann Einführung in das Microsoft.NET-Framework Programmiersprache C# 02: Visual Studio / Hello World Boris Hülsmann 23.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

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

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

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,

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

re-lounge GmbH MEDIENBÜRO

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

Mehr

Software Engineering in

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

Mehr

Bewertung von MS Robotics Studio von Robert Grandl

Bewertung von MS Robotics Studio von Robert Grandl Bewertung von MS Robotics Studio von Robert Grandl Positive Aspekte Die Oberfläche wurde seit der Version 1.0 deutlich auf gewährtet. Das System von Visual Programming Language ermöglicht es die Programmlogik

Mehr

Produktivitäsvision 2015

Produktivitäsvision 2015 Produktivitäsvision 2015 We always overestimate the change that will occur in the next two years and underestimate the change that will occur in the next ten Don t let yourself be lulled into INACTION

Mehr

Inhalt. Danksagung... 13. Einleitung... 15. 1 Wissenswertes rund um Flex und Java... 19. 2»Get ready!«aufsetzen der Entwicklungsumgebung...

Inhalt. Danksagung... 13. Einleitung... 15. 1 Wissenswertes rund um Flex und Java... 19. 2»Get ready!«aufsetzen der Entwicklungsumgebung... Danksagung...................................................................................... 13 Einleitung......................................................................................... 15

Mehr

SharePoint 2016 was kommt auf uns zu? SharePoint & Office 365 Community Zentralschweiz

SharePoint 2016 was kommt auf uns zu? SharePoint & Office 365 Community Zentralschweiz SharePoint 2016 was kommt auf uns zu? SharePoint & Office 365 Community Zentralschweiz Inhalt Wo liegt der Fokus von SharePoint 2016? Experiences Infrastruktur SharePoint Migration auf 2016 Wie sehen die

Mehr