Angular został stworzony w języku TypeScript, który to w sumie można uznać za rozszerzenie JavaScriptu – dodaje on typowanie statyczne i sporo udogodnień znanych z języków obiektowych. Moim zdaniem to był strzał w dziesiątkę, bo dzięki temu kod aplikacji Angular jest czytelniejszy, łatwiejszy w utrzymaniu i mniej podatny na takie typowe błędy, które się pojawiały w czystym JS. W praktyce, kiedy piszesz komponenty czy serwisy w Angularze, natychmiast korzystasz z silnych typów, interfejsów czy mechanizmów takich jak dekoratory. To nie tylko poprawia bezpieczeństwo kodu, ale też pomaga zespołom programistycznym lepiej się dogadywać i szybciej wdrażać nowe funkcjonalności. Przemysł poszedł tą drogą, bo TypeScript daje lepsze wsparcie narzędziowe, np. podpowiedzi w edytorach, refaktoryzację czy automatyczne wykrywanie błędów. Wbrew pozorom, nie jest trudno się przestawić z JS na TS – nawet dla osób, które programowały wcześniej tylko w czystym JavaScript. Poza tym, Angular to nie tylko framework do weba – aplikacje tworzone w TypeScript można kompilować na różne platformy, co jest już praktyką w dużych firmach. Takie podejście wpisuje się w obecne trendy w branży, gdzie typowanie i czytelność kodu to podstawa.
Często spotykam się z przekonaniem, że frameworki takie jak Angular powstają w starszych lub bardziej popularnych językach, np. PHP czy C#, bo te technologie są szeroko wykorzystywane w backendzie i znane wielu programistom. Jednak tu warto rozróżnić backend od frontend – Angular to framework stricte frontendowy, więc PHP, będący językiem głównie serwerowym, nie miałby tu zastosowania. PHP świetnie sprawdza się w budowie dynamicznych stron internetowych, ale nie jest używany do aplikacji uruchamianych bezpośrednio w przeglądarce. Z kolei C# to technologia Microsoftu, wykorzystywana przede wszystkim w aplikacjach desktopowych, grach lub serwerach opartych na .NET – praktycznie nie pojawia się w kontekście nowoczesnych aplikacji webowych uruchamianych po stronie klienta. Trochę osób kojarzy Angulara z językiem Postscript, ale to jest zupełnie inna bajka – Postscript służy do opisu grafiki wektorowej i drukowania, zupełnie nie nadaje się do budowania interaktywnych interfejsów użytkownika. Myślę, że taka pomyłka wynika z braku rozróżnienia, do czego służą poszczególne języki programowania i jaką mają rolę w ekosystemie webowym. W rzeczywistości Angular został napisany w TypeScript, który jest specjalnie zaprojektowany do większych, skalowalnych aplikacji frontendowych. W przypadku Angulara wybrano TypeScript świadomie, żeby można było lepiej zarządzać dużymi projektami, korzystać z silnego typowania i mieć nowoczesne narzędzia do programowania. Dlatego znajomość TypeScriptu to w zasadzie podstawa przy pracy z Angular, a wybór innego języka po prostu się tu nie sprawdza.