프론트&백엔드, API, SDK, 하이브리드 vs 네이티브 앱
안녕하세요?
신사동 마케터입니다.
오늘은 디지털 마케터를 위한 기초지식 정리 마지막편인 개발 지식에 대해서 이야기 해볼건데요. 디지털 마케팅을 하려면 몇 가지 기초적인 개발 지식이 필요합니다. 저는 애드테크 회사에 일할 때 처음 이런 내용들을 접했었는데 기초적인 개발 지식이 어느 정도 필요하다는 사실조차도 몰랐었던 것 같아요. 아마 초보 디지털 마케터라면 개발자들이 하는 말이 100% 시원하게 이해가 되지 않아 갑갑한 기분을 느끼실 텐데요. 기초 개발 지식 정복하고 일잘러 마케터가 돼보자고요!
1. 프런트 & 백 앤드 엔지니어
인터넷과 웹에 대한 이해 부분을 잘 읽어보셨다면 서버가 무엇인지 이미 이해하시고 계실 거예요. 우리 앱 사용자가 앱을 사용하면서 발생하는 여러 가지 요청사항들을 처리해주는 역할이 서버입니다. 접속자가 폭주해서 서버가 다운되었다는 말이 이제는 이해가 되시죠? 트래픽이 한꺼번에 몰렸을 때 평소보다 처리해야 하는 요청량이 많아지면서 서버가 과부하가 걸리는 거죠. 서버와 클라이언트 관계를 이해하고 있으면 개발자와 커뮤니케이션 하기도 수월해집니다. 개발자는 크게 2 종류의 엔지니어가 존재합니다.
감이 오시나요? 유저들이 직접 보는 앱 side를 구현하는 업무를 처리하는 개발자가 앞쪽에 위치한다 혹은 요청하는 쪽이다 라는 의미로 프런트 앤드 혹은 클라이언트(줄여서 클라라고 부르기도 함)라고 부르고요. 뒷 단에서 요청에 대한 처리를 해주고 DB에 어떻게 적재할지 등등을 처리해주는 개발자를 백앤드 혹은 서버 엔지니어라고 부릅니다.
마케터 Tip
요청사항이 클라이언트 사이드이냐 서버 사이드이냐에 따라서 컨택포인트를 구별할 수 있습니다. 이 부분은 앱 푸시 마케팅을 할 때도 중요한 개념입니다. 추후 별도의 글로 다루어 볼게요. �
https://www.youtube.com/watch?v=bnpJVGt5Cxk&feature=emb_imp_woyt
2. API
API는 서버와 클라이언트가 통신하는 규칙입니다. 예를 들어 비행기표를 검색하는 서비스를 제공한다고 가정해봅시다. 유저는 날짜, 목적지, 시간대, 요금 등등 비행기표를 요청하는 데 필요한 정보를 적어서 제출합니다. 클라이언트는 이 요청을 각 비행사 서버에 전달합니다. 서버는 요청받은 정보에 해당하는 값을 다시 응답해주면 유저는 검색 결과를 보게 됩니다.
이때 클라이언트가 어떤 식으로 정보를 요청하고 서버가 응답할 때 어떤 식으로 정보를 응답해줘야 하는 지를 정의한 규칙이 바로 API죠. 날짜는 “MMDDYY”, 요금은 “#,###. 00+Currency” 형태로 응답해줘 와 같은 규칙이요. 앱 서비스 업무를 하다 보면 API 연동을 해야 한다는 말을 정말 많이 듣게 되는데요. 이제 이 말을 들으면 “필요한 정보를 다른 서비스 주체로부터 응답받아오기 위해서 통신 규칙을 전달해야 한다는 의미구나”라고 이해하실 수 있으시겠죠?
레스토랑에 비유하여 API를 쉽게 설명한 글
3. APK
Android Application Package의 줄임말로 AOS 모바일에서 플레이스토어를 거치지 않고 앱을 다운로드할 수 있는 방법으로 많이 사용됩니다. 앱 서비스 회사라면 주기적으로 수정사항과 신규 프로덕을 업데이트해서 플레이스토어에 앱을 업로드하고 배포를 하는데요, 정식으로 앱을 업로드하기 전에 수정사항들이 모바일에서 정상적으로 동작하는지 확인하기 위한 내부 QA 용도로 사용되곤 합니다. APK 파일에 대한 좀 더 자세한 설명은 아래 유튜브를 참고해주세요.
http://youtube.com/watch?v=Hawj4WRxNSs&feature=emb_logo
4. SDK
Software Development Kit의 줄임말로 앱을 동작시키기 위한 각종 코드(Libraries)와 문서(Documentation), API가 정리되어 있는 파일입니다. 앱 서비스 관련 업무를 하다 보면 “저희 SDK 탑재해주셔야 해요”라는 말 들어보셨을 텐데요. 예를 들어 Facebook 광고를 활용하려면 Facebook에서 제공하는 Facebook SDK를 탑재해야 합니다. Facebook은 SDK를 통해서 광고주 앱 내 이벤트, 인스톨 이후 Action에 대해서 postback을 받아보고 유저 정보를 분석해 캠페인을 최적화합니다.
이렇게 다른 앱이 제공하는 서비스를 활용하기 위해 해당 앱의 SDK를 자사 앱에 탑재하려면 개발자의 도움을 받아야 합니다. SDK 탑재 이후 플레이스토어/ 앱스토어에 업로드하여 버전 업그레이드를 한 유저가 사용을 해야 비로소 기능을 사용할 수 있습니다. 즉, ‘다른 앱 SDK를 업데이트했다면 서비스를 활용하려면 시차가 있다!’라는 부분을 이해하고 계셔야 합니다. 아래 링크에서 Facebook SDK를 직접 보면 좀 더 이해하기 쉬우실 거에요.
https://developers.facebook.com/docs/android/
5. 앱의 종류
우리가 사용하는 앱은 겉보기에 모두 똑같은 앱처럼 보이지만 앱에는 크게 두 종류가 있습니다. 자사 앱이 어떤 종류의 앱인지 종류에 따라서 이슈가 생겼을 때 개발팀이 해결하는 방식이 달라지기 때문에 개발자와 커뮤니케이션을 하는데 앱의 종류에 대한 지식이 필요합니다.
1.하이브리드 앱
하이브리드 앱은 웹뷰를 앱으로 감싼 것으로 알맹이는 크롬과 같은 브라우저를 통해 보는 웹 화면과 동일한 것인데 이것을 앱 껍데기로 감싸서 만든 앱을 말합니다. 웹에 기반해 동작한다는 말은 브라우저에서 요청을 하면 서버에서 응답을 해주는 과정을 통해서 동작한다는 의미입니다. 하이브리드 앱은 기본적으로 웹이기 때문에 HTML, CSS, JS 지식만 있어도 개발이 가능합니다. 장점은 앱에 대한 지식이 없어도 개발이 가능하지만 유저와의 즉시적인 상호 작용이 필요한 게임 앱이나 빠른 로딩 속도가 필요한 앱인 경우에는 적합하지 않습니다.
2.네이티브 앱
네이티브 앱은 우리가 앱 스토어에서 앱을 다운로드한다고 했을 때 다운로드할 수 있는 가장 흔한 앱의 형태를 말합니다. iOS는 swift, android는 java혹은 kotlin이라는 언어를 사용해서 개발합니다. 네이티브 앱의 장점을 설명할 때 플랫폼에 종속되어 있다는 말을 사용하는데요, 하이브리드 앱처럼 서버와 통신을 주고받아서 작동하는 것이 아니라 특정 OS에 기반해서 OS 내에서 자체적으로 작동한다는 의미입니다.
플랫폼에서 제공하는 카메라, 위치정보, 연락처 등 OS에서 기본적으로 제공하는 유틸리티 기능들과 상호 교환이 쉽게 이루어진다는 장점이 있습니다. 예를 들어 어떤 앱을 다운로드하고 나서 카메라 접근 허용 여부를 물을 때가 있죠? 네이티브 앱은 OS에서 제공하는 API를 통해서 카메라에 접근하는 기능을 구현했기 때문입니다. 하지만 단점도 존재합니다. 플랫폼 별로 각각의 언어로 개발이 되어야 하기 때문에 플랫폼에 종속되고 2번 개발해야 하는 등 개발에 많은 리소스가 필요합니다.
Traversy Media - Mobile Apps- Web vs. Native vs. Hybrid
http://youtube.com/watch?v=ZikVtdopsfY&feature=emb_logo
6. 크롬 개발자 도구(단축키 F12)
개발 공부를 하다 보면 웹 페이지 코드를 확인해보고 싶어 지는데요. 이때 개발자의 도움 없이 간단하게 코드를 확인하기 유용한 도구가 바로 크롬 웹 개발자 도구입니다. 웹 페이지를 열어 둔 상태에서 F12를 누르면 Elements라는 탭에서 페이지의 코드를 확인할 수 있습니다. 또 Console에서는 직접 간단한 코드를 짜 보고 실행시켜 볼 수도 있습니다. 각 탭 별로 고유의 목적이 있으니 이런 내용을 공부해보는 것도 좋은 공부법이겠네요.
마케터 Tip
크롬 개발자 도구 화면에서 왼쪽 상단에 위치하는 ‘기기 모드’를 사용하면 페이지가 모바일 기기에서 어떻게 나타나고 작동하는지 시뮬레이션해볼 수 있습니다. 마케터는 모바일 광고가 기기별로 제대로 노출되는지, 이미지가 잘려 나오지는 않는지 등등을 간단하게 검토해볼 수 있습니다.
녹두장군 - 구글 크롬 개발자 도구 사용법 및 새창으로 띄우는 방법
https://mainia.tistory.com/2393
Google Chrome Developer Tools Crash Course
https://www.youtube.com/watch?v=x4q86IjJFag&feature=emb_logo
7. 애드테크 회사 블로그
애드테크 업계는 계속해서 수요자의 문제를 해결해 나가는 방향으로 진화하고 있습니다. 최근 광고 시장의 동향과 이슈에 대해서 지속적인 팔로업을 하려면 Player들이 현재 어떤 것에 관심을 두고 있고 어떤 상품을 업데이트 하는 지 살펴보는 것을 추천드립니다.
모바일 광고시장의 다양한 역할(어트리뷰선 툴, 애드네트워크, SSP&DSP 등등)을 단일 회사가 모두 가지고 있으면 Full stack을 구현했다고 하는데 igaworks가 그런 회사 중 하나이다. 그래서 그런지 블로그도 꽤나 잘 정리되어 있는 편이니 저장해 두고 시간 날 때마다 살펴보면 도움이 된다. Full stack인 만큼 어트리뷰션 툴도 갖추고 있는데 그래서 어트리뷰션 툴과 포스트백에 대한 지식도 잘 정리되어 있는 편이다. 참고로 igaworks에서 운영하는 어트리뷰션 툴은 adbrix입니다.
어트리뷰션 툴 중 하나인 Tune에서 운영하는 블로그입니다. 소비자 인앱 액티비티를 측정하기 위해 꼭 알아야 하는 개념들인 Tracking url과 Postback 구조에 대해 상세하게 설명하고 있습니다.
https://blog.naver.com/tunekorea
8. 정보 검색 Tip
구글링으로 영어로 검색을 하면 좀 더 딥하고 상세한 정보를 얻을 수 있어요. 주로 미국 모바일 광고 시장에서 먼저 시작되고 한국은 2~3년 정도 뒤에 트렌드가 반영되는 감이 있어요. Youtube에서 영어로 검색하면 한국어로 검색할 때는 잘 나오지 않는 양질의 정보들이 많으니 검색할때는 꼮!! 영어로 검색하는 습관을 들여보세요.
지금까지 총 3편에 걸쳐서 디지털 마케터가 알아야 할 기초지식에 대해서 살펴봤는데요. 디지털 마케팅의 세계는 무궁무진하고 아직 진화하고 있는 시장인 만큼 공부해야 할 내용도 계속해서 생기는 것 같습니다. 마케터에게 도움 될 만한 지식들을 지속적으로 업로드 할 예정이니 많이 기대해주세요.
오늘도 행복하세요~!