반응형
※ 아직 모르는 것이 많아서 정리 중입니다.
잘못된 부분이 있다면 댓글로 알려주세요.
※ 공부를 통해서 내용이 수정될 수 있습니다.
Framework (프레임워크)
- 'FRAME 프레임(틀, 규칙or법칙)'+'WORK 워크(일, 소프트웨어의 목적)’
- (내가 생각한 한 문장) 프레임워크란?
- 프레임워크 = 글(Code)을 쓰기 위한 양식
- 소프트웨어를 만들기 위한 규칙들이 모여져 있어서 양식이라고 생각한다.
- 양식이라는 큰 틀을 벗어나면 안되고 목적에 맞게 여러개의 양식들이 있다.
- 양식안에 글을 쓰기 위해서는 양식의 규칙이 있다. 그 안에 맞춰서 써야한다.
- 어떤 프로그램을 만들기 위한 기본 틀
- 복잡한 문제를 해결하거나 서술하는데 사용하는 기본 개념 구조
- Frame(규칙) 안에 있는 다양한 기능 제공
Library (라이브러리)
- 재사용이 가능한 필요기능으로 언제든지 필요한 곳에 호출하여 사용할 수 있도록 Class나 Function으로 만들어진 것
- 필요한 기능들이 모여있는 코드의 묶음
- (내가 생각한 한 문장) 라이브러리란?
- 라이브러리 = 글(Code)를 쓸 때의 구성 형식의 인용
- 서론-본론-결론, 기-승-전-결 같이 구성에 형식이 있다.
- 어떤 글을 쓰냐에 따라 다르지만 이 형식은 사용을 해도 되고 안해도 된다.
- 필요에 따라서 잘 만들어진 글의 형식에서 단어, 문장을 바꿔 사용하는 것 같이 느껴졋다.
- 활용할 수 있는 도구들의 집합
- 사용 여부는 코드 작성자 선택 사항.
- 새로운 라이브러리 제작 시에도 엄격한 규칙이 존재하지 않음
Framework (프레임워크) & Library (라이브러리) 비교
- 가장 큰 차이점은 "시스템 흐름"을 누가 가지고 있는가.
- 프레임워크 : 시스템 흐름 프레임워크가 제어
- 라이브러리 : 시스템 흐름 개발자가 제어
Framework (프레임워크) 특징
- 장점
- 효율적
- zero에서 시작 보다 시간적 비용적 절약이 된다.
- 생산성이 좋아진다. 개발 속도가 향상 된다.
- 코드의 재사용성이 높고 확장성이 좋다.
- 새로운 이슈나 기능이 업데이트를 통해 사용할 수 잇다.
- 품질 향상
- 프레임워크에서 제공하는 검증된 코드들을 사용한다.
- 다수의 개발자가 사용하면서 수정을 반복했다.
- 개발자가 실수하기 쉬운 부분도 커버를 해준다.
- 오료가 적은 결과물을 얻을 수 있다.
- 업데이트된 기능을 사용하여 품질을 올릴 수 있다.
- 유지보수성이 좋다
- 가이드가 있어서 체계적으로 관리할 수 있다.
- 체계적이라는 것은 기본 구조를 담당자가 바뀌어도 확인하기 쉽다는 것이다.
- 효율적
- 단점
- 학습 시간
- 본인이 짠 것이 아니기 때문에 학습이 필요하다.
- 그 안에 잇는 코드를 습득하고 이해하는데 시간이 오래 걸린다.
- 제약 사항
- 프레임워크 특징상 설계자가 설계한 구조가 있다.
- 개발자는 자유롭고 유연하게 개발하는데 한계가 있다.
- 프로젝트 크기
- 많은 코드를 작성하여 구축이 된 것이 프레임워크다.
- 로딩시간이 길어지고, 성능이 저하될 수 잇다.
- 프로젝트 완성시 크기가 크다.
- 학습 시간
Framework (프레임워크) 종류
- JAVA
- Spring
- Grails
- Play
- GWT, 자바서버페이스, 스트럿츠, Vert.x 등
- Python
- Djnago
- Flask
- PHP7
- Laravel
- Symfony
- C#
- .NET
- ASP.NET
- Go
- Ruby
- Rubt on rails
- Sinatra
- Node.js
- Express.js
반응형
'Software 공부 > Software Web Knowledge' 카테고리의 다른 글
[Software][Knowledge] Django (장고) (1) | 2023.01.05 |
---|---|
[Software][Knowledge] DB, DBMS, Table, SQL (0) | 2023.01.05 |
[Software][Knowledge] shell, 인터프리터 언어, 컴파일 언어, Django Shell 사용하기 (0) | 2023.01.05 |
[Software][Knowledge] 웹 (0) | 2023.01.05 |
0. 개발자 준비 (0) | 2022.03.20 |