2010-07-16 17 views
6

La mia domanda è semplice e diretta - DevExpress è abbastanza veloce per l'applicazione web del mondo reale. Stiamo utilizzando DevExpress nella nostra azienda per creare un CRM per un cliente e ogni pagina ha molti controlli e è dannatamente lento. Sul mio server di sviluppo ci vogliono 10 secondi per una pagina con circa 20 controlli da caricare. Questo è buono o cattivo? E voi ragazzi potete indirizzarmi verso un'applicazione DevExpress reale, ad eccezione di quelle fornite nella sezione case study.DevExpress per ASP.NET abbastanza veloce

+1

Che tipo di controlli stiamo parlando qui e quanti dati stai pompando in questa pagina? Sei sicuro al 100% che sia il rendering del controllo a rallentarti? – Paddy

risposta

6

Sono abbastanza veloci. Il sito Web DevExpress è stato creato utilizzando i controlli DevExpress e dal mio punto di vista, funziona abbastanza velocemente. Per aiutarti a migliorare le prestazioni, dobbiamo sapere quali controlli vengono utilizzati nelle pagine lente, quanti dati vengono visualizzati contemporaneamente, quali browser hai utilizzato per testare e infine la versione dei controlli DevExpress che stai utilizzando.

+4

Grazie per le informazioni e in effetti abbiamo bisogno di molta conoscenza dei controlli che non nego, ma il rendering dei controlli tramite tabelle nel 21 ° secolo è un inconveniente secondo me, perché l'intera comunità Web si concentra su HTML 5, CSS 3 e non tabelle. –

7

Questo è male, ma non vorrei puntare direttamente ai controlli DevExpress quando si assegna la colpa - Sarei in esecuzione un profiler contro il mio codice per capire dove si trova veramente il problema.

5

Soham,

Come regola generale, quando si progetta per il web, cercare di mantenere le vostre pagine di luce in modo che possano correre più veloce. Ad esempio, hai assolutamente bisogno di 20 controlli su una pagina?

E se non sono necessarie funzionalità speciali, è possibile utilizzare native rendering.

Inoltre, controlla il mio articolo su DevExpress web.config settings to improve performance.

Btw, lavoro per DevExpress. :)

+0

Alas Mehul stiamo ancora utilizzando Vol 2009 e non vedo più la mia azienda che si aggiorna prima. –

+0

Soham, Se si ha la possibilità, utilizzare la versione di prova dell'ultima versione per verificare se la nuova versione può essere d'aiuto. :) – Mehul

16

Mi rendo conto che questa domanda è piuttosto vecchia e l'autore originale probabilmente ha preso una decisione da molto tempo. Tuttavia, quando sono stato personalmente diretto dalla mia azienda a utilizzare DevExpress e stavo cercando di ottenere tutte le prestazioni che potevo, una ricerca su Google puntava sempre a questa discussione ea molti piace su Internet. C'è sempre una domanda, alcune risposte aneddotiche e di solito una risposta PR da qualcuno che lavora per DevExpress. Raramente trovo risposte oneste da persone esperte.

In passato, ho utilizzato Telerik, Infragistic e DevExpress. Dal punto di vista delle prestazioni e della manutenzione, DevExpress è il peggiore. Tutti i loro controlli hanno proprietà e accessorie dispari che non si allineano con ciò che qualcuno si aspetta da ASP.NET o HTML. Poiché le proprietà e gli accessor dei controlli sono così complicati, scoprirai che hai scritto circa il doppio delle linee di codice necessarie in una normale applicazione .NET.

I controlli DevExpress sono visualizzati come tabelle nidificate estremamente gonfie. Alcuni controlli espongono una modalità di rendering leggera che è migliore, ma il loro stile e funzionalità non corrispondono agli altri controlli DevExpress e li ho trovati abbastanza buggati nei test cross-browser.

Lo stile personalizzato richiede molti, molti selettori CSS personalizzati che ti obbligano a codificare i nomi di classe DevExpress nel tuo CSS, a causa della natura nidificata e nascosta delle proprietà del controllo. Questa è una pratica molto negativa, dal momento che DevExpress può e dovrebbe essere in grado di modificare i propri nomi di classi CSS interni ogni volta che lo ritengono opportuno.

Questi controlli rendono anche un numero assurdo di richieste GET al loro gestore DXR.axd che serve risorse.

Non c'è dubbio che i loro controlli funzionino bene in un ambiente Demo con solo 1 controllo visualizzato sullo schermo, ma nel mondo reale questi controlli sono terribili e dovrebbero essere evitati. Implementare i propri controlli o semplicemente scaricare Bootstrap e utilizzare i controlli nativi di ASP.NET. Ho sostituito DevExpress con i controlli che ho creato con questo stile il tipo HTML nativo che viene reso da .NET e il seguente grafico illustra alcune delle differenze nell'uso delle risorse tra i due. Non sono state apportate modifiche al layout di pagina, al livello aziendale, al livello dati o al codice di database per questo scambio, solo una sostituzione dei controlli DevExpress che avevo precedentemente ottimizzato e ho cercato di eliminare ogni bit di prestazioni con i miei controlli.

Chart Comparing DevExpress to Custom Controls

+0

Grande informazione Jeremy. Abbiamo persino disattivato DevExpress, semplicemente perché non è a prova di futuro. –

+0

Molto interessante e condivido il tuo punto di vista.La mia azienda ha appena iniziato a usare DevExpress e dopo solo una settimana di utilizzo, sono stanco di farlo. Come hai descritto, c'è troppa incoerenza e rigonfiamento generato nel codice sorgente. Non è nemmeno possibile creare facilmente eventi personalizzati su un controllo di appuntamento. Questo è un casino completo e immagino già come la gente riuscirà a mantenerlo in futuro. Implementare una nuova funzionalità in seguito richiederebbe due o più volte più tempo per farlo. – DaveWut

+0

@DaveWut, corri, corri ora! Sono passati quasi due anni da quando abbiamo deciso di sbarazzarci di circa un anno di sviluppo utilizzando DevExpress, e stiamo ancora cercando di ripulire il caos. Sono di gran lunga le nostre pagine in esecuzione più lenta in produzione, e temo ogni volta che devo mantenere o risolvere una pagina che è stata scritta usando questo. –

0

Se si utilizza 20 controlli contenenti caselle di testo con formlayouts, probabilmente il server richiede un momento difficile per rendere la pagina che contiene un sacco di gerarchia dei lunghi tag in esso. DevExpress non funziona correttamente con più controlli. Il redering di un controllo ASPxTextbox potrebbe richiedere KB rispetto a centinaia di byte sul controllo Textbox ASP.net.

1

2016 - Negli ultimi 5 anni ho utilizzato Infragistics, Dev Express, Telerik in questo ordine.

Infragistics Non avrò nemmeno inizio perché è un argomento a sé stante.

Il mio peggior pet più grande con Dev Express è che i loro controlli aggiungono un po 'di "ingordigia" al risultato complessivo. Tuttavia, alcuni controlli hanno set di funzionalità che sono degni del gonfiarsi. Sicuramente la loro griglia Grid e Pivot sono strumenti complessi che consentono all'utente di fare molte cose, e ho implementato con successo pacchetti Devexpress che hanno funzionato sia rapidamente che con ottimi risultati. Ho due problemi con Dev Express:

  1. Ogni volta che installo una nuova versione, si rompe una quantità significativa di codice, che è sia l'implementazione WebForms che MVC. Questo è abbastanza frustrante, ma come ci si aspetta dai programmatori, credo.
  2. Davvero non sembrano molto carini, bisogna fare uno sforzo significativo per ottenere il controllo di qualsiasi cosa vicino a un tavolo di bootstrap, ecc. Una volta fatto, tuttavia, consentono tutte le campane e i fischietti necessari. Ovviamente, gli autori sopra suggeriscono di crearne uno tuo, è sempre un'opzione, ma non è per questo che la gente compra i controlli. Stanno cercando di sfruttare il loro tempo in modo che possano implementare più velocemente, naturalmente.

Detto questo, Telerik è l'attuale best of breed, secondo me di gran lunga. Più facile da implementare, le griglie sono veloci, hanno funzionalità desiderabili e sembrano migliori.

-1

È molto comune per una pagina di ingresso avere più di 20 controlli. Ho usato devexpress per anni, la velocità e le prestazioni sono accettabili. Usiamo per costruire una soluzione ERP.

Problemi correlati