Download - Modern Apps - Architecture Day de Plain Concepts

Transcript
Page 1: Modern Apps - Architecture Day de Plain Concepts

ApplicationModernization

Modern Times!

Page 2: Modern Apps - Architecture Day de Plain Concepts

MADRIDGeneral Rodrigo 6Cuerpo alto, 1ª planta28003(+34) 915 346 836

BILBAONervión 36ª planta48001(+34) 946 008 168

SEATTLE1511 Third AvenueSuite 512WA 98101(+1) 206 708 1285

www.plainconcepts.com

MADRIDGeneral Rodrigo 6Cuerpo alto, 1ª planta28003(+34) 915 346 836

BILBAONervión 36ª planta48001(+34) 946 008 168

SEATTLE1511 Third AvenueSuite 512WA 98101(+1) 206 708 1285

www.plainconcepts.com

Page 3: Modern Apps - Architecture Day de Plain Concepts

¿Quiénes somos?

Gorka Madariaga Núñez

@Gk_8

[email protected]

Xbox Developer & Ironman & NBA Freak

Adrián Fernández García

@tracker086

[email protected]

Xbox Developer & Full Time Geek & NFL Addict

Page 4: Modern Apps - Architecture Day de Plain Concepts

¿Qué es una aplicación?

80’s y 90’s

.exe

2000

.exe

Hoy

Page 5: Modern Apps - Architecture Day de Plain Concepts

Evolución

Servicios

Dispositivos

+

+Servidor

Cliente

Page 6: Modern Apps - Architecture Day de Plain Concepts

¿Qué es una app moderna?

Page 7: Modern Apps - Architecture Day de Plain Concepts

Características

Centradas en el usuarioPresencia y accesibilidad en distintos

dispositivosExperiencia de usuario unificada

SocialesPermitir interacción con compañero de

equipo, amigos, familiares, etc.

Centradas en los datosDatos, momento y formato adecuadosDatos compartidos en todo el ecosistema

Page 8: Modern Apps - Architecture Day de Plain Concepts

Modelo de desarrolloDESARROLLO | MEDICIÓN | RETROSPECTIVA

DESARROLLO | MEDICIÓN | RETROSPECTIVA

Planificación Desarrollo FeedbackEntrega

CONTINUO

Page 9: Modern Apps - Architecture Day de Plain Concepts

En apps tradicionales…

Page 10: Modern Apps - Architecture Day de Plain Concepts

En apps modernas…

PlanificaciónREQUISITOS

BACKLOG

RELEASE

FeedbackDesarrollo

VERSION FUNCIONAL

Desarrollo

FeedbackAgile Portfolio Management

Team Room

Visual StudioTFS, Git, TFS+Git, Github, Bitbucket….NET 4.5, WinRT/WinJS, WinPRT, Windows Azure SDK…

Storyboarding, wireframes, pruebas de concepto…

Builds automatizadas

Colaboración

Scrum, CMMI, Kanban…Sistema de etiquetas (tags)

Entrega

Herramienta de feedback (VS+TFS)

Planes de pruebas, pruebas de carga en la nube como servicio…

Despliegues automatizados

Page 11: Modern Apps - Architecture Day de Plain Concepts

Escenarios

Consumo Empresarial

Page 12: Modern Apps - Architecture Day de Plain Concepts

Apps modernas empresariales

Cliente

Proveedor de servicios

WindowsAzure

1PLATAFORMACONSISTENTE

Multi-dispositivo

Ciclo de vida rápido

Cualquier tipo de datos y tamaño

Segura

Page 13: Modern Apps - Architecture Day de Plain Concepts

Núcleo compartido

NetworkingProximityIn-App PurchaseSensorsLocationFile SystemCore app modelThreading

Page 14: Modern Apps - Architecture Day de Plain Concepts

Patrón MVVM

Model

Lógica de negocio

ViewModel

Lógica de presentación

View

XAML

Data Binding

Commands

Notificaciones

Page 15: Modern Apps - Architecture Day de Plain Concepts

Patrón MVVM (definición gráfica)MODELVIEWMODELVIEW

Page 16: Modern Apps - Architecture Day de Plain Concepts

Patrón MVVM (definición gráfica)MODELVIEWMODELVIEW

Page 17: Modern Apps - Architecture Day de Plain Concepts

Portable Class Libraries

Un códigoUn proyectoUna librería

Múltiples plataformas!

Page 18: Modern Apps - Architecture Day de Plain Concepts

Estructura básica

Portable Class LibraryCoreViewModels

Servicios

Modelos

Windows 8Arranque de la app / Ciclo de

vida

Vistas

Converters

ViewModels

Windows PhoneArranque de la app / Ciclo de

vidaVistas

Converters

ViewModels

Page 19: Modern Apps - Architecture Day de Plain Concepts

Y si juntamos todo…

Visual Studio TFS

W8 WP

Desktop Web

Clientes

Mobile Services

Cloud Services Storage

Active Directory

DevBiz ITPro

Team

Storyboarding Feedback

Page 20: Modern Apps - Architecture Day de Plain Concepts

Q&A

Muchas gracias!