presente y futuro del desarrollo de controles en asp.net victor garcia aprea microsoft mvp | asp.net...

22
Presente y futuro del Presente y futuro del desarrollo de desarrollo de controles en ASP.NET controles en ASP.NET Victor Garcia Aprea Victor Garcia Aprea Microsoft MVP | ASP.NET Microsoft MVP | ASP.NET Clarius Consulting S.A. Clarius Consulting S.A. N N C C

Upload: guadalupe-pino

Post on 03-Jan-2015

21 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Presente y futuro del Presente y futuro del desarrollo de controles desarrollo de controles

en ASP.NETen ASP.NET

Victor Garcia ApreaVictor Garcia ApreaMicrosoft MVP | ASP.NETMicrosoft MVP | ASP.NETClarius Consulting S.A.Clarius Consulting S.A.

NNCC

Page 2: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

RecursosRecursos

22 http://weblogs.asp.net/vgahttp://weblogs.asp.net/vga

22 “Developing ASP.NET Server Controls “Developing ASP.NET Server Controls

and Components“and Components“

22 Lutz Roeder’s ReflectorLutz Roeder’s Reflector

22 http://www.asp.net/forumshttp://www.asp.net/forums

Page 3: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

AgendaAgenda

22 User Controls / Custom controlsUser Controls / Custom controls

22 Ciclo de vida de un controlCiclo de vida de un control

22 Viewstate a fondoViewstate a fondo

22 Rendering vs. Composición Rendering vs. Composición

22 Controles compuestosControles compuestos

22 Lo que viene en Whidbey Lo que viene en Whidbey

Page 4: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

UserControlsUserControls

99 Caching gratuito Caching gratuito

(declarativo)(declarativo)

99 Ultra sencillos (drag & drop)Ultra sencillos (drag & drop)

00 La cajita fea gris esa…La cajita fea gris esa…

00 No reusables entre appsNo reusables entre apps

22 Tienen una UI es-tá-ti-caTienen una UI es-tá-ti-ca

Page 5: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Custom ControlsCustom Controls

99 Soporte en tiempo de diseñoSoporte en tiempo de diseño

99 Reusables entre appsReusables entre apps

00 Caching programáticoCaching programático

00 Bastante difíciles de Bastante difíciles de

programarprogramar

22 Tienen una UI dinámicaTienen una UI dinámica

Page 6: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Ciclo de vida de un controlCiclo de vida de un controlInit (desde adentro hacia afuera)Init (desde adentro hacia afuera)TrackViewStateTrackViewStateLoadViewStateLoadViewStateProcessPostDataProcessPostDataLoadLoadProcessPostData (2do intento)ProcessPostData (2do intento)RaiseChangeEventsRaiseChangeEventsRaisePostBackEventRaisePostBackEventPreRenderPreRenderSaveViewStateSaveViewStateRenderRenderUnloadUnload

Page 7: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

ViewState a fondoViewState a fondo

Page 8: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

LosFormatterLosFormatter22 Optimizado para String, bool, int, Optimizado para String, bool, int,

Hashtable, Array, ArrayList, Pair, TripletHashtable, Array, ArrayList, Pair, Triplet

22 *NO* guardar cualquier tipo*NO* guardar cualquier tipo

22 Conversores de tipo Conversores de tipo

(TypeConverter)(TypeConverter)

22 Que no le llegue al Que no le llegue al

BinaryFormatter! BinaryFormatter!

22

http://weblogs.asp.net/vga/archive/2004/05.ahttp://weblogs.asp.net/vga/archive/2004/05.a

spxspx

Page 9: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

RenderingRenderingvs.vs.

ComposiciónComposición

Page 10: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Rendering vs. Rendering vs. ComposiciónComposición

22 Reusar el output de un Reusar el output de un

controlcontrol

22 Reusar el controlReusar el control

22 Más controles, mas Más controles, mas

viewstate, etc. viewstate, etc.

22 Escenarios complejos Escenarios complejos

Page 11: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

HtmlTextWriterHtmlTextWriter22 Verbosidad vs. HardcodeoVerbosidad vs. Hardcodeo

22 Concatenación de strings Concatenación de strings

vs. StringBuildervs. StringBuilder

22 Cuando usar cada uno?Cuando usar cada uno?

00 Solo sabe renderizar HTMLSolo sabe renderizar HTML

00 Es una adaptación “hacia Es una adaptación “hacia

abajo”abajo”

Page 12: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

HtmlTextWriterHtmlTextWriter99 Nuevo modelo en WhidbeyNuevo modelo en Whidbey

22 MarkupTextWriter es la MarkupTextWriter es la

nueva basenueva base

22 WmlTextWriter / WmlTextWriter /

HtmlTextWriterHtmlTextWriter

00 Nuevo modelo?? Seguro, Nuevo modelo?? Seguro,

Víctor?Víctor?

Page 13: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Controles CompuestosControles Compuestos

Page 14: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Controles CompuestosControles Compuestos22 INamingContainerINamingContainer

22 CreateChildControls () CreateChildControls () (aca y (aca y

nada mas que aca)nada mas que aca)

22 ChildControlsCreated ChildControlsCreated

(invalidar hijos)(invalidar hijos)

22 EnsureChildControls () EnsureChildControls () (usar (usar

con cuidado)con cuidado)

Page 15: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Controles CompuestosControles Compuestos22 CreateChildControls() se CreateChildControls() se

llama on-demandllama on-demand

99 FindControl ()FindControl ()

99 OnPreRender () OnPreRender ()

00 propiedad Controlspropiedad Controls

99 Nueva clase Nueva clase

CompositeControlCompositeControl

Page 16: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Lo que viene en WhidbeyLo que viene en Whidbey

Page 17: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Ciclo de vida de un controlCiclo de vida de un controlPreInitPreInitInitInitInitCompleteInitCompleteLoadStateLoadStateProcessPostDataProcessPostDataPreLoadPreLoadLoadLoadProcessPostData (2do intento)ProcessPostData (2do intento)RaiseChangeEventsRaiseChangeEventsRaisePostBackEventRaisePostBackEventLoadCompleteLoadCompletePreRenderPreRenderPreRenderCompletePreRenderCompleteSaveStateSaveStateSaveStateCompleteSaveStateCompleteRenderRender

Page 18: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

ObjectStateFormatterObjectStateFormatter22 Mas optimizaciones: IndexedString, Mas optimizaciones: IndexedString,

Color, HybridDictionary, double, float, Color, HybridDictionary, double, float,

Enum, byteEnum, byte

22 *NO* guardar cualquier tipo*NO* guardar cualquier tipo

22 ControlState & ViewStateControlState & ViewState

22

http://weblogs.asp.net/vga/archive/2004/05.asphttp://weblogs.asp.net/vga/archive/2004/05.asp

xx

Page 19: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Nueva Arquitectura de Nueva Arquitectura de ControlesControles

22 Unificación de ASP.NET v1.0 + MMITUnificación de ASP.NET v1.0 + MMIT

22 *NO* mas duplicar Pages ni Controls *NO* mas duplicar Pages ni Controls

22 Basada en Adaptadores de ControlesBasada en Adaptadores de Controles

Page 20: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Adaptador de ControlAdaptador de Control22 Parece un control… no lo es Parece un control… no lo es

22 Adapta rendering, estado, lógica de Adapta rendering, estado, lógica de

postbackpostback

22 Decide si los eventos del control se Decide si los eventos del control se

disparandisparan

22 La página es un Control, también se La página es un Control, también se

adaptaadapta

Page 21: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

99 Diciembre Diciembre

20042004

Page 22: Presente y futuro del desarrollo de controles en ASP.NET Victor Garcia Aprea Microsoft MVP | ASP.NET Clarius Consulting S.A. N C

Alguna pregunta?Alguna pregunta?

Muchas gracias por su atención!Muchas gracias por su atención!