6

ho intenzione di essere la costruzione di un grande MVC js applicazione di amministrazione app e hanno limitata alle dojo e ExtJSdojo vs extjs per grande pagina singola js app

Mi piacerebbe sapere se qualcuno ha qualche esperienza con uno di questi quadri negli ultimi 6 mesi e se avete avuto problemi con una delle seguenti aree

  • velocità di sviluppo
  • MVC
  • documentazione
  • bindin gs
  • internalizzazione
  • tematizzazione di widget
  • un negozio di lato client ricercabile (non deve essere collegato solo la capacità di archiviare i record una volta ricevute e poi fare ricerche locali su tali record)
  • test utilizzando alcuni strumento di stack completo come il selenio
  • datagrid, l'impaginazione, l'ordinamento tutto funziona
+0

Stai prendendo in considerazione il supporto delle lingue da destra a sinistra? – Li0liQ

+3

Domanda troppo ampia. –

+0

Cosa userete sul lato server? Hai preso in considerazione i problemi di licenza? Dojo è gratuito in tutti i casi, Ext-JS non è gratuito se non stai sviluppando un progetto open source ... – Philippe

risposta

9

Ecco cosa Ext-JS offre.

Questo non appartiene nella risposta, ma se si finisce per utilizzare Ext-JS, potrebbe essere necessario quanto segue per migliorare i grafici performanti . Il vantaggio dei grafici Ext è che sono più facili da interagire (mouseover, clic) poiché non sono basati su canvas come flot.

/** 
* Renders a single flot chart, a much simplifed version of ExtFlot 
*/ 
Ext.define('Ext.ux.FlotPanel', { 
    extend: 'Ext.Component', 
    alias: 'widget.flot', 

    /** 
    * @cfg {number[][]} data The data to be drawn when it gets rendered 
    */ 
    data: null, 

    /** 
    * @cfg {object} flotOptions 
    * The options to be passed in to $.plot 
    */ 
    flotOptions: null, 

    /** 
    * @property 
    * The Flot object used to render the chart and to manipulate it in the future. It will only 
    * be available after the first resize event 
    * You may not set this property but you are free to call methods on it 
    */ 
    flot: null, 

    initComponent: function() { 
     this.callParent(arguments); 
     // The only time that we're guaranteed to have dimensions is after the first resize event 
     this.on('resize', function(cmp) {    
      if (!cmp.flot) { 
       cmp.flot = $.plot(cmp.getTargetEl().dom, cmp.data, cmp.flotOptions); 
      } else { 
       // Flot knows to look at the container's size and resize itself 
       cmp.flot.resize(); 
       cmp.flot.setupGrid(); 
       cmp.flot.draw(); 
      } 
     }); 

     this.on('beforedestroy', function(cmp){ 
      if (cmp.flot) { 
       cmp.flot.shutdown(); 
      } 
     }); 
    } 
}); 

Quando ho guardato Dojo 4 anni fa, l'ho odiato. Non dovremmo dichiarare i widget in HTML. Preferisco piuttosto dichiararli con oggetti JS (ho sentito che ora puoi dichiarare i widget senza specificare l'HTML.Ci sono persone che amano creare widget nell'HTML, ma nel mio caso (applicazioni dinamiche di business mind), ogni parte sullo schermo è dinamica e la configurazione proviene dal server, quindi non voglio che il server generi il mio HTML dal momento che ho bisogno di conoscenza su di esso nel mio JS.

In ogni caso, sono davvero soddisfatto di Ext-JS e non ho motivo di andare a fare shopping per un nuovo framework.

+0

hai usato extjs per uno qualsiasi dei punti sopra e se hai fatto quali erano i punti positivi e negativi che hai riscontrato? – tee

+0

Ho usato Ext-JS per tutto sopra tranne che per: RTL è per la prossima versione ma ho implementato il supporto per conto mio 3 anni fa. Anche io non ho il tema più ampio, ho appena usato il tema grigio che viene fornito. Ma ho seguito i passaggi per creare un nuovo tema ed è incredibilmente facile (adoro SASS). L'unica parte di Ext-JS a cui sto lontano è la creazione di grafici. Dopo aver lottato con numerosi bug grafici (riconosciuti dal team), sono tornato a usare flot. http://code.google.com/p/flot/ –

+3

"Quando ho guardato Dojo 4 anni fa, l'ho odiato." Il tuo commento su Dojo è totalmente irrilevante ... E Ext-js 4 anni fa? Ci sono due modi per creare widget in Dojo, in modo programmatico e dichiarativo, a seconda delle tue esigenze e preferenze. Puoi anche gestire completamente il ciclo di vita di un widget, e il codice che mostra che per iniziare a usare ext-js hai già bisogno di hackerare cose non lo rende più luminoso :) – PEM

15

Dal momento che Dojo fa tutto il necessario.

Dojo supporta "negozi" che fanno esattamente quello che chiedi. Supporta anche diversi elementi come JsonRestStore, XMLStore, HTMLStore e molti altri in modo da poter facilmente cambiare la fonte dei dati.

Informazioni sul test delle unità è possibile utilizzare lo strumento integrato denominato Dojo Objective Harness, ed è robot, o qualcos'altro come selenio o eventd (dojo).

Chi MVC, dojo ha qualcosa chiamato dojox.mvc: http://livedocs.dojotoolkit.org/releasenotes/1.7#mvc

Anche se ci molte altre cose troppo :)

Consiglierei leggendo i tutorial qui: http://dojotoolkit.org/documentation/

La tua domanda è un po ' Difficile rispondere perché immagino che praticamente ogni struttura decente oggi possa fare quello che chiedi. E ogni dev ti dirà che la struttura che gli piace di più è migliore ^^

Personalmente, io uso Dojo, lo trovo potente e particolarmente ben fatto per applicazioni di grandi dimensioni. Sono anche molto attivi e tengono il passo con le ultime tendenze (AMD Loader RequireJS, ecc.). C'è anche una bella comunità che si aiuta a vicenda, specialmente sulla mailing list e sul canale irc.

Inoltre, se è importante in ogni caso, aziende come IBM si fidano e passano il tempo ad aiutare il framework a migliorarlo.

  • velocità di sviluppo: buona
  • MVC: una buona documentazione
  • : buona - enorme progredisce recentemente :)
  • binding: buone
  • interiorizzazione: buona
  • tematizzazione di widget: utilizzando meno rocks
  • un archivio lato client ricercabile (non deve essere offline solo la possibilità di memorizzare i record una volta ricevuti e quindi effettuare ricerche locali su quelli record): buono
  • test utilizzando uno strumento completo come selenio: buono
  • datagrid, impaginazione, ordinamento dell'intero lavoro: nuovo dgrid è ottimo, le vecchie griglie sono ok Dojo è piuttosto potente, ma a volte può essere difficile, un buon supporto lo compensa
+1

In sostanza quello che sto cercando sono le esperienze delle persone (il bene e il male) relative agli argomenti che ho menzionato, hai usato il dojo per uno qualsiasi degli argomenti che ho menzionato? se sì cosa era buono e cosa era male? – tee

+2

* velocità di sviluppo: buone * MVC: buona * documentazione: male, ma con enormi progressi recentemente :) * Attacchi: buona * internalizzazione: buona * tematizzazione di widget: utilizzando rocce meno per personalizzato infila * un negozio di lato client ricercabile (non deve essere collegato solo la capacità di archiviare i record una volta ricevute e poi fare ricerche locali su tali record): buoni * test utilizzando qualche strumento stack completo come il selenio: buona * datagrid, impaginazione, ordinamento t tutto funziona: nuovo dgrid è grande, le vecchie griglie sono ok Dojo è abbastanza potente, ma a volte può essere difficile, un buon supporto lo compensa – PEM

+0

@PEM: dovresti aggiungere queste cose alla tua risposta. –