IOS application/Networking

0. Networking

개발자킹콩 2021. 4. 10. 16:28

네트워킹

           넷플릭스                                         애플뮤직                                        페이스북

 

 

 


 

 

언제 네트워킹이 필요할까??

 

 

컨텐츠의 경우에는 암호화와 워터마킹이 된 영상이 내려온다.

그래서 영상유출시 누가 했는지 다 알 수 있다. 

 

 

 

 

 


 

이런 앱들이 Networking이 안된다면?

이 앱 모두 정상작동을 하지 못한다.

데이터의 전달이 되지 않으면 안되니깐!!

 

 

 

 

 

Networking + IOS

우리는 IOS에서 Networking 작업을 어떻게 할 수 있을까? —> URLSession

IOS에서는 URLSession class를 통해서 네트워크 작업을 할 수 있다.

 

 

 

 

 


 

 

 

이론

네트워킹이라는 작업은 상당히 느린 작업이다. 

네트워크보다 빠른 작업은 메모리 접근, 디스크 파일 읽기 등. 이것보다 네트워킹은 상당히 느린 작업이다.

앱에서는 앱의 반응성이 상당히 중요하다. 반응이 느리면 앱 사용자의 불만은 증가한다.

사용자를 빡치게 만드는 현상 뒤에는 어떤 원인이 있었을까? —> 동시성 Concurrency

동시성을 제공해 주지 않아서다. 

—> 컴퓨터는 네트워킹이 되는 동안에도 사용자 인터렉션이 되어서 즉각적인 반응을 주어야하는데 그렇지 못한 경우가 발생한 것이다.

 

 

 

어떻게 이 동시성을 만들어 줄 것인가?

IOS에서는 이러한 동시성을 만들어 주기 위해서 제공해 주는 API들이 있는데 이는 다음 두가지다.

  1. GCD
  2. Operations

우리는 GCD를 이용해서 어떻게 동시성이 필요한 작업들을 안전하게 수행할지에 대해서 알아볼 것이다. 

 

 

 

 

앞으로 배울 것

  1. Concurrency
  2. GCD: Concurrency를 구현하기 위한 것
  3. HTTP: HTTP를 통해 네트워킹에 필요한 기초지식을 배울 예정이다.
  4. URLSession: 실제 IOS에서 네트워킹을 하기 위한 쿨랴수