OSS의 ABC

A는 프론트엔드를 영원히 바꾼 프레임워크를 위한 것입니다.

A는 AngularJS 위한 것입니다.

오픈 소스 소프트웨어의 역사와 영향력을 한 글자씩 분석해보는 The ABCs of OSS의 첫 번째 에피소드에 오신 것을 환영합니다. 저는 호스트인 Taylor이며, 오늘은 알파벳 A부터 시작하겠습니다. AngularJS.

AngularJS 중요한 이유

일부 기술은 소프트웨어 구축 방식에 영구적인 흔적을 남기며, AngularJS 그 중 하나입니다. 2010년에 Google에서 출시한 AngularJS 개발자가 프론트엔드 웹 개발에 접근하는 방식을 완전히 바꿔놓았습니다.

AngularJS 이전에는 동적 웹 애플리케이션을 구축하는 것이 매우 힘들었습니다. 개발자는 수동 DOM 조작과 지속적인 상태 관리 문제로 골머리를 앓았습니다. AngularJS 다음과 같은 혁신으로 이러한 문제를 해결했습니다:

  • 양방향 데이터 바인딩 - 지속적인 수동 DOM 업데이트가 필요하지 않습니다.
  • 종속성 주입 - 테스트 및 모듈식 코드가 훨씬 쉬워집니다.
  • 지시문 - 재사용 가능한 컴포넌트를 구축하는 방법으로, 아직 주류 아이디어가 되기 전이었습니다.

이러한 기능들은 AngularJS 혁신적으로 만들었으며, 그 영향력은 오늘날의 ReactVue와 같은 프론트엔드 프레임워크에서도 여전히 볼 수 있습니다.

수명 종료 및 보안 위험

하지만 모든 소프트웨어와 마찬가지로 AngularJS 수명 주기가 있습니다. Google은 2018년에 AngularJS 결국 폐기될 것이라고 발표했고, 2021년 12월에 공식적으로 서비스 종료(EOL)를 맞이했습니다.

여기에 문제가 있습니다: Angular 단순히 AngularJS 업그레이드한 것이 아닙니다. 애플리케이션을 처음부터 다시 생각해야 하는 완전한 전환으로 TypeScript, RxJS 및 컴포넌트 기반 아키텍처를 중심으로 완전히 재작성되었습니다.

그렇다면 현재 AngularJS 계속 실행하면 어떻게 될까요?

  • 애플리케이션이 여전히 '작동'하지만...
  • 현재 지원되지 않고 패치되지 않은 소프트웨어에서 실행되고 있습니다.
  • 새로 발견된 CVE 취약점은 공식 패치가 제공되지 않습니다.

즉, 프로덕션 환경의 AngularJS 앱은 사실상 보안 책임이 있습니다. AngularJS 사용하는 조직은 운영 환경에서 패치되지 않은 소프트웨어를 실행하여 사용자와 시스템을 위험에 빠뜨리고 있습니다.

마이그레이션 과제

마이그레이션 경로는 간단하지 않습니다. AngularJS 최신 프레임워크로 마이그레이션하는 팀은 여러 가지 문제에 직면하게 됩니다:

  • 아키텍처 개편 - 완전히 새로운 패러다임과 빌드 도구.
  • 테스트 재작성 - 이전 가정이 더 이상 적용되지 않기 때문입니다.
  • 상당한 기술 부채 - 특히 앱에 수년간의 레거시 기능이 있는 경우 더욱 그렇습니다.

"주말 프로젝트"가 아닙니다. 계획, 리소스, 경우에 따라 외부 지원이 필요한 장기적인 현대화 노력입니다.

AngularJS 지속적인 영향력

AngularJS 더 이상 지원되지 않지만, 그 흔적은 곳곳에 남아 있습니다:

  • 종속성 주입은 프론트엔드 개발의 필수 요소가 되었습니다.
  • 컴포넌트 기반 아키텍처는 리액트, 뷰, Angular현대적인 형태를 위한 발판을 마련했습니다.
  • 데이터 바인딩 패턴은 UI 상태를 관리하는 방식에 계속 영향을 미칩니다.

다시 말해, AngularJS 사용해 본 적이 없더라도 이 플랫폼이 개척한 패턴을 사용하고 있을 가능성이 높습니다.

마무리 생각

AngularJS 획기적이었지만 이제는 레거시 소프트웨어가 되었습니다. 지원 없이 프로덕션 환경에서 실행하는 것은 실제 보안 위험을 감수하는 것을 의미합니다. 마이그레이션도 어렵지만 EOL 소프트웨어를 무시하는 것은 더 위험합니다.

여기까지 OSS의 ABC 첫 번째 에피소드입니다. 다음 시간에는 그래픽 디자인 학위 없이도 개발자에게 디자인 능력을 부여한 프레임워크인 부트스트랩용 B에 대해 자세히 알아보겠습니다.

그때까지 코드를 깔끔하게 유지하고, 종속성을 업데이트하고, 레거시 소프트웨어를 지원하세요.

AI로 요약하기
호스트
테일러 코벳
지원되지 않는 프레임워크에서 프로덕션 애플리케이션을 실행하면 보안에 큰 문제가 발생할 수 있습니다.