Angular vs react pentru o aplicatie web

backend
react
frontend
angular

(John Jhon) #1

salut,

consider sa dezvolt o aplicatie web (pentru referinta putem considera o simpla lista de taskuri, tip trello) care sa fie apoi livrata saas.
este necesar sa fie usor scalabila si sa aiba o interfata foarte usor de folosit (tip “edit-in-place” / facebook, trello, etc - sa nu fie necesare multe clickuri si ecrane pentru operare).
un plus se considera posibilitatea unui frontend adaptat pt mobil sau posibilitatea deploymentului intr-o aplicatie android / ios.

la o prima vedere as avea de ales intre angular si react pentru interfata, insa m-ar ajuta orice pareri pro / contra / conexe despre intreaga stiva necesara.

recomadari?

tks,


(cosmos) #2

Sau ce zici de Polymer :smiley:

https://www.polymer-project.org/
https://www.polymer-project.org/2.0/start/quick-tour

Eu m-am jucat cu el acum un an si ceva. Am facut si eu fel de TODO app. Din ce am inteles ideea este ca iti poti crea propriile componente

Ex: Poti sa creezi componenta task pe care o folosesti ca <task></task>

Cam asa arata ceea ce am facut. Mai este destul de lucrat la ea.

PS: Sa fie cu iertare pt cum arata !


(John Jhon) #3

polymer arata interesant, insa nu imi e clar cat de matur e si daca are o comunitate / documentatie suficiente pentru a fi alegerea portrivita pentru o aplicatie mare.


(Eugen) #4

Conteaza ce experienta ai, daca nu esti prea familiar cu concepte de reactive programming sau event based systems, mergi pe vue.js. Aici ai o lista mare de unde sa te inspiri.


(cosmos) #5

Este la versiunea 2.0
Youtube are front-end-ul facut cu el

Are in spate Google :smiley:


(John Jhon) #6

resursa umana sa spunem ca nu e relevanta pentru aceasta analiza
(pe de o parte exista experienta suficienta, pe de alta parte echipa se poate forma in functie de necesitate)


(Eugen) #7

Eu personal merg pe react.js. Complexitatea aplicatiei este data de state management si APIs, nu de framework-ul de UI. Ar fi util sa citesti un pic mai mult despre state management si vezi ce optiuni te prind mai bine.

In prezent cele mai “bune” optiuni sunt react.js si vue.js. Angular eu l-as ignora total, inafara de popularitate nu ofera nimic comparativ cu cele doua ecosisteme.


(John Jhon) #8

react e si preferata mea, insa nu cunosc suficient angular pentru a alege obiectiv.
pentru api / backend am o mare dilema momentan: sql sau nosql.
in functie de db o sa lamuresc si dilema urmatoare: node vs php (eventual cu un cms / framework ajutator tip drupal)


(István F.) #9

Angular 5 sau Vue e mai ușor în acest caz. Cu react o sa va chinuiți puțin fiindcă trebuie multe componente, va trebuie un store, cel mai simplu mergeti pe apollo client.

Dar react are cele mai multe componente deja făcute pe internet, e mai ușor pentru un începător, instrumentele pentru dezvoltare sunt mai bune. One way data binding e mai sigur.


(cosmos) #10

Cred ca este poti sa incepi cu modeul relational. Aplicatia fiind la inceput, nu va avea un nr foarte mare de useri.
Eu folosesc PostgreSQL la serviciu.

Depinde si pe stack mergi
Daca mergi pe JS probabil vei alege modelul nosql

Daca mergi pe php probabil vei continua cu sql


Sql vs nosql pentru o aplicatie saas
(mrapi) #11

(Alin Pandichi) #12

O comparatie extrem de detaliata intre React, Angular si Vue gasesti aici:
https://medium.com/unicorn-supplies/angular-vs-react-vs-vue-a-2017-comparison-c5c52d620176.

Recomandarea mea este React + Redux pentru ca te “forteaza” sa iti structurezi mai bine aplicatia. De asemenea, ofera o flexibilitate care poate fi extrem de utila pe termen lung. Am tinut doua prezentari despre cum poti scrie teste unitare pentru React/Redux si despre disciplina necesara scrierii codului in frontend. Poate te ajuta:
How to unit test your React/Redux app
The sorry state of frontend code

De asemenea, poti face un mic experiment pentru a decide care e cea mai buna alegere pentru tine: scrie mai intai o aplicatie extrem de simpla (un To-do list) folosind pe rand React, apoi Angular, etc. In acest fel, poti sa-ti dai seama care librarie/framework se potriveste mai bine. Apoi poti lua decizia de a scrie aplicatia mai complexa folosind libraria/framework-ul ales. Un astfel de experiment e foarte util pentru ca este dificil sa schimbi framework-ul dupa ce ai implementat o mare parte din aplicatie.


(István F.) #13

Redux e enervant daca n-ai o echipa si nu te ajuta neaparat in acest caz.