ASP.NET Core 1.0

Preview:

Citation preview

ASP.NET Core 1.0

Rodolfo Finochietti@rodolfofDirector de Producción

.NET Core 1.0

Ejecutando una aplicación .NET en LinuxRun:./corerun HelloWorld.exe

// corerun es el host nativo que carga y corre la aplicación

// En Windows, el proceso de bootstrapping de una aplicación .NET esta incluido en el OS

.NET

.NET Runtimes Full .NET CLR

Incluye toda las APIS, y asegura compatibilidad hacia atrás .NET Core

Pequeño (11 MB) Compartimentado y distribuido via NuGet Solo uso lo que necesito Side by Side Cross-Platform

Mac, Linux, FreeBSD Ryujit y .NET GC ahora son públicos y OSS

.NET Command Line Interface (CLI)Una sola herramienta para compilar, desplegar, y administrar aplicaciones .NET en todas las plataformas

Demo.NET Core en Linux y OS X

¿Por que?La Web Evoluciona

¿Por que? Las tecnologías tiene que evolucionar para acompañar

Web 1.0Migración Desktop a

Web

Web 2.0Integración con

Estándares y JavaScript

Web Moderna

Integración en el Server y en el Cloud

ASP.NET Core 1.0

Soporta cualquier editor o herramienta de desarrollo

Open Source Cross-PlatformOSS

Preparado para el cloud

Ciclos de desarrollo rápidoTotalmente modular

Rápido

DemoASP.NET Core en Linux y OS X

Acceso a datos .NET Core en Linux ofrece acceso a datos nativo en: SQL Server (remote access) Azure SQL Database Sqlite

No hay que hacer cambios en el código de acceso a datos ADO.NET Entity Framework

No hay que migrar datos En el futuro se van a soportar mas data providers

Azure SQL Database SQL

ServerOn premiseIn cloud

DemoAcceso a datos• SQL Server• Sqlite

Instalación de .NET Core y ASP.NET Core

• Compilando• https://github.com/dotnet/coreclr • Por línea de comandos • http://dot.net• ¡Con el instalador!• http://dot.net

Herramientas de desarrollo

• Visual Studio 2015

• Visual Studio Code

• Visual Studio Code

• Otros editors: Sublime Text, Atom, etc.

• Visual Studio Code

• Otros editores: Vi, Emacs, Atom, etc.

Visual Studio Code• Editor liviano y

multiplataforma, para Windows, OS X y Linux

• Provee IntelliSense, colorization, refactoring, etc.

• Edición, compilación, y ejecución local

• Soporte para Debugging de aplicaciones .NET apps (en el futuro)

DemoScafflod con YeomanVisual Studio Code

Xcopy deployment On-premise Azure IaaS (Linux VM) Docker container Windows container

Se pueden utilizar cualquiera de las tecnología de deployment disponibles en el OS correspondiente (Windows/Linux/OS X) Se puede incluir .NET Core con la aplicación No se necesita una instalación de .NET a nivel de maquina

Despliegue

Todo lo que se necesita para evaluar .NET en Linux .NET Core 1.0 ASP.NET Core 1.0 Parts Unlimited sample app

Linux VM en Azure Marketplace

Software Containers (simplificado)Un container es una “maquina virtual liviana”

Docker es la tecnología de containers mas popular

Azure soporta Docker Docker va a soportar “Windows Containers” Visual Studio 2015 provee soporte para publicar y administrar Docker containers

Docker

Llamadas de APIs nativas desde .NET on Linux

[DllImport("libc")]private static extern int printf(string format);…printf("Hello, World\n");

// Igual que Platform Invoke en Windows

DemoExtern callsRunning in Docker Container

Mono es un plataformas muy popular para desarrollos móviles multiplataforma en NET

Para escenarios móviles funciona muy bien pero Mono no esta diseñado pata escenarios server/cloud con calidad productiva High throughput Scale up/out Mean Time To Failure (MTTF)

¿Y Mono?

Aplicaciones .NET Core apps van a ejecutar en ambientes Linux productivos, incluyendo Docker containers (on-premise y cloud)

Edición, compilación, y debugging de código .NET en Mac OS X usando Visual Studio Code (o cualquier editor).

Aplicaciones que usen características agnósticas a la plataforma van a tener el mismo comportamiento en Windows y Unix

Microsoft va a soportar, y mantener .NET como si fuera cualquier otro producto de Microsoft

Promesas de Microsoft

Next Steps: .NET Standard

¿Preguntas?

¡Muchas Gracias!

rodolfof@lagash.com@rodolfofhttp://shockbyte.net

Recommended