Dopo che Node.js è uscito, era l'unica cosa che rendeva popolare la programmazione degli eventi. Ma, Ruby ha EventMachine che supporta la scrittura di codice evento.Perché i binari non supportano completamente la scrittura di codice evento fuori dalla scatola
I requisiti per il supporto gestione degli eventi in apparati sono:
1. Server Evented (sottili, arcobaleni) che gestisce un reattore
2. Fibre (rubino 1.9.3) per rendere la scrittura codice evented facile, altrimenti ci potrebbe avere usato discussioni.
3. Tutte le gemme eventualizzate (esempio mysql2).
Nodejs ha mostrato gli evidenti vantaggi della programmazione evento. Quindi, perché la community dei rail NON sta adottando eventmachine? Penso che uno dei motivi per cui le rotaie non sono completamente portabili su eventmachine è dovuto alla dipendenza da gemme sottostanti che potrebbero non essere presenti. Ma qualcuno sa se c'è un piano per fare una mossa in quella direzione?
Rails può fare ciò che fa Nodejs, ma il Nodejs ha iniziato sostenendo la programmazione degli eventi su tutti i produttori di librerie, quindi per convenzione dipendono la maggior parte delle dipendenze che si aggiungono a package.json nel nodo, si sa che sarà eventualizzato e funzionerà con nodejs fuori dalla scatola.
Questo ci porterà tutti all'inferno del callback. – Ven
C'è un modo per evitare che http://rubylearning.com/blog/2010/10/01/an-introduction-to-eventmachine-and-how-to-avoid-callback-spaghetti/ –
Quando Ryan Dhal ha scelto JavaScript (su Ruby, per esempio) per nodejs aveva due cose in testa: (1) C'erano _no_ librerie IO per JavaScript, quindi potevano essere tutte costruite per essere asincrone da zero (2) Il linguaggio veniva usato in modo guidato da un evento iniziare con.Il problema di cui parli - cambiare il modo in cui Rails viene usato è praticamente la ragione più ragionevole per cui JavaScript è stato scelto su ruby per nodejs (il motore JavaScript V8 è _awesome_, ma era una considerazione molto meno importante). Penso che la risposta di Chris riassuma bene. –