1) Пользуются популярностью, нет смысла изобретать гнилые колеса.
2) Что в твоем понятии базис? Сам по себе JS это ад, без строгой типизации лучше уж делать сайты на юкозе. Учи TypeScript, будет счастье.
3) Какая вообще разница на чем бэкэнд? ASP.NET MVC, Django, Spring, фронтенд разработчика это не должно волновать, разберись в базовых понятиях для начала. Angular 2(4) в близжайшие годы будет востребован.