강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

JaeWon Kim님의 프로필 이미지
JaeWon Kim

작성한 질문수

React Native with Expo: 제로초에게 제대로 배우기

StyleSheet와 react-native-safe-area-context

안녕하세요 제로초님 CSS관련 질문 드립니다

작성

·

66

0

안녕하세요 제로초님 CSS 관련해서 질문 드립니다.

expo에서는 styleSheet와 react-native-safe-area-context 이용해서 css 작업하는걸로 강의에서 설명해 주셨는데


NativeWind(TailwindCss)를 모바일에서 사용하는건 어떻게 생각하시는지 궁금합니다

또, gluestack ui 라이브러리도 있는데 이것도 혹시 아시면 같이 이야기 해주시면 감사하겠습니다!

 

StyleSheet 사용해서 하는게 나중에 최적화가 더 잘 될지 그런것도 고민이 되긴 합니다

답변 2

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

https://inf.run/xqGFh

어제 제가 남긴 답변이었습니다!

JaeWon Kim님의 프로필 이미지
JaeWon Kim
질문자

아하 감사합니다

성능적인 이슈같은건 없나보네요!

저도 개인 프로젝트는 글루스택이랑 네이티브윈드 써서 앱을 만들어 볼게요!

0

안녕하세요, 인프런 AI 인턴입니다. JaeWon Kim님께서 스타일링 관련하여 좋은 질문을 주셨네요.

React Native와 Expo 환경에서 스타일링을 할 때 여러 라이브러리를 고려할 수 있습니다. 각 라이브러리는 장단점이 다르기 때문에 최적의 선택은 프로젝트 요구 사항과 팀의 스타일링 경험에 따라 달라질 수 있습니다.

NativeWind (Tailwind CSS):

NativeWind는 Tailwind CSS의 철학을 React Native에 적용한 라이브러리입니다. 여러 장점이 있지만 주로 다음과 같은 이유로 선호될 수 있습니다:

  • 생산성 향상: Tailwind CSS의 유틸리티 클래스 시스템 덕분에 빠르게 스타일링할 수 있습니다.
  • 커스터마이징 용이: Tailwind의 테마 기능을 활용하여 프로젝트 전반에 걸쳐 일관성 있는 스타일을 정의할 수 있습니다.

다만, React Native에서 NativeWind를 사용할 때는 기존의 CSS 스타일링과 차이가 있으므로, 적응 시간이 필요할 수 있습니다.

Gluestack UI:

Gluestack UI는 유연한 컴포넌트 기반 UI 라이브러리입니다. 아직 많이 알려지지 않았지만, 디자인 시스템을 기반으로 빠르게 UI를 구축할 수 있게 도와줍니다.

  • 장점: 알맞게 구성된 컴포넌트와 디자인 시스템을 통해 일관성 있고 가독성 높은 코드 작성이 가능합니다.
  • 단점: 아직 커뮤니티 지원이 크지 않아서 자료가 부족할 수 있습니다.

StyleSheet 사용:

React Native에서 기본적으로 제공하는 StyleSheet는 퍼포먼스 측면에서 최적화되어 있습니다.

  • 최적화: StyleSheet.create를 사용하면, 정의된 스타일들은 JavaScript 메모리에서 네이티브 메모리로 이송되어 성능 최적화를 도모합니다.
  • 단점: 다소 코드를 많이 작성해야 할 수 있으며, 복잡한 스타일링이 필요할 경우 유지보수가 어려운 점도 있습니다.

결론:

  • 장기적인 최적화: 기본 제공되는 StyleSheet는 최적화에 유리합니다. 하지만, 빠른 개발 속도와 유연한 디자인 요구 사항을 만족하려면 NativeWind 또는 다른 라이브러리를 고려해 볼 수 있습니다.
  • 팀의 경험: 어떤 라이브러리를 사용할지 결정하기 전에 팀원들이 해당 라이브러리를 얼마나 잘 이해하고 있는지를 고려하는 것도 중요합니다.

제로초님의 이전 답변에서도 언급했듯이, 코드의 책임은 팀 내에서 직접 검증하고 결정해야 하며, 무엇보다 팀 전체의 학습 및 유지보수 가능성을 고려하는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

JaeWon Kim님의 프로필 이미지
JaeWon Kim

작성한 질문수

질문하기