📖 책 도서

IT도서 : 비전공자를 위한 이해할 수 있는 IT지식 - [8장] 프레임워크와 라이브러리 / [9장] 협업, 소스관리, 디자인

핑크빛연어 2022. 2. 27. 18:36

 

8장] 프레임워크와 라이브러리

 

 

🚨 프레임워크 

• iOS 애플리케이션을 만든다고 생각하면 개발자는 버튼부터 한 땀 한 땀 코딩하지 않는다
  -> 버튼은 이미 애플이 만들어놓음
• 이렇게 만들어놓은 코드를 개발자가 사용
• 프레임워크는 개발자에겐 '사전' 과 같은 개념이다
• 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합
 작업(work)의 구조(frame)가 정해져 있는 라이브러리 (Frame+work)

- 애플에서 제공해주는 프레임워크인 코코아(UIkit, AppKit 등)를 사용하면 
  애플의 애플리케이션을 더 쉽고 빠르게 만들 수 있다
- 자바 혹은 코틀린 언어를 사용하는 안드로이드 또한 안드로이드 프레임워크를 사용하면 
  안드로이드에 올라가는 애플리케이션을 쉽게 만들 수 있다

ex) 애플(Apple)의 프레임워크
• AppKit : 맥 OS 에 올라가는 애플리케이션을 개발하기 위한 프레임워크
 UIkit : iOS 혹은 tvOS 에 올라가는 애플리케이션을 개발하기 위한 프레임워크
=> 애플의 프레임워크들을 통칭해서 코코아(Cocoa) 프레임워크라고 부른다  

 

모바일 / 웹 / 서버  프레임워크

구분 프로그래밍 언어 프레임워크, 라이브러리
애플(Apple) Swift, Objective-C Cocoa(UIKit, AppKit...)
구글(Google) Java, Kotlin Android Framework

( 웹은 특정회사의 소유가
아니기 때문에 프레임워크는
여러 사람들/기업들이 제작 )
JavaScript Angular.js
React.js
Vue.js
서버
( 서버도 특정 회사의 소유가 아니므로
 다양한 프레임워크가 존재 )
자바 스프링(Spring) 프레임워크
파이썬 장고(Django) 프레임워크
루비(Ruby) 레일스(Rails) 프레임워크

 

 

🚨 라이브러리

• 프로그래밍에서의 라이브러리란 필요한 기능들이 모여있는 코드의 묶음
• 다른 사람들이 만들어놓은 코드를 이용한다는 측면에서 프레임워크와 같다
• 프레임워크가 더 큰 개념
• 각종 라이브러리와 코드들이 모여 프레임워크가 된다
• 한 프로젝트에서 프레임워크는 하나만 쓸 수 있지만, 라이브러리는 함께 사용 가능
• 사용 전 설명을 확인해야 한다 - 무료인지, 사용료를 받는 지 등등

 

 


 

9장] 협업, 소스관리, 디자인

 

 

🚨 소스 관리 - 깃 (Git)

• 리눅스 개발자 '리누스 토발즈' 가 개발한 프로그램
• 커밋(Commit) : 깃(Git) 을 통해 개발자들은 개발 단계별로 '깃발'을 꽂을 수 있다
• 커밋로그 : 커밋 시 작성하는 메모

 

브랜치(Branch)

• 가지, 분기 라는 뜻으로, 새로운 가지를 뻗는 것
• 한창 개발을 하고 있는데, 새로운 방향의 개발을 추가해야 할 때, 
  개발자는 기존 개발에 이어서(덮어씌어) 작업하지 않고, 새롭게 가지를 쳐서(브랜치) 작업할 수 있다 
 -> 기존 브랜치에 커밋을 하는 것이 새로운 브랜치에 영향을 주지 않고, 
    마찬가지로 새로운 브랜치에 커밋을 하는 것이 기존 브랜치에 영향을 주지 않는다

 

머지(Merge)

• 브랜치에서 각각 작업한 코드들을 합치는 작업(작업된 부분이 겹치지 않으면 자연스럽게 합쳐준다)
• 겹치는 부분이 있다면 깃(Git) 은 충돌(Conflict) 을 알려주고 어떤 부분이 충돌됐는지 보여줌

 

원격저장소

 깃(Git) 을 기반으로 한 깃허브(GitHub) 비트버킷(Bitbucket) 와 같은 저장소

 

 

🚨 개발자와 디자이너의 협업

스케치, 재플린, XD 등 디자이너의 작업 결과물을 수치로 보여주는 프로그램을 이용해서 디자이너가 가이드를 작업해주고 그 가이드대로 개발자가 작업을 한다. 가이드를 이용해서 디자이너와 개발자의 접점을 줄여 갈등을 관리할 수 있지만,
개발자와 디자이너는 서로의 분야에 대한 계속적인 공부와 배려가 필요하다.
개발자는 계속 UI 에 관심을 가져야한다.
개발자는 프레임워크와 라이브러리를 제공해 주는 기능을 활용하기 때문에
디자이너는 프레임워크에서 제공하는 가이드 문서를 어느 정도 숙지하고 있어야 한다.
애플은 HIG(Human Interface Guideline)를 제공하여 애플의 기기 방침을 제공하고 ,
구글은 Material Design 이라는 가이드를 제공하고 있다.
이런 각 프레임워크의 가이드를 숙지하고 있어야 한다.

 

 

감사합니당 (●'◡'●)

728x90
반응형