Quando sono framework filettati migliori dei framework guidati dagli eventi?(I.e., quando sono i binari migliori del nodo.js?)

StackOverflow https://stackoverflow.com//questions/10709938

Domanda

Capisco cosa è un framework filettato (rotaie, django, symfony2, ...).E capisco cosa sia un framework guidato da eventi (node.js, eventmachine, contorto, ...) e perché è ottimo per il vivo, la chat, la velocità, ... Inoltre non sembrano causare problemi per i normali casi di uso.Quindi:

    .
  • Quali sono gli inconvenienti dei framework guidati dagli eventi?
  • Quando dovrei preferire le rotaie a node.js?
  • Perché non sono tutti nuovi server web scritti con Eventmachine, Twisted o Node.js?
  • saranno famosi quadri quali django o rotaie diventano guidati per eventi o morire?
È stato utile?

Soluzione

.

Allora, dove sono gli inconvenienti dei framework azionati dagli eventi?

    .
  1. familiarità. perché la programmazione Web guidata dagli eventi è così diversa, sarà un po 'prima che i programmatori siano confortevoli con esso. Quando lavori su una scadenza, è più facile usare ciò che sai, funziona.
  2. Supporto della libreria. Il nodo ha un numero incredibile di moduli, ma ha una lunga strada per andare a recuperare con rubino e python . AGGIORNAMENTO: Nodo ora ha moduli più pubblicati disponibili rispetto a Python o Ruby . .
  3. Distribuzione. Il personale IT è usato per filettare frameworks. Per usufruire dei framework guidati dagli eventi, vorrai essere asincrono dal basso verso il basso. In questo momento puoi sviluppare in nodo.js, ma sarai in grado di implementarlo efficacemente o dovrai amministrare i tuoi server?
  4. preoccupazioni infondate. Cose che sembrano problemi, ma non sono davvero:
      .
    • La programmazione guidata dagli eventi è negativa per le app ad alta intensità della CPU : il motivo è che un calcolo intensivo della CPU bloccherebbe il server. Questo è strettamente vero, ma praticamente, è superato la deposizione di un altro processo e lo trattando come I / O, ad esempio utilizzando il child_process.exec del nodo.
    • La programmazione guidata dagli eventi è solo per le app che necessitano di un'elevata concorrenza : il motivo qui è che la programmazione guidata dagli eventi è "più difficile" della programmazione tradizionale dell'app Web, quindi non vale la pena farlo a meno che tu non sia valida una buona ragione per. Personalmente non ritengo che questa sia la programmazione guidata dal caso-evento non è più difficile, ma è molto diverso. Ad un certo punto, una massa critica di programmatori avrà familiarità con l'approccio guidato dagli eventi e questa preoccupazione svanisce.
    • La programmazione guidata per eventi è un casino di callback annidati. Questo potrebbe essere vero quando lo impari per la prima volta, ma alla fine scoprirai come strutturare il tuo codice in modo leggibile.
    • Documentazione. La documentazione per il nodo e le sue librerie di 3a partito è terribile, solitamente composta da nient'altro che un README.md. Venendo dal mondo Python, dove siamo abituati a una documentazione eccellente, questo è un grande inconveniente. Questo sta lentamente migliorando (abbiamo bisogno di più documentazione come questo ).
      .

      Quando dovrei preferire le rotaie a node.js?

        .
      • Quando tu o la tua squadra preferisci solo Ruby su JavaScript.
      • Quando tu o la tua squadra non ha familiarità con il nodo e devi fare il lavoro.
      • Quando è necessario utilizzare la funzionalità che è in rotaie che il nodo non ha ancora.
      • quando è necessario distribuire sull'infrastruttura basata su rotaie esistente.
      • Quando devi convincere la gestione che dovresti usare Node.js, ma non vuoi essere quello a prendere la caduta se il progetto fallisce.
      .

      Perché tutto il nuovo server Web non è scritto con Eventmachine, Twisted o Node.js?

      Vedi sopra.

      .

      Famoso quadro come Django o rotaie diventano guidati per eventi o morire?

      Django e rotaie saranno a lungo. Ci sono molte app in quei framework, e non c'è motivo per riscriverli. E c'è un grande pool di talenti, che è spesso una considerazione quando si sviluppa una nuova app Web.

      (ma vedere

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top