인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

윤승재님의 프로필 이미지

작성한 질문수

350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법

다작을 손쉽게 하기 위한 개발 방법론 (2) - Client

SDUI 클라이언트

해결된 질문

작성

·

90

·

수정됨

0

안녕하세요 프로그래밍좀비님!!

client쪽이 잘 이해가 안되는 부분이 있습니다!

 

일단 postman을 통해 데이터들을 다 세팅하는건 이해했습니다!

그런데 앱에 필요한 데이터들이 있고 그걸 앱에서 보여줘야하는데

페이지 이동, 이벤트발생시키는 인터렉션, 등등 경우의 수가 무수히 많을거라고 생각이 듭니다!!

 

sdui방식이라는게 오직 하나의 클라이언트 코드에 build시 앱 아이디만 바꿔끼우는 아이디어라고 생각이 됩니다!

궁금한것은,, 좀비님께서 시스템을 만드신게 api호출 => 앱 뚝딱 이게 맞는건지 헷갈립니다.

카테고리처럼 몇가지 앱의 뼈대를 정해두고 그에 맞는 범위 내에서만 사용가능하도록 뼈대를 만든건가요?!

ps. 그리고 진짜 엄청난 광기마저 느껴지는 강의였습니다.. 강의자료도 1800페이지... 감사감사합니다!! ^^7

 

답변 2

1

프로그래밍좀비님의 프로필 이미지
프로그래밍좀비
지식공유자

안녕하세요 승재님~ 좋은 질문 감사합니다 ㅎㅎ

SDUI 방식에 대해 말씀드리자면, 맞습니다. 큰 틀에서는 각 앱에 필요한 데이터를 DB에 세팅해두고, API를 통해 호출하면 그에 맞는 UI 구조와 콘텐츠를 제공받는 방식입니다.

말씀하신 것처럼 모든 이벤트나 인터랙션을 서버에서 처리하는 것은 가능하지만, 화면의 모든 요소를 그렇게 관리하면 데이터 세팅에 오히려 더 많은 시간이 소요될 수 있습니다. 제가 활용하는 방식은 큰 틀(뼈대)은 API로 받고, 앱 내에서는 특정 값에 따라 어떤 액션을 취할지 미리 정의해 두는 방식을 주로 사용합니다.

예를 들어 게시판 기능이 있다면

  • 게시판 자체는 서버에서 "게시판 메뉴를 추가해라"라는 데이터를 내려줍니다

  • 좋아요, 공유하기, 댓글쓰기 같은 기능들은 앱에 미리 구현해 둡니다

유동적인 UI를 위해서, 많은 데이터를 세팅해야하는 기능이 있다면 그리고 데이터 세팅에 너무 많은 에너지와 시간이 소요되는 부분들은 최대한 API 단에서 데이터를 넣기 쉽게 만드는 편입니다. SDUI로 편하게 앱을 만들려고 세팅했는데 데이터를 세팅하는데 너무 많은 시간이 들면 안되니까요 ㅎㅎ 정말 처음부터 끝까지 데이터 세팅이 필요하다고 해도 이런식으로 서버 API만 잘 만들어둔다면, 복잡한 SDUI도 손쉽게 처리할 수 있게 됩니다.

결국 "어디까지 SDUI로 관리할 것인가"는 활용하기 편한 수준까지라고 말씀드릴 수 있습니다. 데이터 세팅에만 과도한 시간을 쏟으면 나중에 재활용이 어려워질 수 있으니, 효율적인 중간점을 찾는 것이 중요합니다. 😄

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 윤승재님.

프로그램 개발 특히 SDUI와 관련된 부분에서 이해가 안되시는 점이 있는 것 같아 도와드리겠습니다. SDUI(System-Driven UI) 방식은 기본적으로 서버에서 UI 구성 요소를 받아와 클라이언트에서 해당 UI를 렌더링하는 방식입니다. 이는 다양한 앱을 보다 빠르고 유연하게 관리할 수 있게 해주는 장점이 있습니다.

주제 요약

  1. API 호출을 통한 UI 생성:

    • SDUI 방식은 클라이언트가 UI를 결정하는 것이 아니라, 서버가 클라이언트에게 필요한 UI 컴포넌트를 제공하고 이를 렌더링하는 구조입니다. 이를 통해 다양한 앱 또는 화면을 단일 코드베이스로 관리할 수 있습니다.
  2. 앱의 범위 및 뼈대 구조:

    • 프로그래밍좀비님이 만드신 시스템은 ‘앱 뚝딱’처럼 하나의 API 호출로 완성되는 형태일 수 있지만, 그 말은 최소한의 기본 구조 또는 ‘템플릿’이 있는 상태에서 이루어집니다.
    • 다양한 가능성, 즉 페이지 이동이나 이벤트 발생과 같은 요소는 이러한 템플릿이 각각의 범위 내에서 유연하게 대응할 수 있도록 설계됩니다.

아래의 링크에서는 유사한 방법론을 다룬 내용들이 포함되어 있습니다. 기존의 Q&A를 통해 보다 자세한 정보를 얻으실 수 있을 것입니다:

질문 내용이 다소 전문적인 영역이라 복잡한 부분이 있을 수 있습니다. 추가 질문이 있으시면 주저하지 마시고 질문해 주세요. 지식공유자께서 곧 답변해 주실 것입니다.

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