인프런 강의 <누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌> by velopert

  • Javascript : 동적 화면 구성이 가능하도록 함
  • 요즘의 웹은 단순히 웹 페이지가 아닌, 웹 애플리케이션 : 브라우저 상으로도 정말 자연스러운 흐름으로 많은 것을 할 수 있다.
    • 그런데 어떠한 유저 인터페이스를 동적으로 나타내기 위해서는 정말 수많은 상태들을 관리해 주어야 한다.
    • 특정 버튼을 눌러서 숫자 0값을 바꿔주려면 각 돔 엘리먼트에 대한 레퍼런스를 찾고, 해당 돔에 접근하여 원하는 작업을 해야 한다.
    • 우리의 프로젝트가 사용자와의 인터렉션이 별로 없다면 프론트엔드 라이브러리는 필요하지 않다! 직접 구현해도 ok
    • but 프로젝트의 규모가 커지고 다양한 유저 인터페이스와 인터렉션을 제공해야 한다면, 많은 돔 엘리먼트들을 직접 관리하고, 코드도 직접 정리해야 한다면, 갈수록 힘들다.
    • 물론 제대로 된 컨벤션을 가지고 여러 규칙들을 세워서 진행한다면 불가능하지는 않지만 귀찮은 것은 사실.
  • 웹 개발을 하게 될 때 귀찮은 돔 관리와 상태값 업데이트 관리를 최소한으로 하고 오직 기능 개발, 그리고 사용자 인터페이스 구현에 집중할 수 있도록 정말 많은 라이브러리들, 혹은 프레임워크들이 만들어졌다.
    • —> 개발을 하게 될 때의 생산성과 직결. + 유지보수성.
  • Angular, Ember, Backbone, Vue, React
  • 가장 잘하는 게 가장 좋은 것.
  • 장인은 도구를 탓하지 않는다.
  • 훌륭한 개발자라면 뭘 선택하든지 훌륭한 프로젝트 완수가 가능.
  • Angular: 다양한 기능들을 내장. http 클라이언트, 라우터 등…
    • 만들어진 지 꽤 됐고, 기업에서도 꽤 사용해서 지금은 유지보수 하는 곳이 많아서 사용량이 높음.
    • Angular는 결국, 프레임워크 차원에서는 매우 성숙하긴 하지만 new Angular의 경우, 인지도 측면에서는 성장하는 단계. 메인으로 사용하지 않는 개발자들이 많음. 하지만 Angular가 훌륭한 프레임워크인 것은 확실. Angular가 처음 나왔을 때는 혁신 그 자체.
    • Typescript 사용이 기본. 사용하지 않고 싶으면 안 써도 되기는 하지만 거의 하나.
  • React: 컴포넌트라는 개념에 집중하는 라이브러리!
    • 컴포넌트: 데이터를 넣으면 우리가 지정한 인터페이스로 조립해서 보여준다.
    • 페이스북 개발자들이 라이브러리의 성능과 경험을 개선하기 위해 연구 중
    • Angular와 달리 사용자에게 전달되는 View만 신경쓰고 나머지 기능들은 서드파티 라이브러리만 사용함. <- 리액트 개발자들이 섞여서 개발하기도 함 : Redux
    • 다만 공식 관련 라이브러리..이런 개념이 없다. 한가지 문제를 해결하기 위해 여러 방법 존재. 생태계가 넓고 뜨겁다.
    • 리액트를 사용하는 유명한 기업도 많다.
  • Vue: 입문자가 사용하기에 쉽고, 웹팩 같은 모듈 번들러가 없어도, 그냥 CDN으로 불러와서 사용하는 형태로도 자주 이용된다.
    • html을 템플릿처럼 그대로 사용할 수도 있어서, markup 디자이너나 퍼블리셔가 있는 경우 작업 흐름이 매우 매끄럽다.
    • 공식 라우터와 공식 상태관리 라이브러리가 존재.
    • JSX.. Vue에서도 사용할 수 있다고 함.
    • 리액트에서 좋은 것들 + 앵귤러에서 좋은 것들을 짬뽕해 놓음.
  • 가장 훌륭한 도구 X 가장 좋아하는 도구 O
  • 각 라이브러리, 프레임워크들을 기초 수준이라고 하더라도 사용해보기를 권장. 철학과 관점 등이 모두 다른다.

Comments