웹 애플리케이션 내에서 애니메이션을 통합하는 것은 필수적인 요소가 되었지만, 동시에 적절한 실행을 위해 세부 사항에 세심한 주의를 기울여야 하는 까다로운 요소로 자리 잡았습니다.

프레임러 모션은 널리 사용되는 자바스크립트 프레임워크인 React를 위해 특별히 설계된 애플리케이션 프로그래밍 인터페이스(API)로, 웹 애플리케이션 또는 소프트웨어 프로그램 내의 컴포넌트에 애니메이션을 추가하는 프로세스를 간소화해 줍니다.

프레임러 모션 작동 방식

프레임러 모션에서 모션 컴포넌트를 활용하려면 요소 사용을 통해 애니메이션 기능을 통합해야 합니다. 모든 HTML/SVG 요소에는 제스처 및 애니메이션 조작을 위한 속성을 갖춘 해당 모션 컴포넌트가 있습니다. 표준 HTML 분할은 다음과 같습니다:

 <div> </div>

프레임러 모션에 해당하는 부분을 시각적으로 표현하면 다음과 같습니다:

 <motion.div> </motion.div>

모션 컴포넌트를 활용하면 애니메이션 엔티티가 프로퍼티의 변동에 따라 애니메이션을 시작할 수 있습니다. 복잡한 애니메이션을 실행하려면 전용 레퍼런스와 함께 “useAnimate” 훅을 사용하는 것이 좋습니다.

프레임러 모션의 애니메이션

프로젝트에서 프레임러 모션을 활용하려면 시스템에 Node.js 런타임 환경과 Yarn 패키지 관리자가 설치되어 있어야 하며, React의 정의와 응용에 대한 이해가 있어야 합니다.

이 프로젝트의 소스 코드는 GitHub 리포지토리에서 확인 및 다운로드할 수 있습니다. 스타터 파일 브랜치를 시작 템플릿으로 사용하여 이 튜토리얼을 따라하거나 전체 데모를 보려면 최종 파일 브랜치를 사용하세요. 이 라이브 데모 를 통해서도 프로젝트가 실제로 작동하는 모습을 확인할 수 있습니다.

터미널을 열고 다음 코드 줄을 입력하여 명령을 실행합니다:

 git clone [email protected]:makeuseofcode/framer-motion-app.git
cd framer-motion-app
yarn
yarn dev

웹 브라우저를 통해 포트 5173에서 실행되는 로컬 웹 애플리케이션의 URI로 이동하면 다음과 같은 콘텐츠가 표시됩니다.

롤오버 시 확장되고 지정된 영역을 벗어나면 축소되는 버튼과 같은 애니메이션 시각 효과를 만드는 과정을 “스케치 기반 디자인”이라고 합니다. 크기 및 위치와 같은 디자인의 기본 원칙을 활용하면 Adobe After Effects에서 이러한 유형의 애니메이션을 쉽게 구현할 수 있습니다.

선호하는 코드 편집기를 사용하여 “src/App.jsx” 파일을 엽니다. 이 파일에서 React 조각을 렌더링하는 함수형 컴포넌트를 찾을 수 있습니다. 이 작업을 수행하려면 “Button” 컴포넌트를 임포트하고 렌더링 인자로 텍스트 프로퍼티를 전달해야 합니다.

 <section>
    <h4>Animated Button</h4>
    <div>Move your mouse over the button to see the effect</div>
    <Button text="Hover Me"/>
</section>

React 컴포넌트에서 Framer Motion을 사용해 애니메이션을 구현하려면 먼저 `framer-motion` 라이브러리에서 필요한 유틸리티 함수를 코드에 임포트해야 합니다. 이 경우 부모 컨테이너 내에서 애니메이션이 가능한 요소를 생성하는 데 사용되는 `motion.div` 함수를 가져와야 합니다. 이 작업은 `Button.jsx` 파일 상단에 다음 줄을 추가하여 수행할 수 있습니다: “`python import { motion } from “framer-motion”; “` 이렇게 하면 버튼 애니메이션에 특별히 관심이 있는 `motion` 모듈을 포함한 모든 하위 모듈뿐만 아니라 전체 `framer-motion` 라이브러리를 가져옵니다.

 import { motion } from "framer-motion"

표준

By 최은지

윈도우(Windows)와 웹 서비스에 대한 전문 지식을 갖춘 노련한 UX 디자이너인 최은지님은 효율적이고 매력적인 디지털 경험을 개발하는 데 탁월한 능력을 발휘합니다. 사용자의 입장에서 생각하며 누구나 쉽게 접근하고 즐길 수 있는 콘텐츠를 개발하는 데 주력하고 있습니다. 사용자 경험을 향상시키기 위해 연구를 거듭하는 은지님은 All Things N 팀의 핵심 구성원으로 활약하고 있습니다.