Тотална замяна на сървърни езици с JS и Angular?
Здравейте, колеги! Колкото повече уча JS, толкова повече ми допада /странно за мен/, особено с Angular framework! Изниква обаче въпроса, това SPA тотално ли заменя сървърни езици като РНР например, където сигурността е много добра, самия код е скрит, а както знаем, кода на JS се вижда и примерно всеки отворил сайта ни, вижда примерно на Parse.com ключовете за достъп до Rest и Apllication key. Не знам доколко това е пробив в сигурността, затова поставям въпроса: не са ли JS приложенията и SPA доста доста по-уязвими, отколкото стандартен "премигващ" сайт и не е ли той за предпочитане с оглед сигурността за сметка на бързината? Малко ми е странно логване на потребител без презареждане и малко ми се губи нотката на security в цялото приложение. Реално всеки потребител може да ни види логиката и да търси, съответно намери доста по-бързо и лесно пробив в приложението. Все едно е администратор на сървъра, където се хоства приложението....
Супер-яко обяснение! Тоест искаш да кажеш, че контролера не се вижда, а само html-a, който проверява какво за хвърли на екрана? Това все още ми е тъмно и се надявам съвсем скоро да си го изясня, иначе за РНР и Ларавел това съм го ползвал и е както казваш, но тук ми е твърде различно и остава впечатление, че е доста несигурно, щото нали JS и клиентска технология и кода му е видим по принцип. Благодаря, ще поразровя да видя кое се вижда в заредената страница и кое не...
Това, което ти се губи в цялата картинка е, че нямаш само клиентска логика. Задължително имаш някакъв бекенд, който е писан на сървърен език като C#, PHP, NodeJS, Ruby, etc..
Не се губи сигурността. Както RoYaL каза, ти отново се свързваш към сръвъра за да индифицираш клиента. Това което примерно Angular прави е да прашта заявки за малки части (като темплейти, json или някъкъв вид данни) към сървъра. Сървара (който не е видим за клиента) проверява клиента, и връща данните ако клиента има достъп до тях.
Client-side routing-а (за пример този който Angular предосравя) ти показва смяна на URL-а в адрес бара, но това го прави самият Angular и не е зависимо от сървъра.
NodeJS отново използва Javascript, но тои е сръвърна технология, и Javascript-a в него не е видим за клиента.