리액트 특징

React강점?

지속가능한 인터랙티브(consistently interactive), 즉 time slice(concurent)

프레임워크 비교에서 리액트가 후순위로 밀려나는 이유는 consistently interactive가 성능에서 제외되었기 때문이다.(링크참고)

react legacy

react concurrent



AOT(A Head Of Time) vs JIT(Just In Time)

  • AOT
    • 소스코드를 미리 컴파일
    • 정적이다
    • svelte
  • JIT
    • 런타임 환경에 필요한 부분만 컴파일
    • 유연하다
    • react(jsx, react render fn은 완전 동적이여서 최적화가 어려움.)

Algebraic Effect(OCaml)

  • functional programing중 개념.
  • 부작용(effect)을 함수 내부에서 분리
  • React 개발시 useState 같은 경우 내부적으로 어떻게 처리하는지 신경쓰지 않아도 되고 어떤 데이터를 반환하는지 만 알고 코드 작성하면 된다.
const getTotal = () => {
  const a = getPrice1(); // effect
  const b = getPrice2(); // effect
  return a + b;
};
// getTotal실행시 바로 결과 가져오게 처리.

const Total = () => {
  const a = usePrice(1); // async
  const b = usePrice(2); // async
  return <div>{a + b}</div>;
};
// <Total />

참고