SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Mobile Development
mit ASP.NET MVC 4
Hans Peter Bornhauser, Noser Engineering AG
Fachbereichsleiter .NET, Digicomp AG
1
Der Referent: Hans Peter Bornhauser
 Dipl. Ing ETH
 Software Architect, Senior Software Engineer, Consultant and Trainer bei
Noser Engineering AG in Winterthur
 Fachbereichsleiter .NET bei Digicomp
 12 Jahre Webentwicklung mit .NET (seit Beta 1.0)
 ASP.NET Webforms und MVC
 WPF und Silverlight
 WCF und Entity Framework
 Windows 8 Apps (search.ch, Family Trips)
 div. Microsoft Zertifikate
 MCPD Web
 MCPD Windows
 MCPD Silverlight + Azure
 MCSD Web Applications 4.5
 MCT (Certified Trainer)
2
Warum ist mobile Entwicklung wichtig?
 5.9 Mia. mobile Geräte (85% der Bevölkerung)
 davon 1.5 Mia. 3G/4G
 Anzahl Benutzer, welche über‘s Telefon ins Internet gehen
 US/UK 25%
 China 30%
 Indien 59%
 Ägypten 70%
3
Was können wir tun?
 Nichts
 Hoffen, dass die mobilen Browser besser werden
 Adaptive Designs
 HTML5 / CSS
 Mobile Apps
 Speziell adaptierte Web App
 Native App
4
Was bietet ASP.NET MVC 4?
 Auf den 1. Blick: wenig Neues!
 Neue Templates
 jQuery Mobile (UI für Mobile auf jQuery aufbauend)
 knockout.js (MVVM für Web)
 Asynchrone Controller
 Adaptive Views
 View Switches, Browser Overriding
 Bundling + Minification
 ASP.NET Web API
 WebSockets + SignalR
5
Möglichkeiten von HTML
 Viewport einstellen (mobile Browser detektiert Breite des Geräts)
<meta name="viewport" content="width=device-width" />
 Media Queries (CSS3 => Default Styles verwenden)
@media all and (min-width: 700px) and (max-width: 1000px)
{…}
@media screen and (min-width: 400px) and (max-width:
700px) { …}
6
Demo
 Standard (Mobile) Templates
 jQuery Mobile
 Adaptive Views
7
jQuery Mobile
 Auf jQuery basierendes Framework
 HTML5 konforme data-Attribute, um Darstellung der Elemente zu
steuern
 Aufteilung physischer Pages in logische Pages (Blättern)
 Dialogfelder («Popup»)
 Navigation
 Formularfelder
 (verschachtelte) Listen
 5 Farbschemata, Konfigurator für weitere
8
modernizr
 Framework zum Prüfen, ob Browser ein bestimmtes Feature
unterstützt
if (Modernizr.localstorage)
 Polyfills (Nachbildung von HTML5 Features mit JavaScript)
Modernizr.load({
test: Modernizr.geolocation,
yep : 'geo.js',
nope: 'geo-polyfill.js' });
9
Web API – Kommunikation mit dem Server
10
Web API
 WCF kennt seit Version 3.5 WebHttpBinding
 ASP.NET MVC hat ähnliche Fähigkeiten (JsonResult)
 Neu: Web API mit folgenden Funktionen:
 Zugriffsprotokoll über HTTP zum Lesen und Ändern von Objekten
 Abfragen über OData, flexible Unterstützung für JSON, XML und
andere Protokolle
 Flexibles Hosting: nicht nur im IIS, sondern auch in eigenen
Applikationen
 Web API Controller können jedem Projekt hinzugefügt werden
11
Demo Web API
 ProductsController
12
Schnittstellenkonvention
 Konvention aufgrund Route in WebApiConfig.cs
 Mapping durch Naming Conventions
13
Controller Methode URI
GetAllProducts /api/products
GetProductById /api/products/id
GetProductsByCategory /api/products/?category=category
Automatische Hilfeseite /help
Unterschiedliche Ergebnisse
 Aufgrund unterschiedlicher Accept-Header
 Request von IE: Antwort JSON
 Request von Firefox: Antwort Xml
14
Self Hosting
 z.B. In einem Windows Service
var config = new
HttpSelfHostConfiguration("http://localhost:8080");
using (var server = new HttpSelfHostServer(config))
{
server.OpenAsync().Wait();
}
15
Zusammenfassung
 Mobile Development für jede (Web-)App
 ASP.NET MVC ist Servertechnologie
 JavaScript auf dem Client
 Viele Bibliotheken lindern den Schrecken von JavaScript
 jQuery / jQuery Mobile
 knockout.js
 TypeScript
 Schnittstellen sind wichtig: Web API, REST, Json
 Trotzdem: testen, testen, testen, …
19
Aktuelle Digicomp-Kurse zum Thema
 Entwicklung von Webapplikationen mit MVC 4 (2 Tage)
www.digicomp.ch/kurse/MVC.html
 Windows 8 für WPF Entwickler (2 Tage)
www.digicomp.ch/kurse/WP8.html
 HTML 5 (1 Tag) www.digicomp.ch/kurse/HT5.html
 jQuery (2 Tage) www.digicomp.ch/kurse/IJQ.html
 Neues in .NET 4.5 und Visual Studio 2012 (2 Tage)
www.digicomp.ch/kurse/CN5.html
20
Literatur
C# 5.0 in a Nutshell Joseph & Ben Albahari
O'Reilly ISBN 978-1-449-32010-2
Async in C# 5.0 Alex Davies
O'Reilly ISBN 978-1-449-33716-2
Programming ASP.NET MVC 4 Jess Chadwick, Jess Snyder
O’Reilly ISBN 978-1-449-32031-7, 9.2012
Pro ASP.NET MVC 4 Adam Freeman
O’Reilly ISBN 978-1-430-24236-1, 12.2012
Webanwendungen mit ASP.NET MVC 4 Holger Schwichtenberg
Microsoft Press ISBN 978-3-866-45564-1, 5.2013
21
Links
 Visual Studio 2012 News: http://msdn.microsoft.com/en-
us/library/bb386063.aspx
 .NET News http://msdn.microsoft.com/en-us/library/ms171868.aspx
 ASP.NET MVC http://www.asp.net/mvc
 SignalR: http://signalr.net/
22

Weitere ähnliche Inhalte

Was ist angesagt?

20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
 
jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3Alex Kellner
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Appsinovex GmbH
 
User Interface Trends für Geschäftsanwendungen
User Interface Trends für GeschäftsanwendungenUser Interface Trends für Geschäftsanwendungen
User Interface Trends für GeschäftsanwendungenStefan von Niederhäusern
 
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS FrameworkBeschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS FrameworkDieter Ziegler
 
Progressive Web Apps Presentation
Progressive Web Apps PresentationProgressive Web Apps Presentation
Progressive Web Apps PresentationSteffen Wagner
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows AzureCreasoft AG
 

Was ist angesagt? (11)

20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
Vorstellung von Ember.js
Vorstellung von Ember.jsVorstellung von Ember.js
Vorstellung von Ember.js
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
 
jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
User Interface Trends für Geschäftsanwendungen
User Interface Trends für GeschäftsanwendungenUser Interface Trends für Geschäftsanwendungen
User Interface Trends für Geschäftsanwendungen
 
Windows 8.1 UI für Entwickler
Windows 8.1 UI für EntwicklerWindows 8.1 UI für Entwickler
Windows 8.1 UI für Entwickler
 
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS FrameworkBeschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
 
Progressive Web Apps Presentation
Progressive Web Apps PresentationProgressive Web Apps Presentation
Progressive Web Apps Presentation
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
 

Andere mochten auch

Webinar: Responsive Design
Webinar: Responsive DesignWebinar: Responsive Design
Webinar: Responsive Designkuehlhaus AG
 
Unit Tests are Overrated (NDCOslo 2013)
Unit Tests are Overrated (NDCOslo 2013)Unit Tests are Overrated (NDCOslo 2013)
Unit Tests are Overrated (NDCOslo 2013)Lars-Erik Kindblad
 
Responsive Design - Quick & Dirty
Responsive Design - Quick & DirtyResponsive Design - Quick & Dirty
Responsive Design - Quick & DirtyArno Selhorst
 
Dependency Injection vs Service Locator - Best Practice
Dependency Injection vs Service Locator - Best PracticeDependency Injection vs Service Locator - Best Practice
Dependency Injection vs Service Locator - Best PracticeLars-Erik Kindblad
 
Avoid code duplication! Principles & Patterns
Avoid code duplication! Principles & PatternsAvoid code duplication! Principles & Patterns
Avoid code duplication! Principles & PatternsLars-Erik Kindblad
 
Introduction to FluentData - The Micro ORM
Introduction to FluentData - The Micro ORMIntroduction to FluentData - The Micro ORM
Introduction to FluentData - The Micro ORMLars-Erik Kindblad
 
Application Architecture by Lars-Erik Kindblad, Capgemini
Application Architecture by Lars-Erik Kindblad, CapgeminiApplication Architecture by Lars-Erik Kindblad, Capgemini
Application Architecture by Lars-Erik Kindblad, CapgeminiLars-Erik Kindblad
 
How to build more reliable, robust and scalable distributed systems
How to build more reliable, robust and scalable distributed systemsHow to build more reliable, robust and scalable distributed systems
How to build more reliable, robust and scalable distributed systemsLars-Erik Kindblad
 
Application Architecture April 2014
Application Architecture April 2014Application Architecture April 2014
Application Architecture April 2014Lars-Erik Kindblad
 
Anforderungsanalyse und UML Grundlagen
Anforderungsanalyse und UML GrundlagenAnforderungsanalyse und UML Grundlagen
Anforderungsanalyse und UML GrundlagenChristian Baranowski
 
Domain Driven Design und Nosql
Domain Driven Design und Nosql Domain Driven Design und Nosql
Domain Driven Design und Nosql ArangoDB Database
 
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionierenMobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionierenMarkus Greve
 
The Single Responsibility Principle
The Single Responsibility PrincipleThe Single Responsibility Principle
The Single Responsibility PrincipleLars-Erik Kindblad
 
Publish & Subscribe to events using an Event Aggregator
Publish & Subscribe to events using an Event AggregatorPublish & Subscribe to events using an Event Aggregator
Publish & Subscribe to events using an Event AggregatorLars-Erik Kindblad
 
Inversion of Control - Introduction and Best Practice
Inversion of Control - Introduction and Best PracticeInversion of Control - Introduction and Best Practice
Inversion of Control - Introduction and Best PracticeLars-Erik Kindblad
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8chmoser79
 

Andere mochten auch (20)

Webinar: Responsive Design
Webinar: Responsive DesignWebinar: Responsive Design
Webinar: Responsive Design
 
Unit Tests are Overrated (NDCOslo 2013)
Unit Tests are Overrated (NDCOslo 2013)Unit Tests are Overrated (NDCOslo 2013)
Unit Tests are Overrated (NDCOslo 2013)
 
Responsive Design - Quick & Dirty
Responsive Design - Quick & DirtyResponsive Design - Quick & Dirty
Responsive Design - Quick & Dirty
 
Ready or not: No UI vom Verschwinden des Graphical User Interfaces
Ready or not: No UI vom Verschwinden des Graphical User InterfacesReady or not: No UI vom Verschwinden des Graphical User Interfaces
Ready or not: No UI vom Verschwinden des Graphical User Interfaces
 
Dependency Injection vs Service Locator - Best Practice
Dependency Injection vs Service Locator - Best PracticeDependency Injection vs Service Locator - Best Practice
Dependency Injection vs Service Locator - Best Practice
 
Avoid code duplication! Principles & Patterns
Avoid code duplication! Principles & PatternsAvoid code duplication! Principles & Patterns
Avoid code duplication! Principles & Patterns
 
Introduction to FluentData - The Micro ORM
Introduction to FluentData - The Micro ORMIntroduction to FluentData - The Micro ORM
Introduction to FluentData - The Micro ORM
 
Application Architecture by Lars-Erik Kindblad, Capgemini
Application Architecture by Lars-Erik Kindblad, CapgeminiApplication Architecture by Lars-Erik Kindblad, Capgemini
Application Architecture by Lars-Erik Kindblad, Capgemini
 
How to build more reliable, robust and scalable distributed systems
How to build more reliable, robust and scalable distributed systemsHow to build more reliable, robust and scalable distributed systems
How to build more reliable, robust and scalable distributed systems
 
The Fluent Interface Pattern
The Fluent Interface PatternThe Fluent Interface Pattern
The Fluent Interface Pattern
 
Systementwurf mit UML
Systementwurf mit UMLSystementwurf mit UML
Systementwurf mit UML
 
Application Architecture April 2014
Application Architecture April 2014Application Architecture April 2014
Application Architecture April 2014
 
Anforderungsanalyse und UML Grundlagen
Anforderungsanalyse und UML GrundlagenAnforderungsanalyse und UML Grundlagen
Anforderungsanalyse und UML Grundlagen
 
Domain Driven Design und Nosql
Domain Driven Design und Nosql Domain Driven Design und Nosql
Domain Driven Design und Nosql
 
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionierenMobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
 
The Single Responsibility Principle
The Single Responsibility PrincipleThe Single Responsibility Principle
The Single Responsibility Principle
 
Publish & Subscribe to events using an Event Aggregator
Publish & Subscribe to events using an Event AggregatorPublish & Subscribe to events using an Event Aggregator
Publish & Subscribe to events using an Event Aggregator
 
Inversion of Control - Introduction and Best Practice
Inversion of Control - Introduction and Best PracticeInversion of Control - Introduction and Best Practice
Inversion of Control - Introduction and Best Practice
 
Data Access - Best Practice
Data Access - Best PracticeData Access - Best Practice
Data Access - Best Practice
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8
 

Ähnlich wie Mobile Development mit ASP.NET MVC 4

Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Digicomp Academy AG
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaYvette Teiken
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)greenrobot
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der CloudTorsten Fink
 
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Manfred Steyer
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresMatthias Jauernig
 
Java in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App EnginegJava in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App Engineggedoplan
 
Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co.	Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co. Manfred Steyer
 
Datenbasierte Services mit MVC Core 1 und EF Core 1
Datenbasierte Services mit MVC Core 1 und EF Core 1Datenbasierte Services mit MVC Core 1 und EF Core 1
Datenbasierte Services mit MVC Core 1 und EF Core 1Manfred Steyer
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009greenrobot
 
Top 10 Internet Trends 2007
Top 10 Internet Trends 2007Top 10 Internet Trends 2007
Top 10 Internet Trends 2007Jürg Stuker
 
Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8chmoser79
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...Niels de Bruijn
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Jürg Stuker
 

Ähnlich wie Mobile Development mit ASP.NET MVC 4 (20)

Was ist neu in .NET 4.5?
Was ist neu in .NET 4.5?Was ist neu in .NET 4.5?
Was ist neu in .NET 4.5?
 
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache Cordova
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
AngularJs
AngularJsAngularJs
AngularJs
 
GWT
GWTGWT
GWT
 
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
 
PHPblue LOS!NRW
PHPblue LOS!NRWPHPblue LOS!NRW
PHPblue LOS!NRW
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core Middlewares
 
Java in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App EnginegJava in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App Engineg
 
Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co.	Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co.
 
Datenbasierte Services mit MVC Core 1 und EF Core 1
Datenbasierte Services mit MVC Core 1 und EF Core 1Datenbasierte Services mit MVC Core 1 und EF Core 1
Datenbasierte Services mit MVC Core 1 und EF Core 1
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009
 
Top 10 Internet Trends 2007
Top 10 Internet Trends 2007Top 10 Internet Trends 2007
Top 10 Internet Trends 2007
 
Realtime Web Applications with jWebSocket
Realtime Web Applications with jWebSocketRealtime Web Applications with jWebSocket
Realtime Web Applications with jWebSocket
 
Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 

Mehr von Digicomp Academy AG

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Digicomp Academy AG
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Digicomp Academy AG
 
Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Digicomp Academy AG
 
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutRoger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutDigicomp Academy AG
 
Roger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutRoger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutDigicomp Academy AG
 
Xing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xXing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xDigicomp Academy AG
 
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Digicomp Academy AG
 
IPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinIPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinDigicomp Academy AG
 
Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Digicomp Academy AG
 
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattGewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattDigicomp Academy AG
 
Querdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogQuerdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogDigicomp Academy AG
 
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnXing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnDigicomp Academy AG
 
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingSwiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingDigicomp Academy AG
 
UX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessUX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessDigicomp Academy AG
 
Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Digicomp Academy AG
 
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceXing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceDigicomp Academy AG
 
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudZahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudDigicomp Academy AG
 
General data protection regulation-slides
General data protection regulation-slidesGeneral data protection regulation-slides
General data protection regulation-slidesDigicomp Academy AG
 

Mehr von Digicomp Academy AG (20)

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
 
Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018
 
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutRoger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
 
Roger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutRoger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handout
 
Xing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xXing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit x
 
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
 
IPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinIPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe Klein
 
Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Agiles Management - Wie geht das?
Agiles Management - Wie geht das?
 
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattGewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
 
Querdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogQuerdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING Expertendialog
 
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnXing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
 
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingSwiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
 
UX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessUX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital Business
 
Minenfeld IPv6
Minenfeld IPv6Minenfeld IPv6
Minenfeld IPv6
 
Was ist design thinking
Was ist design thinkingWas ist design thinking
Was ist design thinking
 
Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich
 
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceXing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
 
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudZahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
 
General data protection regulation-slides
General data protection regulation-slidesGeneral data protection regulation-slides
General data protection regulation-slides
 

Mobile Development mit ASP.NET MVC 4

  • 1. Mobile Development mit ASP.NET MVC 4 Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter .NET, Digicomp AG 1
  • 2. Der Referent: Hans Peter Bornhauser  Dipl. Ing ETH  Software Architect, Senior Software Engineer, Consultant and Trainer bei Noser Engineering AG in Winterthur  Fachbereichsleiter .NET bei Digicomp  12 Jahre Webentwicklung mit .NET (seit Beta 1.0)  ASP.NET Webforms und MVC  WPF und Silverlight  WCF und Entity Framework  Windows 8 Apps (search.ch, Family Trips)  div. Microsoft Zertifikate  MCPD Web  MCPD Windows  MCPD Silverlight + Azure  MCSD Web Applications 4.5  MCT (Certified Trainer) 2
  • 3. Warum ist mobile Entwicklung wichtig?  5.9 Mia. mobile Geräte (85% der Bevölkerung)  davon 1.5 Mia. 3G/4G  Anzahl Benutzer, welche über‘s Telefon ins Internet gehen  US/UK 25%  China 30%  Indien 59%  Ägypten 70% 3
  • 4. Was können wir tun?  Nichts  Hoffen, dass die mobilen Browser besser werden  Adaptive Designs  HTML5 / CSS  Mobile Apps  Speziell adaptierte Web App  Native App 4
  • 5. Was bietet ASP.NET MVC 4?  Auf den 1. Blick: wenig Neues!  Neue Templates  jQuery Mobile (UI für Mobile auf jQuery aufbauend)  knockout.js (MVVM für Web)  Asynchrone Controller  Adaptive Views  View Switches, Browser Overriding  Bundling + Minification  ASP.NET Web API  WebSockets + SignalR 5
  • 6. Möglichkeiten von HTML  Viewport einstellen (mobile Browser detektiert Breite des Geräts) <meta name="viewport" content="width=device-width" />  Media Queries (CSS3 => Default Styles verwenden) @media all and (min-width: 700px) and (max-width: 1000px) {…} @media screen and (min-width: 400px) and (max-width: 700px) { …} 6
  • 7. Demo  Standard (Mobile) Templates  jQuery Mobile  Adaptive Views 7
  • 8. jQuery Mobile  Auf jQuery basierendes Framework  HTML5 konforme data-Attribute, um Darstellung der Elemente zu steuern  Aufteilung physischer Pages in logische Pages (Blättern)  Dialogfelder («Popup»)  Navigation  Formularfelder  (verschachtelte) Listen  5 Farbschemata, Konfigurator für weitere 8
  • 9. modernizr  Framework zum Prüfen, ob Browser ein bestimmtes Feature unterstützt if (Modernizr.localstorage)  Polyfills (Nachbildung von HTML5 Features mit JavaScript) Modernizr.load({ test: Modernizr.geolocation, yep : 'geo.js', nope: 'geo-polyfill.js' }); 9
  • 10. Web API – Kommunikation mit dem Server 10
  • 11. Web API  WCF kennt seit Version 3.5 WebHttpBinding  ASP.NET MVC hat ähnliche Fähigkeiten (JsonResult)  Neu: Web API mit folgenden Funktionen:  Zugriffsprotokoll über HTTP zum Lesen und Ändern von Objekten  Abfragen über OData, flexible Unterstützung für JSON, XML und andere Protokolle  Flexibles Hosting: nicht nur im IIS, sondern auch in eigenen Applikationen  Web API Controller können jedem Projekt hinzugefügt werden 11
  • 12. Demo Web API  ProductsController 12
  • 13. Schnittstellenkonvention  Konvention aufgrund Route in WebApiConfig.cs  Mapping durch Naming Conventions 13 Controller Methode URI GetAllProducts /api/products GetProductById /api/products/id GetProductsByCategory /api/products/?category=category Automatische Hilfeseite /help
  • 14. Unterschiedliche Ergebnisse  Aufgrund unterschiedlicher Accept-Header  Request von IE: Antwort JSON  Request von Firefox: Antwort Xml 14
  • 15. Self Hosting  z.B. In einem Windows Service var config = new HttpSelfHostConfiguration("http://localhost:8080"); using (var server = new HttpSelfHostServer(config)) { server.OpenAsync().Wait(); } 15
  • 16. Zusammenfassung  Mobile Development für jede (Web-)App  ASP.NET MVC ist Servertechnologie  JavaScript auf dem Client  Viele Bibliotheken lindern den Schrecken von JavaScript  jQuery / jQuery Mobile  knockout.js  TypeScript  Schnittstellen sind wichtig: Web API, REST, Json  Trotzdem: testen, testen, testen, … 19
  • 17. Aktuelle Digicomp-Kurse zum Thema  Entwicklung von Webapplikationen mit MVC 4 (2 Tage) www.digicomp.ch/kurse/MVC.html  Windows 8 für WPF Entwickler (2 Tage) www.digicomp.ch/kurse/WP8.html  HTML 5 (1 Tag) www.digicomp.ch/kurse/HT5.html  jQuery (2 Tage) www.digicomp.ch/kurse/IJQ.html  Neues in .NET 4.5 und Visual Studio 2012 (2 Tage) www.digicomp.ch/kurse/CN5.html 20
  • 18. Literatur C# 5.0 in a Nutshell Joseph & Ben Albahari O'Reilly ISBN 978-1-449-32010-2 Async in C# 5.0 Alex Davies O'Reilly ISBN 978-1-449-33716-2 Programming ASP.NET MVC 4 Jess Chadwick, Jess Snyder O’Reilly ISBN 978-1-449-32031-7, 9.2012 Pro ASP.NET MVC 4 Adam Freeman O’Reilly ISBN 978-1-430-24236-1, 12.2012 Webanwendungen mit ASP.NET MVC 4 Holger Schwichtenberg Microsoft Press ISBN 978-3-866-45564-1, 5.2013 21
  • 19. Links  Visual Studio 2012 News: http://msdn.microsoft.com/en- us/library/bb386063.aspx  .NET News http://msdn.microsoft.com/en-us/library/ms171868.aspx  ASP.NET MVC http://www.asp.net/mvc  SignalR: http://signalr.net/ 22