사외위탁연수 보고서

MVVM

목차 및 교육내용

1. 기초 Modern Collection View 사용법

  • Compositional Layout을 활용한 레이아웃 구현과 Diffale Datasource를 활용한 데이터와 셀 구현을 통한 기초적 사용 원리 학습
  • SnapKit과 Kingfisher를 활용

2. 기초 Modern Collection View 실습

  • 레이아웃을 기초와 심화

3. MVVM + Network 구현

  • SPM를 활용한 라이브러리 세팅
  • RxSwift를 활용한 MVVM 패턴(Input-Output)과 네트워크를 구현
  • 오픈 API를 사용한 직접 네트워킹 구현

4. Modern Collection View 심화

  • 구현된 MVVM 프로젝트에 Modern Collection View 적용
  • 다양한 레이아웃을 동적으로 구현

 

현업적용방안

이 교육을 통해 습득한 Modern Collection View 및 MVVM 패턴의 기술은 실무에서 다양한 UI 요구사항을 높은 효율로 해결할 수 있으리라 기대됩니다. 기본적인 레이아웃부터 응용 단계까지의 구현 실습을 통해 현업에서 발생하는 다양한 UI 구현 상황에 대응할 수 있는 역량을 기를 수 있었습니다. MVVM 패턴과 라이브러리 활용을 통해 개발 생산성을 향상시키고, 오픈 API를 활용한 네트워킹 구현은 실무에도 도움이 될 것으로 예상합니다.

 

교육후기 및 제안사항

어느정도 개발에 능숙하지만 iOS, Swift가 처음인 개발자들이 듣기에 적합한 난이도라고 생각됩니다. 많은 것이 생략되고 축약된 강의이지만, 천천히 실습을 따라해보고 이해하려고 노력한다면 전체적인 그림을 개략적으로 파악하기에 괜찮은 강의라고 생각됩니다. 1년차 정도에 다시 보게되면 더 보이는 것이 많아질 것입니다.

 

 

아키텍쳐 패턴

섹션 1 - 아키텍처 패턴

  • 관심사의 분리
  • 아키텍처, 패턴, 아키텍처 패턴
  • PDS(Presentation Domain Separation)
  • GUI 아키텍처와 시스템 아키텍처

섹션 2 - MVC

  • 1970년대의 UI 개발 환경
  • 유저의 멘탈 모델
  • 다양한 MVC의 형태들
  • MVC에 대한 비판

섹션 3 - MVP

  • 개발환경의 변화
  • Taligent
  • Flow Synchronization과 Observer Synchronization
  • Supervising Controller
  • Passive View

섹션 4 - MVVM

  • 프레젠테이션 모델과 WPF의 MVVM
  • iOS의 MVVM
  • RxCocoa와 데이터 바인딩
  • MVVM 템플릿

 

현업적용방안

강의는 이론적인 내용으로 실무에 곧바로 적용하기는 어렵겠으나 네트워크 구조나 UI와 데이터를 분리하는 등 코드 작성 구조에 대해 고민할 때 지침이 되어줄 수 있을 듯 함. 개발자라면 누구나 한 번 쯤 들어본 개념이지만 명쾌하게 설명하기 어려운 이론을 잘 풀어 설명하여 소프트웨어 개발 방법론을 스스로 정리하는데 도움이 됨.

 

교육후기 및 제안사항

디자인패턴이라는 자주 사용되지만 정의하기 모호한 개념을 잘 풀어 설명함. 이론적인 내용이 대부분으로 실무에 바로 적용하기엔 무리가 있지만, 평소 디자인패턴에 대해 고민해왔다면 짧은 시간에 개념을 정리하는데 도움이 될 것으로 판단됨. 주로 사용되는 디자인패턴에 대한 실습이 있었다면 더 좋았을 듯 함.