Page 27 -
P. 27

1
                             JavaScriptCore
                      JavaScriptCore에 대해서 더 자세히 알고 싶다면 다음 링크를 참조하세요.
                        ● https://developer.apple.com/reference/javascriptcore                        리액트 네이티브 첫걸음



                    리액트 네이티브에는 특별한 컴포넌트들이 내장되어 있는데, 이 컴포넌트들은 네이티브 환경에서
                    사용되는 컴포넌트들과 연동되어 있습니다. 예를 들면 리액트 네이티브에 내장된 Text라는 컴포
                    넌트를 사용하면 iOS 환경에서는 UIView에 텍스트 값을 설정해서 보여주고, 안드로이드 환경에
                    서는 TextView를 화면에 보여줍니다.

                    프런트엔드 개발을 많이 해보지 않았다면 컴포넌트라는 개념이 익숙하지 않을 수도 있습니다. 컴
                    포넌트는 재사용 가능한 유저 인터페이스 블록이라고 이해하면 됩니다.

                    리액트 네이티브에는 Text 컴포넌트 말고도 Button, View, TextInput, FlatList 등 수많은 컴포

                    넌트가 내장되어 있습니다. 컴포넌트를 사용할 때는 자바스크립트 형식의 파일에 페이스북에서
                    만든 JSX라는 문법을 사용해 코드를 작성합니다. JSX로 코드를 작성하면 리액트 네이티브로 만든
                    앱 안에 내장된 스레드에서 이를 인식해 어떤 네이티브 컴포넌트를 보여줘야 할지 연산한 다음,
                    우리가 원하는 UI를 화면에 보여줍니다.

                    또한, 리액트 네이티브는 네이티브 플랫폼의 API들을 자바스크립트로 호출할 수 있게 해줍니다.
                    이를테면 알림, 날짜 선택, 클립보드, 키보드 제어, 진동과 같은 작업들을 자바스크립트로 구현할

                    수 있습니다. 하지만 네이티브 플랫폼의 모든 API를 바로 사용할 수 있는 것은 아닙니다. 리액트
                    네이티브로 호출할 수 있는 API는 리액트 네이티브 라이브러리 안에 API 래퍼(Wrapper)가 내장되
                    어 있지만, 동영상 재생, 카메라 촬영, 파일 선택 등의 기능은 자체적으로 탑재되어 있지 않습니
                    다. 대신 리액트 네이티브는 네이티브 플랫폼의 코드(자바, 코틀린, Objective-C, 스위프트)로
                    작성한 기능을 자바스크립트로 연동해 호출할 수 있게 해주는 도구들을 제공합니다.

                    앞으로 리액트 네이티브로 앱을 만들 때, 리액트 네이티브에 자체적으로 탑재되지 않은 기능을 사

                    용해야 할 때도 있을 것입니다. 이 경우 대부분은 서드 파티 라이브러리를 설치해 원하는 기능을
                    구현할 수 있습니다. 리액트 네이티브의 생태계는 꽤나 성숙한 편이고, 정말 많은 라이브러리가
                    오픈 소스로 공개되어 있기 때문에 상황에 따라서는 네이티브 코드를 전혀 작성하지 않고 자바스
                    크립트만 사용해 원하는 앱을 완성할 수도 있습니다.

                    하지만 복잡한 애플리케이션을 만들다 보면 필요한 라이브러리가 존재하지 않거나, 관련 라이브
                    러리가 있어도 여러분의 요구사항에 충족되지 않는 경우가 발생하기도 합니다. 따라서 앱을 개발

                    하는 과정에서 특정 기능을 구현하기 위해 자바( Java), Objective-C 등의 언어를 사용해야 하는
                    상황이 올 수도 있음을 꼭 염두에 두기 바랍니다.
                                                                                                  035
   22   23   24   25   26   27   28   29   30   31   32