Qual è lo stile di versione del progetto?Come funzionano i numeri di versione di node.js e come posso garantire la compatibilità?
risposta
Si dovrebbero utilizzare solo le versioni con numero pari: x.[even].z
. Questi sono tutti "stabili" e verranno rilasciati bug fix (fino alla prossima versione minore). Solo l'ultima versione x.[even].z
è supportata in qualsiasi momento.
Per compatibilità, è sufficiente consultare la documentazione. Ad esempio, per gli eventi: http://nodejs.org/api/events.html
Stabilità: 4 - API congelata
Ciò significa che si può essere certi che la classe EventEmitter non cambierà mai.
Poi c'è roba come domains dove nessuno è sicuro di quello che stanno facendo, e probabilmente non dovrebbe essere utilizzando:
Stabilità: 1 - Sperimentale
Il tuo migliore migliore è sufficiente attenersi alle funzionalità Stability >= 3
e non preoccuparsi della compatibilità tra le versioni.
Inoltre, non sembra esserci un ciclo di rilascio rigoroso.
Node ha un sistema di controllo delle versioni a due tracce. Le versioni con numero pari (0,4, 0,6, 0,8) sono stabili e le versioni con numero dispari sono instabili. Le versioni stabili sono API-stable, il che significa che se si utilizza 0.8.1 e 0.8.2, si dovrebbe essere in grado di eseguire l'aggiornamento senza problemi.
Sul flusso 0.9.x, qualsiasi aggiornamento può modificare l'API, in particolare in parti del sistema in fase di sviluppo attivo. Quando la versione dispari raggiunge un certo livello di stabilità e maturità, diventa la prossima versione uniforme.
Grazie Mark ... e qual è lo schema di supporto per le versioni pari? e il suo ciclo di rilascio? Voglio dire, hanno un processo di rilascio a tempo o cosa? –
Non esiste un ciclo di rilascio a tempo. Il manutentore principale di Node.JS è un ragazzo di nome Isaac Schleuter ed è stato molto pubblicizzato sui suoi obiettivi e obiettivi con il nodo. È anche aperto a molti input da parte della community, quindi eseguono NodeConf e Node Summer Camp e alcuni altri eventi per raccogliere input.
Se avete tempo di scavare nella comunità, date un'occhiata allo NodeUp podcast e ad alcuni colloqui di Isaac per avere un'idea della direzione in cui stanno andando e delle API.
Chiedi la versione 1.0. Per quanto ricordo, Isaac ha un paio di cose specifiche che vuole stabilizzare prima di passare alla versione 1.0. In particolare, ricordo Streams and Buffers che sono diventati davvero la chiave per la crescita del nodo. (dichiarato, questo solo dalla memoria)
- 1. Come posso confrontare i numeri di versione arbitrari?
- 2. Come posso verificare la compatibilità con OpenCL?
- 3. Come funzionano i cookie e la sessione?
- 4. Come funzionano i simboli?
- 5. La crittografia RSA Java e la decodifica Node.js non funzionano
- 6. come posso controllare la versione di cocoapods?
- 7. Come garantire l'aggiunta di javascript anziché la concatenazione di stringhe (Non sempre l'aggiunta di numeri interi)
- 8. numeri di versione msi
- 9. Specificare i numeri di versione in Bower
- 10. Come posso controllare la versione di Bazel?
- 11. Come posso garantire la coerenza degli aggregati con alta disponibilità?
- 12. Come posso garantire che tutto il mio team abbia esattamente la stessa versione del runtime .Net?
- 13. Verifica compatibilità versione PHP
- 14. Confrontando due numeri di versione
- 15. Verificare la compatibilità della versione java
- 16. Qual è la differenza tra la versione LTS e la versione stabile di node.js?
- 17. Come posso verificare la compatibilità all'indietro dell'API tra .net assembly
- 18. Come funzionano i pool di memoria?
- 19. Coroutine in python tra 3.4 e 3.5, Come posso mantenere la compatibilità di backwords?
- 20. Come funzionano i telecomandi git?
- 21. Come funzionano i gperftools?
- 22. RegEx: come posso abbinare tutti i numeri maggiori di 49?
- 23. Come posso calcolare la mediana e la deviazione standard di un flusso di numeri in Perl?
- 24. Come funzionano i puntatori ai puntatori e l'operatore di indirizzo?
- 25. Come funzionano i greenlet?
- 26. Come posso recuperare i numeri di riga in Dreamweaver CS4?
- 27. Cosa significano i numeri di versione di Erlang?
- 28. Come funzionano i modelli di applicazione?
- 29. Come posso cambiare la versione di Scala utilizzata da Play, SBT e i suoi plugin?
- 30. Come funzionano i "passaggi" di Cron?
Quindi, praticamente ogni volta che esce una nuova major release il mio software basato sulla precedente major release non è supportato e sono costretto a migrare? –
Per la maggior parte delle cose l'API rimarrà la stessa come http. Se utilizzi framework come Express e Connect, gestiranno alcune modifiche API per te. Basta non usare funzionalità sperimentali. Non c'è nessuno che ti costringa ad aggiornare; puoi saltare ogni altro rilascio anche se desideri. –
Hai detto "C'è anche nessuno che ti obbliga ad aggiornare", ma è folle eseguire un'applicazione di livello enterprise basata su una tecnologia che non è supportata, quindi, penso che se ho usato node.js, sono praticamente obbligato a aggiorna ogni volta che rilascia una nuova versione stabile, non credi? Grazie ancora per la tua risposta, Jonathan. –