2015-02-26 16 views
11

Quindi so che i rilasci di SignalR sono stati realizzati per non fare affidamento su jQuery.Perché SignalR dipende da jQuery

https://github.com/SignalR/SignalR/issues/372 - il problema chiuso per spostarlo da jQuery.

Ma perché dipendeva da questo in primo luogo? (Ovviamente dal punto di vista tecnico) Visto che sembra non esserci nulla di speciale su jQuery (a parte che esiste, nel senso che è rendere la vita più facile).

Questo è principalmente dovuto alle funzionalità di jQuery?

+0

Chiedi a Microsoft. Non sappiamo perché hanno scelto di utilizzare jQuery invece di renderlo indipendente. È iniziato come un progetto open source da dipendenti Microsoft, e in seguito l'azienda stessa lo ha raccolto perché ha visto il potenziale. – diceler

+0

Potrebbe twittare Damien Edwards quindi, tuttavia si sta ipotizzando che dicendo "noi" la comunità di stackoverflow, non ci siano membri che lavorano con Microsoft .... –

+0

Non conosco SignalR quindi non posso dirvi quali sono le dipendenze . Ma quando si avvia una libreria è necessario disporre spesso di alcune funzioni di utilità comuni e poiché si desidera concentrarsi sul proprio progetto reale anziché risolvere problemi con l'implementazione di tali funzioni, si sceglierà spesso una o più librerie che forniscono tali funzioni. Spesso è meglio rimuovere le dipendenze in seguito, piuttosto che avere un progetto che morirà perché è necessario prima implementare le noiose funzioni di utilità. –

risposta

18

Il cliente SignalR JS attualmente utilizza jQuery per le seguenti funzioni:

  • eventi personalizzati (su oggetti, non elementi DOM)
  • Ajax (funziona su più vecchio IE, avvolto in promesse, ecc)
  • Promesse (differite)
  • Varie. programmi di utilità

Quando rimuoviamo la dipendenza da jQuery, avremo bisogno di sostituzioni per tutti questi. Ci sono alcuni standard moderni supportati in ES6 e gli ultimi browser che ci daranno alcune di queste cose, ma per altre avremo bisogno di creare nuovi wrapper per. Potremmo ancora scegliere di rilevare e "illuminare" su jQuery se è caricato prima di noi, ad es. per supportare versioni precedenti di IE.

+0

Spot on, grazie mille per la tua risposta! Esattamente quello che stavo cercando! –

1

Se non è possibile utilizzare la versione .Net Core che ora funziona senza jQuery è possibile utilizzare questo. È SignalR avvolto nel modulo NPM e non richiede jQuery. Carica solo ~ 5KB necessarie funzioni necessarie prese da esso https://github.com/DVLP/signalr-no-jquery