inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

StyleSheet와 react-native-safe-area-context

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

98

JaeWon Kim

작성한 질문수 10

2

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

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


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

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

 

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

react react-native 하이브리드-앱 typescript expo nativewind gluestack

답변 2

0

제로초(조현영)

https://inf.run/xqGFh

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

0

JaeWon Kim

아하 감사합니다

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

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

0

인프런 AI 인턴

안녕하세요, 인프런 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 또는 다른 라이브러리를 고려해 볼 수 있습니다.
  • 팀의 경험: 어떤 라이브러리를 사용할지 결정하기 전에 팀원들이 해당 라이브러리를 얼마나 잘 이해하고 있는지를 고려하는 것도 중요합니다.

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

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

expo-blur 사용하면서 생긴 버그입니다.

0

113

3

router.navigate 동작이 달라졌을까요?

0

64

1

Toast 기능

0

76

2

onEndReached 함수가 바로 호출 되지 않는 이슈

1

63

1

expo push service에 관한 질문

0

79

2

ios에서 개발중이신 분들은

1

85

1

[질문아님] tabBarLabel 대신 tabBarShowLabel

1

58

1

Location.getCurrentPositionAsync({}); 에러

1

125

3

.

0

122

2

EAS preview 빌드 후 Device에서 카카오 로그인 브라우저가 안켜짐

0

120

2

폴더 구조 관련 질문

0

133

2

혹시 리액트네이티브 관련해서 좋은 참고서도 있을까요??

0

105

1

제로초님께서는 Nativewind는 사용안하지는지 궁금합니다.

1

272

2

.

0

89

2

eas build:configure 안되는데, "git"이 반드시 설치되어 있어야 하나요?

0

81

2

.

0

104

2

혹시 해당 강의 보면서 테스트용으로 사용할 맥북을 구매할 예정인데 어느정도 스펙 이상으로 사야 할지 의견 받아볼수있을까요?

0

73

2

.

0

114

1

.

0

120

2

기기에서는 네트워크 에러가 납니다.

0

101

2

빌드 문의드립니다.

0

73

1

.

0

126

2

.

0

83

2

Expo-blur unimplement 오류

0

106

3