Quali sono i principali vantaggi di Ext.direct rispetto alle normali chiamate Ext.ajax? Quando dovrei prendere in considerazione l'utilizzo di uno rispetto all'altro?Ext.Direct VS Ext.Ajax
risposta
In realtà, dipende dal tuo back-end, da cosa vuoi fare e da cosa si adatta alla tua situazione. La domanda che hai presentato è abbastanza vaga, quindi la mia risposta non può che fare così tanto per te, ho paura. La cosa migliore che puoi fare è guardare le pagine API per Ext.Direct e Ext.Ajax. Ext.Direct era (l'ultima volta che guardavo) molto ben documentato, così come Ajax, ma non c'è molto da fare. Ajax.
Ext.Direct - Ho iniziato a implementare questo al mio ultimo lavoro, e nel complesso è stato un PITA per essere installato e funzionante, tuttavia i benefici dopo erano abbastanza accurati. Ext.Direct consente di chiamare il server per eseguire metodi definiti come API che si passa a Ext sotto forma di oggetto JSON. Questi metodi sono quindi esposti alla vostra applicazione:
// Server-side
class MyDirectRouter
{
public function GetNames(){
// Get some names from the database
return $names;
}
}
// Client-side - also, not sure on exact configs here so
// you should do your homework
var store = Ext.create('Ext.data.DirectStore', {
// blah blah configs
proxy: {
url: '/my/direct/router/GetNames',
type: 'direct'
});
Il negozio sarà chiedere al server di chiamare tale metodo e il server darà il negozio la risposta. È possibile fare cose fantastiche, e con un'API prontamente disponibile ed esposto consente di risparmiare un sacco di mal di testa di creare i percorsi personalizzati, controllori ecc
Ext.Ajax Il nome dice tutto: AJAX. Effettua una chiamata a una pagina sul server e restituisce la risposta. La differenza principale qui è che questo chiama una pagina, non un metodo. La pagina può fare qualsiasi numero di cose (e sicuramente anche il metodo), ma la pagina è responsabile della formattazione dell'output - JSON, XML, ecc. I metodi diretti dal lato server formeranno infine anche l'output, ma di solito viene scritto un router che gestisce la chiamata del metodo e la formattazione dell'output. Ext.Ajax è molto più facile da gestire in quanto non richiede praticamente nessuna configurazione oltre ad avere la pagina all'altra estremità che gestisce la richiesta AJAX, mentre Direct richiede alcune classi di back-end per gestire il routing, l'esposizione API, ecc. Ci sono plugin per quadri diversi (Kohana, CodeIgnitor, probabilmente WordPress ecc.) e il rollover non può essere difficile. Per correttezza, ad esempio Ext.Ajax:
// Server-side - code of /ajax.php
echo(json_encode(array(
'DATA' => array(
array('id' => 3, 'name' => 'john'),
array('id' => 4, 'name' => 'Jill')
)
));
// Client-side
var store = Ext.create('Ext.data.Store', {
fields: ['id', 'name'], // You should really use a model
proxy: {
type: 'ajax',
url: '/ajax.php',
reader: {
type: 'json',
root: 'DATA'
}
}
});
Spero che questo ti dà qualche punto di vista, ma in realtà è necessario comprendere come funzionino e applicare la soluzione che è meglio per voi e la vostra situazione. La lettura delle pagine Ext API per entrambi è un buon punto di partenza e la pagina dei campioni & presenta esempi per entrambi.
- 1. ID vs UniqueID vs ClientID vs UniqueClientID vs StaticClientID?
- 2. VS 2008 vs VS 2008 Express
- 3. .NET vs ASP.NET vs CLR vs ASP
- 4. Atomikos vs JOTM vs Bitronix vs?
- 5. Accumulare vs piega vs ridurre vs comprimere
- 6. ACE vs Boost vs Poco vs wxWidgets
- 7. VS 2013 MSTest vs nUnit vs xUnit
- 8. control.BeginInvoke() Vs Dispatcher Vs SynchronizationContext Vs .. - AFFIDABILITÀ
- 9. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 10. bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, cosa hanno in comune?
- 11. e vs * e | vs +
- 12. SpiderMonkey vs JavaScriptCore vs?
- 13. * vs ** vs *** in Proguard?
- 14. bundler vs RVM vs gemme vs RubyGems vs gemsets vs system ruby
- 15. Misurare il tempo in Linux - tempo vs orologio vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
- 16. innerText vs innerHtml vs label vs text vs textContent vs outerText
- 17. Mathematica: non valutata vs Defer vs attesa vs HoldForm vs HoldAllComplete vs etc etc
- 18. Iterator vs. Reference vs. pointer
- 19. Selenium vs. SimpleTest vs. WatiN
- 20. BasicHttpBinding vs WsHttpBinding vs webHttpBinding
- 21. Boo vs C# vs Python?
- 22. StringBuffer vs StringBuilder Vs StringTokenizer
- 23. JSF vs Facelets vs JSP
- 24. Qcodo vs. CakePHP vs. Zend
- 25. select vs poll vs epoll
- 26. RazorEngine vs RazorTemplates vs RazorMachine
- 27. cudaStreamSynchronize vs CudaDeviceSynchronize vs cudaThreadSynchronize
- 28. Bitmap vs ImageView vs Drawable
- 29. gruntjs vs yeoman vs guard
- 30. migrator.net vs fluentmigrator vs migsharp
Le coppie votano, ma nessuna risposta reale :) Quale sarà il tuo lato server? Nel nostro progetto abbiamo i servizi Microsoft RIA e il database MSSQL, quindi era necessario utilizzare l'interfaccia Ajax ... Ma non ho un buon confronto pro/cons ecc ... – sha
@sha Stiamo eseguendo uno stack LAMP. –
Sembra che qui non otterrai molte risposte - potresti voler pubblicare questa domanda sui forum di sencha ... – sha