2008-09-17 8 views

Respuesta

18

He usado Ironspeed extensivamente durante los últimos dos años para la mayoría de nuestros formularios ASP.NET sobre proyectos de datos.

Funciona. Hace varias cosas bien: procs almacenados, diseño rápido de exploración de tabla y pantallas CRUD, diseño rápido de pantallas CRUD de registro único. Gestiona decentemente el proceso de ida y vuelta (o viaje de ida y vuelta) detectando cambios en el esquema db back-end y actualizando su capa de acceso a datos, y luego colocando las columnas modificadas para que pueda modificar su UI (en paneles de control de registros o tablas) ISD (como lo llaman) hace un trabajo excelente al hacer que la administración de seguridad para su aplicación sea bastante fácil, incluso hasta el nivel de control (si usa las versiones sub-clasificadas de ISD de los controles asp.net). Final plus, no pequeño, es el control de tema basado en CSS (fácil de cambiar a una variedad de temas, fácil de personalizar un tema en particular, y ni siquiera es tan malo para construir tu propia variante de tema bifurcando uno existente que te guste) Dependiendo de si permite que ISD cree sus procesos almacenados en la base de código o en la base de datos, cambiar los DB en tiempo de ejecución puede ser pan comido.

Foro bastante activo con un grupo básico de colaboradores útiles. Probablemente pueda evitar el soporte técnico pagado a través del foro.

Bien, la desventaja. Crea conglomerados de código bastante grandes, siendo una arquitectura de tres niveles. Como dice Galwegian, como en cualquier marco, tienes las esposas de terciopelo (¡saca tu mente del canalón si estás pensando en algo más que las limitaciones y convenciones del código!). Las esposas de terciopelo son la página y el modelo de control, la capa de datos, la falta de una capacidad de clase/objeto de negocios, el modelo de devolución y la tentación de hacer que su GUI de usuario se vea como LA GUI de usuario que sale de la caja porque es tan fácil y conveniente.

ISD crea una página básica combinando una plantilla HTML (en la que coloca las etiquetas de generación de código específico de ISD y cualquier otra etiqueta, etc., que utiliza la GUI de ISD o manualmente). El modelo de página se basa en un código detrás de la página creada a partir de una pieza de plantilla de código. Las clases base son casi completamente reemplazables, de modo que puede anular todas las funciones predeterminadas, regenerar la aplicación y no perder las anulaciones. Los controles de la base de datos viven en el contenedor de la página, pero tienen sus propias definiciones de clase (es decir, su código subyacente) en archivos específicos/app_code. De nuevo, cada tipo de control tiene su propia clase base con métodos bastante completamente reemplazables.Un único control de registro (que muestra un único registro de db) es bastante simple. Una tabla, que muestra varios registros, tiene una clase de tabla y una clase de fila de tabla. El sitio web de ISD (www.ironspeed.com/support) tiene una buena documentación del modelo de ISD en su conjunto.

Entonces, ¿dónde están los problemas en este modelo? 1. Fácil y tentador para vivir con su interfaz gráfica de usuario original. Point ISD en su base de datos, escoja las tablas que desee para que entre en las páginas, dígale los tipos de páginas, déle un estilo temático y cinco minutos después esté viendo la aplicación. Guay. Pero es muy fácil olvidar que su GUI de usuario probablemente no sea la que su usuario desea ver. Por lo tanto, prepárate para pensar por ti mismo y jugar con la GUI así creada. No es difícil de hacer, y puede usar VS 2005 para ayudarlo.

  1. Objetos comerciales. Podrías armar tus propios objetos de negocios, pero sería difícil y no recibirías ayuda de ISD. ISD hace MUCHA construcción de validación y verificación simples (valores de búsqueda apropiados, rangos, longitudes, etc.) ISD le permite crear consultas personalizadas, pero estas son de solo lectura. Es lo suficientemente inteligente (y puede anular la escritura desde una página en cualquier caso) para permitirle tomar una vista de uno a muchos y escribirla de nuevo en la base de datos (probablemente anule el método base predeterminado, pero no es tan difícil de hacer). Sin embargo, cuando ingresa a una comprobación de dependencia grave, ISD todavía trata de tablas y no de objetos comerciales. Entonces, vas a escribir un código.

Si eres inteligente, lo escribirás una vez que lo almacenes en app_code en algún lugar y lo usas llamándolo desde un método anulado en tu tabla o controles de registro. Si usted es como la mayoría de nosotros, primero debe espaguetizarlo en una de las clases de código subyacente anteriores, y luego olvide que lo hizo, o tener una copia en cada una de las 10 páginas que manipula los datos del cliente. En mi mundo, eso generalmente ha significado 5 funciones idénticas y 5 que son todas diferentes (aunque se supone que todas son iguales). ISD hace que sea tentador pedir marinara, porque el modelo se presta para el código de spaghetti. Por supuesto, puede evitar esto por completo, pero debe aprender el modelo de ISD para determinar la mejor manera de hacerlo en su proyecto.

  1. Página estado y devoluciones. Aunque ISD es bastante abierto acerca de este problema y le dice a los usuarios que no solo tomen los valores predeterminados de devolver todo el estado de la página asp.net en la secuencia de devolución (caché en el servidor), el valor predeterminado es devolver toda la página. Puede hacer algunas páginas GRANDES. Lo que hace que los usuarios piensen S L O W. Como dije, puedes manipular esto. Pero, qué novato va a conseguir esto cuando es TAN TAN tentador simplemente apuntar, hacer clic y boom - aplicación instantánea. Su gerente ahora está fuera de su espalda porque su tabla de inventario de productos está "en la web" con una buena GUI de edición y edición (de 400kb páginas de estado si se ha vuelto un poco loco y acaba de tomar los comportamientos predeterminados de ISD). Genial en la empresa, pero los clientes en el mundo real ...

Una vez más, el conocimiento es la clave. Puedes arreglar esto, pero necesitas saber que DEBERÍA.

  1. Base de datos de lectura/escritura de devoluciones. No es un gran problema aquí, pero también debe saber que el modelo solo debe obtener los datos utilizados en este momento. Si su tabla muestra 1000 registros en 50 incrementos de registro, cuando pasa de los registros 1 al 50 a 51 a 100, se realizará una devolución de datos y se volverá a presionar en la base de datos. Esto mantiene los datos actualizados, pero aumenta el tráfico del servidor.

En general: Pruebe la versión demo. Apunta a algo simple que realmente quieras entregar a una aplicación asp.net. Construye tal vez tres tablas. Luego diseccione usando lo anterior como una guía. Vea lo que piensa y publique de vuelta a esta pregunta.

+1

Probé la demostración y terminé comprándola. Estoy emocionado (hasta ahora). Gracias por tu comentario. –

+0

Esta es una muy buena descripción de la velocidad del hierro. No me gusta mucho la velocidad de Iron porque crea un buen diseño, estoy de acuerdo con eso, pero el código de la capa de acceso a datos y de acceso a la empresa es bastante pesado, con funciones que ya están programadas y no satisfacen mis necesidades en Term de enlace de datos, NO EN ABSOLUTO. ¿Por qué no hay una opción que le permita crear el diseño de las páginas web, pero sin crear el código que viene con ellas, eso sería simplemente genio? –

2

Lo he usado por conveniencia para un proyecto muy pequeño. Hizo lo que quería y me ahorró un par de días de trabajo.

El principal problema que encontré fue a la hora de personalizar o ampliar el proyecto generado. Tienes que pasar bastante tiempo tratando de entender la forma de hacer las cosas de Ironspeed, lo cual, lo admitiré, no es mi manera.

Lo usaría de nuevo para un proyecto pequeño si supiera de antemano que no tendría que personalizarlo mucho después.

1

Si lo que buscas es generación de procedimientos almacenados, CodeSmith es una opción decente a una fracción del costo de IronSpeed. Hay varias plantillas de sproc disponibles, y puede crear una propia o modificar una existente si eso es lo que necesita. También puede gen .Net código a su contenido de corazón con CodeSmith. Toneladas de plantillas de clase ejecutiva ya existen para esto.

El valor de IronSpeed ​​no está en la generación sproc, sino en las funciones RAD. Estoy de acuerdo con @Galwegian ... IronSpeed ​​está bien para maquetas o aplicaciones muy simples, no tan buenas en absoluto si necesita hacer cualquier personalización.

+0

Yo miraba a CodeSmith y parece que genera plantillas no páginas reales con rejillas/cuadros de texto, etc. Eso es probablemente bueno para las personas que necesitan solo código, pero yo quería para desarrollar la aplicación con los objetos de enlace de datos (cuadrículas etc.) no solo código. –

1

Es posible que desee comprobar marco Evolutility CRUD.Proporciona algunas de las mismas características (limitadas a CRUD) y es de código abierto.

1

IronSpeed ​​ha sido excelente (out-of-the-box) para ayudarme a desarrollar aplicaciones de Intranet corporativas basadas en datos. Aunque el modelo de código tarda un poco en acostumbrarse, es efectivo para mantener una buena aplicación de tres niveles. Si bien las plantillas de página pueden parecer chillonas en comparación con el diseño web de 2010, hace el trabajo cuando se necesita una función sobre otra.

0

Si le gusta su uso es muy simple, intente con AspxFormsGen 4.5. Puedes aprenderlo en menos de 5 minutos. Genera una aplicación web de 3 niveles en C# o VB.net, UI (.aspx), nivel medio (archivo de clase), capa de datos (archivo de clase) y procedimientos almacenados (o dianmic sql, sql en tu código no en MS SQL) .

Estoy usando todos sus productos. Aunque hay muchas cosas que me gustaría añadir a las características de sus productos, la simplicidad, el excelente soporte y, sobre todo, el precio (casi 5 veces más bajo que cualquier otro) son muy difíciles de superar. Y no envían ni envían ningún tipo de publicidad.

https://www.junnark.com/Products/AspxFormsGen45/

Cuestiones relacionadas