Rush SDK
SDK 에 포함여부를 결정할 때 고려해야할 것들
- 프로젝트별로 너무 달라질 것 같거나 그 범위를 예상하지 못하겠는 경우에는 포함하지 않는다. theme
- 서드파티간 연결성이 있고 공통으로 쓰면 좋을것 같은 기능은 포함한다. client, logging
- 각 앱마다 만들기 까다로운 것들을 포함한다. accordian, webview, tosspayments
- 각 앱마다 구현 방법이 다르면 적응하기 어려울만한 것들을 포함한다. text
- 충분히 단독으로 있을만한 이유가 있으면 굳이 포함하지 않는다. user
- 주요 유틸은 포함한다. list, map
- pub.get에 있는 라이브러리 커스텀
- 정식으로 flutter를 지원하지 않는 서드파티에 대한 interface 또는 구현한 클래스 payple
- 이미지 및 아이콘 에셋은 포함하지 않으나, 유틸 및 generator 클래스는 포함한다. icon generator
SDK를 구현하는 원칙
- 네이밍 : 위젯 앞에 RT를 붙인다 (RTImage)
- 익스포트 : 크기가 큰 위젯이나 유틸은 SDK를 사용하는 앱에서 따로 Import 해서 사용할 수 있다.
프로젝트 구조
widget
Flutter에 의존성을 가지는 위젯이나 클래스
util
widget에 포함되지 않은 나머지
candidate
- 정식 릴리즈로 올리기 전 단계 (candidate)
- 의존성 작업이 끝나지 않은 것들
idea
- 아직 정제되지 않은 SDK 아이디어들
- SDK에 포함하면 좋을 것 같은 것들
TODO
- Permission
- Paging
- BFF 컴포넌트
Usage
Webview readme.md
Libraries
- candidate/divider
- candidate/list
- idea/daum/data_model
- idea/graphql_helper
- idea/parser
- idea/payple/payple
- rush_sdk
- util/client/client
- util/client/error
- util/client/intercepter
- util/client/intercepters
- util/client/options
- util/client/response
- util/color
- util/date
- util/image
- util/list
- util/logger
- util/number
- util/property_string
- util/string
- util/timelapse
- util/version
- widget/accordion
- widget/dot
- widget/image
- widget/lifecycle
- widget/list
- widget/loading
- widget/skeleton
- widget/test
- widget/unfocus
- widget/webview/webview
- widget/webview/webview_channel
- widget/webview/webview_channel_event
- widget/webview/webview_channel_receive_strategy