2016-01-03 15 views
7

Ho bisogno di creare un sito web che verrà convertito in un'applicazione mobile (Quello che voglio costruire è più adatto per essere un sito web che un'applicazione, quindi l'edificio stesso dovrebbe essere come un sito web).Quali sono le principali differenze tra AngularJS e ReactJS

Dal momento che ho più familiarità con il desktop e il mondo di sviluppo nativo Android, ho avuto pochissime conoscenze sullo sviluppo del lato client web. Dopo aver letto un po 'ho deciso di utilizzare queste tecnologie per il lato client: HTML5, CSS3, Bootstrap, React.js

Il problema è che ho letto che Angular è in realtà un framework MVC completo mentre React ne ha alcuni ruoli più specifici ed è come confrontare una macchina (angolare) con un motore (React). Ho già visto confronti su come fare alcune azioni con entrambe le tecnologie come Ciao mondo e gestione degli eventi e cose del genere, quindi non ho bisogno di sapere come cose specifiche come quello che mostrano in alcuni siti Web di confronto.

Quindi la mia domanda è qual è la differenza tra ciò che posso fare con Angular rispetto a React? Se uso React, ci saranno cose che non sarei in grado di fare? Quando dovrei usarne uno sull'altro? Se utilizzo React, sarò ancora in grado di creare un lato client pienamente operativo?

Vorrei sottolineare che non voglio un'opinione personale. Voglio solo i fatti riguardanti lo sviluppo del cliente e sapere cosa posso e non posso fare con loro.

+1

Un bel po 'di cose ... –

+0

Non ho bisogno di un confronto per ogni funzione. Solo in termini generali .. poiché Angular ha ancora il titolo "full framework" mentre React non lo fa –

+0

Che tipo di risposta ti aspetti? auto vs motore è il confronto tra mele e arance – charlietfl

risposta

3

AngularJS è una struttura completa come hai detto, progettata per scrivere applicazioni a pagina singola (SPA) utilizzando il design MVC. D'altra parte, ReactJS è considerato come lo sviluppo solo della vista, o in altre parole, componenti dell'interfaccia utente. A mio parere, Angular è piuttosto complesso da imparare mentre React è relativamente una piccola libreria, ma React è più veloce per il suo DOM virtuale (non manipola direttamente il DOM se non necessario). Anche reagire può essere usato con altre librerie per cose come il routing mentre già l'angolare ce l'ha. Penso che tu possa costruire lo stesso sito web usando entrambe le tecnologie, anche se React è per UI, può ancora avere logiche e grandi siti web costruiti con esso (Instagram e Facebook per esempio).

+1

La tua risposta mi fa pensare che potrei lavorare contemporaneamente con ReactJS e AngularJS. È possibile? Hai detto che React è per gli elementi dell'interfaccia utente mentre Angular è un framework completo. Non conosco assolutamente nulla di React, ma mi chiedo se potrei costruire direttive angolari usando reagire per creare componenti web migliori. –

+1

Quando si dice "React is for the View only", cosa sta gestendo il modello e il controller? –

+0

Sì, potresti combinarli, ma ti suggerisco di sceglierne uno perché è necessario fare qualche soluzione per combinare i due framework. Per quanto riguarda la parte relativa al modello e al controller, ho dimenticato di menzionare che la reazione è progettata per uno sviluppo del flusso. Significa che al posto dell'associazione a due vie hai sempre un flusso di dati dal dispatcher ai componenti figlio. Qualsiasi componente può registrarsi e attivare la funzione sugli eventi. React non ha bisogno di modelli e controller perché è un approccio diverso allo sviluppo di applicazioni SPA. –

2

Penso che la differenza principale tra Angular e React sia il fatto che Angular utilizza il binding di dati a 2 vie, mentre React sta utilizzando un modo. Forse questo articolo renderà le cose più chiare per te: https://www.airpair.com/angularjs/posts/angular-vs-react-the-tie-breaker
p.s. Non capisco davvero perché questa domanda sia downvoted ...

+0

ma ci sono ancora alcune cose dal momento che Angular è un framework completo mentre React non lo è. –

+2

Mentre Angular è molto bravo a gestire e aggiornare il DOM, può diventare lento. React è specializzato in aggiornamenti estremamente rapidi e frequenti di elementi che spesso sono molto pesanti in termini di dati. – n1kkou

+0

Ma forse Angular avrà alcune abilità che React non ha? (ancora, il titolo "full framework"). –

Problemi correlati