He estado buscando últimamente, específicamente en algunas de las herramientas de MS que están disponibles, y estoy notando un gran enfoque en herramientas de diseño y asistentes. No solo para el desarrollo de UI sino para todo.
- Entity Framework tiene el modelador
- RIA Services tiene los asistentes de DomainService
- El flujo de trabajo tiene todo el diseño del flujo de trabajo ... (No sé, realmente no lo he usado)
Hay más, pero creo que entiendes la idea. Hay muchas herramientas de diseño. Usando algunos de estos, encuentro que:
Complican las cosas más allá de los casos de uso prescritos.
(es decir, todos los videos de demostración técnica)
He estado evaluando algunas de estas tecnologías recientemente, y tratando de trabajar con ellas, termino diseccionando exactamente lo que los diseñadores, modeladores y magos están haciendo por mí ... de lo contrario, estoy perdido cuando realmente tengo que intentar hacer algo con lo que fue creado.
Esto termina siendo un caso en el que tengo que luchar contra la herramienta, o luchar contra su producción lo suficiente como para haber podido hacer todo yo mismo sin ella, y tener una comprensión mucho más fuerte de lo que está sucediendo. Esto me parece particularmente irritante con el diseñador de Silverlight y el asistente de servicio de dominio de servicios RIA.
Me pregunto "¿De qué sirve esta herramienta si tengo que averiguar su funcionamiento interno o reescribir la mitad de su salida para usarla?"
No son tan rápidos
El punto de venta de estas herramientas es aumentar la productividad y este punto puede cambiar con el tiempo usando la herramienta, y no necesariamente se aplica a los diseñadores de UI (aunque, en algunos casos, todavía lo hace -> Te estoy mirando diseñador Silverlight) . Me parece que puedo hackear un código mucho más rápido de lo que puedo arrastrar y soltar, cambiar el tamaño, mover, lo que sea en un diseñador.
La interfaz de usuario se interpone en el camino del modelo
Tal vez solo soy yo, pero cuando estoy usando algo que recuerda a una herramienta de diseño UML termino pasando más tiempo diseñando todo para que mis líneas no se crucen y para que pueda ver todo en la pantalla que modelar lo que Estoy tratando de lograr.
No son divertidos
La mitad de la razón por la que codifico para vivir es porque lo disfruto. Hacer clic en casillas de verificación y seleccionar cuadros combinados y luego arreglar todo lo que sale no es divertido.
No parezco estar solo
La comunidad parece no querer estas herramientas tampoco. El mejor ejemplo que se me ocurre en este momento es Entity Framework Code-First.
Entonces pregunto:
- ¿Las herramientas de diseño realmente mejoran la productividad?
- ¿Son asesinos divertidos?
- ¿Está 'la comunidad' realmente pidiendo más herramientas de diseño, o los vendedores simplemente piensan que somos?