Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring 계획 #7

Open
wjdtkdgns777 opened this issue Nov 24, 2023 · 0 comments
Open

Refactoring 계획 #7

wjdtkdgns777 opened this issue Nov 24, 2023 · 0 comments

Comments

@wjdtkdgns777
Copy link
Member

<확정>

  1. AI레포지토리부분을 Corutine을 이용해 리팩토링
  2. 제트팩 컴포즈를 이용해 선언형 UI로 뷰 부분을 더 명확히 작성
  3. Volley에서 Retrofit로 변경
  4. 클린 아키텍쳐로 변경
  5. DI - Dagger Hilt

<보류>

  1. Kotlin Flow - 코틀린 코루틴을 사용한 비동기 데이터 스트림 처리를 위한 도구
    LiveData보다 더 유연하고 강력한 데이터 스트림 처리 기능을 제공
    시간에 따른 데이터 변화나 다양한 비동기 작업을 관리하기에 적합
    https://youngdroidstudy.tistory.com/entry/Kotlin-%EC%BD%94%ED%8B%80%EB%A6%B0%EC%9D%98-Flow

  2. Jetpack Paging3 - Paging3은 대량의 데이터를 효과적으로 로드하고 표시하는 데 도움을 주는 라이브러리
    데이터를 페이지 단위로 로드하여 메모리 사용량을 최적화하고, 사용자에게 끊김 없는 스크롤 경험을 제공

https://genius-dev.tistory.com/entry/Android-Jetpack-Paging-3-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
https://leveloper.tistory.com/202

  1. Jetpack Room - SQLite 데이터베이스를 위한 ORM(Object-Relational Mapping) 라이브러리
    SQL 쿼리를 쉽게 작성할 수 있게 해주며, 컴파일 시간에 SQL 검증을 제공
    Room을 이용하여 앱에 오프라인 캐싱 기능을 구현할 수 있음
    네트워크에서 받아온 데이터를 로컬 데이터베이스에 저장하고, 인터넷 연결이 끊겼을 때 이 데이터를 사용 할수 있게함

https://velog.io/@soyoung-dev/AndroidKotlin-ROOM-Database-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

  1. Ktor - Ktor는 코틀린으로 작성된 비동기 네트워크 애플리케이션 프레임워크

Ktor의 장점
코틀린 네이티브: 코틀린으로 작성되었기 때문에 코틀린의 모든 기능과 잘 통합됩니다.
비동기 처리: 코루틴을 기반으로 비동기 처리를 자연스럽게 지원합니다.
확장성: 다양한 기능과 미들웨어를 통해 사용자의 요구사항에 맞게 확장이 가능합니다.

Retrofit: Square의 JVM용 유형 안전 HTTP 클라이언트로, OkHttp를 기반으로 빌드됩니다. Retrofit을 사용하면 클라이언트 인터페이스를 선언적으로 만들 수 있으며 여러 직렬화 라이브러리를 지원합니다.
Ktor: JetBrains의 HTTP 클라이언트로, Kotlin 전용으로 빌드되었으며 코루틴을 기반으로 합니다. Ktor는 다양한 엔진, 직렬 변환기, 플랫폼을 지원합니다.
(Google 공식 문서)

https://medium.com/@ans188/ktor%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C-750dcc9f77f5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant