presente y futuro del desarrollo de controles en asp.net victor garcia aprea microsoft mvp | asp.net...
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022051014/54a7ae9f497959eb6d8b4aa9/html5/thumbnails/22.jpg)
Alguna pregunta?Alguna pregunta?
Muchas gracias por su atención!Muchas gracias por su atención!