Mi pregunta es simple y directa: ¿DevExpress es lo suficientemente rápido para la aplicación web del mundo real? Estamos usando DevExpress en nuestra empresa para construir un CRM para un cliente y cada página tiene muchos controles y es extremadamente lenta. En mi servidor de desarrollo toma 10 segundos para una página con alrededor de 20 controles para cargar. ¿Esto es bueno o malo? ¿Pueden apuntarme a una aplicación DevExpress de la vida real, excepto las que figuran en la sección de estudio de casos?DevExpress para ASP.NET es lo suficientemente rápido
Respuesta
Son lo suficientemente rápidos. El sitio web de DevExpress se crea utilizando controles DevExpress y, desde mi punto de vista, funciona lo suficientemente rápido. Para poder ayudarlo a mejorar el rendimiento, necesitamos saber qué controles se utilizan en las páginas lentas, cuántos datos se muestran simultáneamente, qué navegadores usó para probar y, finalmente, la versión de los controles DevExpress que está utilizando.
Gracias por la información y, de hecho, necesitamos mucho conocimiento de los controles que no niego, pero los controles de representación usando tablas en el siglo 21 es un inconveniente, porque toda la comunidad web se centra en HTML 5, CSS 3 y no tablas –
eso es malo, pero no me gustaría apuntar directamente a los controles DevExpress al asignar la culpa - que estaría funcionando con un perfilador en contra de mi código para trabajar a cabo donde el tema es en realidad.
Soham,
Como regla general, cuando se diseñan para la web, trate de mantener sus páginas de la luz para que puedan correr más rápido. Por ejemplo, ¿necesitas absolutamente 20 controles en una página?
Y si ellos no necesitan ninguna funcionalidad especial, entonces se puede utilizar la native rendering.
Además, echa un vistazo a mi artículo sobre el DevExpress web.config settings to improve performance.
Btw, trabajo para DevExpress. :)
Alas Mehul todavía estamos usando Vol 2009 y no veo que mi empresa se actualice más pronto. –
Soham, Si tienes la oportunidad, utiliza la versión de prueba de la versión más reciente para ver si la nueva versión puede ayudarte. :) – Mehul
no tengo experiencia DevExpress, pero es posible que también desee comprobar hacia fuera Improving Asp.net performance. También podría ayudar.
Me doy cuenta de que esta pregunta es bastante antigua y que el autor original probablemente ya ha tomado una decisión. Sin embargo, cuando mi compañía me dirigió personalmente para usar DevExpress y estaba tratando de buscar todo el rendimiento que pude, una búsqueda en Google siempre apuntaría a este hilo y a muchos les gusta a través de Internet. Siempre hay una pregunta, algunas respuestas anecdóticas, y generalmente una respuesta de relaciones públicas de alguien que trabaja para DevExpress. Raramente encuentro respuestas honestas de personas con experiencia.
En el pasado, he usado Telerik, Infragistic y DevExpress. Desde una perspectiva de rendimiento y mantenimiento, DevExpress es el peor. Todos sus controles tienen propiedades y accesadores extraños que no se alinean con lo que alguien que esté familiarizado con ASP.NET o incluso con HTML esperaría. Dado que las propiedades y los controles de los controles son tan intrincados, descubrirá que ha escrito aproximadamente el doble de líneas de código necesarias en una aplicación .NET normal.
Los controles DevExpress se representan como tablas anidadas enormemente hinchadas. Algunos controles exponen un modo de renderizado liviano que es mejor, pero su estilo y funcionalidad no coinciden con los otros controles DevExpress, y encontré que tienen errores en las pruebas de varios navegadores.
estilo personalizado requiere muchos, muchos selectores CSS personalizado que le obligan a codificar nombres de clase DevExpress en su CSS, debido a la naturaleza anidada y oculta de las propiedades de control. Esta es una práctica muy mala, ya que DevExpress puede y debe ser capaz de cambiar sus nombres internos de clases de CSS cuando lo consideren apropiado.
Estos controles también hacen un absurdo número de peticiones GET a su manejador DXR.axd que sirve recursos.
No hay duda de que sus controles funcionan bien en un entorno de demostración con solo 1 control visualizado en la pantalla, pero en el mundo real, estos controles son terribles y deben evitarse. Implemente sus propios controles o simplemente descargue Bootstrap y use controles ASP.NET nativos. Reemplacé DevExpress con controles que creé ese estilo, el tipo de HTML nativo que se procesa desde .NET y el siguiente gráfico ilustra algunas de las diferencias en el uso de recursos entre los dos. No hubo cambios en el diseño de la página, la capa de negocio, la capa de datos o el código de la base de datos para este cambio, solo un reemplazo de los controles DevExpress que había optimizado previamente y que intenté eliminar todo el rendimiento con mis propios controles.
Excelente información Jeremy. Incluso optamos por DevExpress, simplemente porque no es a prueba de futuro. –
Muy interesante y comparto tu punto de vista.Mi compañía acaba de comenzar a usar DevExpress y después de solo una semana de usarlo, estoy cansado de eso. Como describió, hay demasiada incoherencia e hinchazón generada en el código fuente. Ni siquiera puedes crear fácilmente eventos personalizados en un control de citas. Esto es un completo desastre y ya me imagino cómo la gente logrará mantener esto en el futuro. La implementación de la nueva característica después tomaría dos veces y aún más tiempo para hacerlo. – DaveWut
@DaveWut, ejecutar, ejecutar ahora! Han pasado casi dos años desde que decidimos deshacernos de aproximadamente un año de desarrollo usando DevExpress, y todavía estamos tratando de resolver el problema. Son, de lejos, nuestras páginas de menor rendimiento en Producción, y me da miedo cada vez que tengo que mantener o solucionar problemas en una página que se escribió usando. –
Si utiliza 20 controles que contienen cuadros de texto con formlayouts, probablemente el servidor toma un tiempo duro para hacer que la página que contiene una gran cantidad de jerarquía de etiquetas largas en el mismo. DevExpress es malo al tener múltiples controles. Recargar un control ASPxTextbox podría tomar KB en comparación con cientos de bytes en el control Text Box de ASP.net.
2016 - En los últimos 5 años he usado Infragistics, Dev Express, Telerik en ese orden.
Infragistics Ni siquiera voy a empezar porque es un tema en sí mismo.
Mi mayor preocupación con Dev Express es que sus controles agregan algo de "hinchazón" al resultado general. Sin embargo, algunos controles tienen conjuntos de características que son dignos de la hinchazón. Ciertamente, su cuadrícula Grid y Pivot son herramientas complejas que permiten al usuario hacer muchas cosas, y he implementado exitosamente paquetes Devexpress que funcionaron tanto rápidamente como con muy buenos resultados. Tengo dos problemas con Dev Express:
- Cada vez que instalo una nueva versión, se rompe una gran cantidad de código, eso es tanto implementaciones de WebForms como de MVC. Eso es bastante frustrante, pero como programadores son de esperar, supongo.
- Realmente no se ven muy bien, tienes que esforzarte mucho para que parezca algo parecido a una tabla de arranque, etc. Una vez hecho, permiten todas las campanas y silbatos necesarios. Podrías, por supuesto, como los autores anteriores sugieren hacer crecer el tuyo, esa es siempre una opción, pero no es por eso que las personas compran controles. Están tratando de aprovechar su tiempo para que puedan implementarlo más rápido, por supuesto.
Habiendo dicho todo esto, Telerik es la mejor raza actual, en mi opinión de lejos. Más fáciles de implementar, las cuadrículas son rápidas, tienen la funcionalidad deseable adecuada y se ven mejor.
Es muy común que una página de entrada tenga más de 20 controles. Utilicé devexpress durante años, la velocidad y el rendimiento son aceptables. Usamos para construir una solución ERP.
- 1. Es C# lo suficientemente rápido para juegos
- 2. ¿Mono es estable y lo suficientemente rápido?
- 3. El objetivo C es lo suficientemente rápido para programar DSP/audio
- 4. Sphinx autodoc no es lo suficientemente automático
- 5. ¿El pistón django es lo suficientemente maduro?
- 6. ¿Es Request.ServerVariables ["REMOTE_ADDR"] lo suficientemente confiable?
- 7. ¿Es D lo suficientemente potente para estas funciones?
- 8. ¿Es Mono lo suficientemente robusto para un serio desarrollo empresarial?
- 9. ¿Haskell es lo suficientemente maduro para aplicaciones web?
- 10. ¿System.Threading.Timer es lo suficientemente eficiente para miles de temporizadores simultáneos?
- 11. ¿La especificación # es lo suficientemente estable como para usarla?
- 12. ¿Qué es "lo suficientemente desinfección" para una dirección URL
- 13. no puede dibujar lo suficientemente rápido para mantenerse al día con los toques ¿Movido?
- 14. php orm lo suficientemente potente?
- 15. MouseListener no está disparando suficientemente rápido
- 16. ¿El IDE Scala Eclipse es lo suficientemente estable?
- 17. ¿Cuándo Google Analytics no es lo suficientemente bueno?
- 18. ¿Cuándo Spring + Tomcat no es lo suficientemente potente?
- 19. ¿Por qué 'Código no es lo suficientemente genérico'?
- 20. TextView corta el texto cuando es lo suficientemente largo
- 21. ¿La autenticación básica con SSL es lo suficientemente segura?
- 22. ¿Matriz de destino no es lo suficientemente larga?
- 23. ¿Cómo sé si esto es lo suficientemente aleatorio?
- 24. srand (time (NULL)) no cambia el valor inicial lo suficientemente rápido
- 25. Argumentos Prolog no están lo suficientemente instanciados
- 26. jQuery News Ticker - no lo suficientemente suave
- 27. ¿Contenedores clave, lo suficientemente seguros como para almacenar claves privadas?
- 28. ¿Hay algún kernel pequeño lo suficientemente bueno para aprender osdev?
- 29. ¿ASE es lo suficientemente maduro como para comenzar a desarrollar aplicaciones de Android?
- 30. ¿Es lo suficientemente grande como para una tabla de registro de eventos?
¿De qué tipo de controles estamos hablando aquí, y qué cantidad de datos está transfiriendo a esta página? ¿Estás 100% seguro de que es la representación del control la que te está ralentizando? – Paddy