My first entry into the SPA world was Aurelia about 10 months ago. So my experience is colored from having to learn a whole bunch of new things - gulp, SystemJS/JSPM, npm, the "terminology" of SPAs, fighting Typescript declaration file issues, incomplete libraries like Validation, etc..
The Aurelia community on Gitter is outstanding. Just really helpful and friendly. I would have been in big trouble without them.
I had actually done research on React, Angular 2 (still in Alpha), and Aurelia before I started the SPA. React seemed to weird and foreign to me a the time, and not enough of the community seemed to want to do React in Typescript which I had settled on as my front-end language. Probably the only reason I chose Aurelia over Angular 2 at the time was because it was painful to do dynamic, data-driven, components with Angular 2 at the time.
Aurelia is probably the best of breed in the Model-ViewModel world. It's post 1.0 now. That said, I've just finished my second app in React, and my third app is going to be in React too. I just find composing UIs in React to be much more natural because you're using JavaScript instead of stringy expressions in attributes to say generate list items.
The Aurelia community on Gitter is outstanding. Just really helpful and friendly. I would have been in big trouble without them.
I had actually done research on React, Angular 2 (still in Alpha), and Aurelia before I started the SPA. React seemed to weird and foreign to me a the time, and not enough of the community seemed to want to do React in Typescript which I had settled on as my front-end language. Probably the only reason I chose Aurelia over Angular 2 at the time was because it was painful to do dynamic, data-driven, components with Angular 2 at the time.
Aurelia is probably the best of breed in the Model-ViewModel world. It's post 1.0 now. That said, I've just finished my second app in React, and my third app is going to be in React too. I just find composing UIs in React to be much more natural because you're using JavaScript instead of stringy expressions in attributes to say generate list items.