[Android App] Intro : 앱 개발

z00m__in·2021년 8월 3일
0

1. 앱 개발이란?

1) 의사소통

  • 실제 실무에서의 면접 포인트
  • 시간 단축을 통한 효율적인 일처리 가능
  • 업무 차이에서 비롯한 어려운 용어 사용, 관점 차이 등의 문제 발생 가능
  • 어려운 용어 관점 차이

2) 필요인력

i. 기획자

: 원하는 '제품' 또는 '기능'을 기획하는 인력

ii. 디자이너

: 제품 또는 기능을 눈에 보이게 만드는 인력

iii. 개발자

: 제품 또는 기능을 실제로 사용할 수 있게 만드는 인력

3) 개발자

i. 서버 개발자 (백엔드)

  • 사용자 간의 의사소통을 목적으로 개발
  • 정보를 가상 클라우드에 저장하기 위해서 개발

ex) 영상물 이어보기, 모바일과 pc에서 같은 채팅 이어 하기, 사용자 간의 커뮤니케이션 등

ii. 클라이언트 개발자 (프론트엔드)

  • GUI를 만드는 개발자 (Graphic User Interface)
    : 그래픽 요소가 있는 모든 것들 - 특히, 사용자의 input에 대해 반응할 때
  • TYPE )) 안드로이드 / IOS / 웹 / 통합개발자 (안드로이드 + IOS)
  • 백엔드 개발자와의 의사소통 많음

iii. 게임 개발자

: 다른 분야와 구별됨

iv. 머신 러닝 개발자

: 영상 추천하는 알고리즘 등

v. 임베디드 개발자

: 소형 전자기기에 들어가는 SW 개발

vi. 보안 개발자

: 사용자의 정보를 지키는 보안 관련

2. 앱 개발 프로세스

1) 다양한 인풋

: 개발의 원인 및 목표 단계

2) 기획

: 기능 추가, 제거, 수정 단계

3) 디자인

: 화면 디자인

4) 개발(서버)

: 클라이언트와의 의사소통 방식 등이 고려되어야 하므로 일반적으로 서버 먼저 구축

5) 개발(클라이언트)

:

6) 검수

7) 개발

8) 배포

개발 프로세스 방식

  • 워터폴(Waterfall) : 한 번의 프로세스
  • 애자일(Agile) : 짧은 cycle으로의 여러번의 프로세스 (흐름 변화에 민첩히 대응 가능)

3. 개발자의 용어

1) 클라이언트, 프론트엔드

i. GUI

: 그래픽으로 user와 의사소통하는 것

ii. 안드로이드

iii. iOS

iv. 웹

2) 서버, 백엔드

요청에 맞는 대답을 해주는 것

i. AWS

  • 아마존이 제공하는 서비스
  • 클라우딩 컴퓨터를 제공
  • 컴퓨팅 성능을 빌려주는 업체

ii. Azure

  • 클라우딩 컴퓨터를 제공
  • 컴퓨팅 성능을 빌려주는 업체

3) 개발언어

i. C언어

ii. 안드로이드 -> 자바, 코틀린

iii. iOS -> Swift

iv. 서버 -> 파이썬, 자바스크립트 등

4) 소스코드

i. Git 깃

: 버전에 따라 다른 소스코드를 관리해주는 툴

ii. Github, Gitlab

: Git을 원격 저장소에 저장해주는 것 (소스코드원격저장소)

5) 운영체제

: HW와 SW의 의사소통하는 매개체

i. Unix, 우분투

ii. 안드로이드

iii. iOS

iv. 윈도우

6) 데이터

i. 데이터 베이스

: 데이터를 저장한 곳

ii. MySQL, PostgreSQL, Oracle

: 데이터베이스를 사용자가 사용하기 쉽게 개조해 판매하는 방식

iii. 빅데이터

: 데이터가 많은 걸 통칭 (몇십, 몇조)

7) 개발관련용어

i. 프레임워크

: Android Studio 같은 것

ii. Library

iii. 디버깅

iv. 레거시

: 작성한 지 오래된 소스코드

v. TDD(Test Driven Development)

: 테스트 먼저 하고 개발하는 것

8) 안드로이드 용어

i. Activity

: 모든 화면

ii. Dialog

: 팝업같이 올라오는 화면

iii. 애뮬레이터

: 가상의 핸드폰 (점검용)

iv. 안드로이드 스튜디오

9) 웹 관련 용어

i. http, https

ii. 트래픽

: 클라이언트로부터 요청받는 횟수

iii. html

iv. css

v. bootstrap

: css의 테마같은 것

vi. 반응형 (RWD: Responsive Web Design)

: 사용자의 화면크기에 반응

profile
우당탕탕 기록지

0개의 댓글